Note:

You are viewing the documentation for an older major version of the AWS CLI (version 1). To view this page for the AWS CLI version 2, click here.

We announced the upcoming end-of-support for the AWS CLI v1. For dates, additional details, and information on how to migrate, please refer to the linked announcement. For more information see the AWS CLI version 2 installation instructions and migration guide.

[ aws . application-signals ]

create-instrumentation-configuration

Description

Creates a dynamic instrumentation configuration for a specific code or endpoint location within a service and environment. Configurations are immutable after creation.

For BREAKPOINT type configurations, they expire after 24 hours unless a shorter expiration is provided. For PROBE type configurations, they persist until explicitly deleted; an expiration cannot be set for PROBE configurations.

If a configuration already exists for the same service, environment, signal type, and location, this operation returns a conflict instead of overwriting it. Use attribute filters and capture settings to control where the instrumentation runs and which data is collected.

See also: AWS API Documentation

Synopsis

  create-instrumentation-configuration
--instrumentation-type <value>
--service <value>
--environment <value>
--signal-type <value>
--location <value>
[--description <value>]
[--expires-at <value>]
[--attribute-filters <value>]
--capture-configuration <value>
[--tags <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--v2-debug]

Options

--instrumentation-type (string)

Type of instrumentation: BREAKPOINT (temporary) or PROBE (permanent)

Possible values:

  • BREAKPOINT
  • PROBE

--service (string)

The name of the service to instrument. This should match the service.name resource attribute reported by the application.

--environment (string)

The environment that the service is running in, such as eks:cluster-prod/namespace or ec2:production .

--signal-type (string)

The telemetry signal type to emit for this instrumentation. The supported value is SNAPSHOT .

Possible values:

  • SNAPSHOT

--location (tagged union structure)

The location where instrumentation should be applied. Specify a CodeLocation for code-level instrumentation.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: CodeLocation.

CodeLocation -> (structure)

A code location for code-level instrumentation, including language, code unit, class, method, file path, and optional line number.

Language -> (string)

The programming language for this instrumentation point, such as Java, Python, or JavaScript.

CodeUnit -> (string)

The package, module, or namespace that contains the target code, for example com.amazon.payment or payment_service .

ClassName -> (string)

The class or type name that contains the method. This is required for Java and optional for Python module-level functions.

MethodName -> (string)

The method or function name to instrument, such as validateCreditCard or __init__ .

FilePath -> (string)

The source file path relative to the project or source root, such as src/payment/PaymentProcessor.java or src/payment/PaymentProcessor.py .

LineNumber -> (integer)

The line number to instrument. Provide this to disambiguate overloaded methods and to target a specific line when needed.

Shorthand Syntax:

CodeLocation={Language=string,CodeUnit=string,ClassName=string,MethodName=string,FilePath=string,LineNumber=integer}

JSON Syntax:

{
  "CodeLocation": {
    "Language": "Java"|"Python"|"Javascript",
    "CodeUnit": "string",
    "ClassName": "string",
    "MethodName": "string",
    "FilePath": "string",
    "LineNumber": integer
  }
}

--description (string)

An optional short description (up to 50 characters) that explains the purpose of this instrumentation.

--expires-at (timestamp)

For BREAKPOINT: optional, defaults to 24 hours, must be between 5 min and 24 hours. For PROBE: not supported. PROBE configurations are permanent and persist until explicitly deleted.

--attribute-filters (list)

Client-side filters that target specific instances. Each object in the array is AND-matched on its keys, and multiple objects are OR-matched to decide where to apply the instrumentation.

(map)

A string-to-string map of OpenTelemetry resource attributes and values that must all match for the instrumentation to run on an instance.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string ...

JSON Syntax:

[
  {"string": "string"
    ...}
  ...
]

--capture-configuration (tagged union structure)

Specifies what to capture when the instrumentation point is hit. Specify CodeCapture for code-level capture settings.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: CodeCapture.

CodeCapture -> (structure)

Capture settings for code-level instrumentation, including arguments, return values, stack traces, local variables, and safety limits.

CaptureArguments -> (list)

The function arguments to capture. Omit to capture defaults, use an empty list to capture none, use ["*"] to capture all arguments, or specify argument names to capture selectively (up to 10 entries).

(string)

CaptureReturn -> (boolean)

Whether to capture the return value. Defaults to false.

CaptureStackTrace -> (boolean)

Whether to capture a stack trace when the instrumentation point is hit. Defaults to true.

CaptureLocals -> (list)

The local variables to capture by name. Omit or pass an empty list to capture none. You can specify up to 20 names.

(string)

CaptureLimits -> (structure)

Safety limits that bound what is captured, including hit counts, string length, collection depth, and stack trace size.

MaxHits -> (integer)

The maximum number of times the instrumentation point can be hit before it is automatically disabled. Defaults to 100.

MaxStringLength -> (integer)

The maximum length of captured string values in characters. Strings longer than this are truncated. Defaults to 128.

MaxCollectionWidth -> (integer)

The maximum number of items to capture from any collection to prevent large payloads. Defaults to 10.

MaxCollectionDepth -> (integer)

The maximum nesting depth to traverse inside collections. Defaults to 3.

MaxStackFrames -> (integer)

The maximum number of stack frames to capture in stack traces. Defaults to 2.

MaxStackTraceSize -> (integer)

The maximum total size, in bytes, of a captured stack trace. Defaults to 1000.

MaxObjectDepth -> (integer)

The maximum depth for nested object traversal when capturing structured data. Defaults to 3.

MaxFieldsPerObject -> (integer)

The maximum number of fields to capture for any object. Defaults to 10.

Shorthand Syntax:

CodeCapture={CaptureArguments=[string,string],CaptureReturn=boolean,CaptureStackTrace=boolean,CaptureLocals=[string,string],CaptureLimits={MaxHits=integer,MaxStringLength=integer,MaxCollectionWidth=integer,MaxCollectionDepth=integer,MaxStackFrames=integer,MaxStackTraceSize=integer,MaxObjectDepth=integer,MaxFieldsPerObject=integer}}

JSON Syntax:

{
  "CodeCapture": {
    "CaptureArguments": ["string", ...],
    "CaptureReturn": true|false,
    "CaptureStackTrace": true|false,
    "CaptureLocals": ["string", ...],
    "CaptureLimits": {
      "MaxHits": integer,
      "MaxStringLength": integer,
      "MaxCollectionWidth": integer,
      "MaxCollectionDepth": integer,
      "MaxStackFrames": integer,
      "MaxStackTraceSize": integer,
      "MaxObjectDepth": integer,
      "MaxFieldsPerObject": integer
    }
  }
}

--tags (list)

An optional list of key-value pairs to associate with the instrumentation configuration. Tags can help you organize and categorize your resources.

(structure)

A key-value pair associated with a resource. Tags can help you organize and categorize your resources.

Key -> (string)

A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

Value -> (string)

The value for the specified tag key.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command’s default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

--output (string)

The formatting style for command output.

  • json
  • text
  • table

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

--v2-debug (boolean)

Enable AWS CLI v2 migration assistance. Prints warnings if the command would face a breaking change after swapping AWS CLI v1 for AWS CLI v2 in the current environment. Prints one warning for each breaking change detected.

Output

InstrumentationType -> (string)

The type of instrumentation that was created, echoed from the request.

Service -> (string)

The service name for the instrumentation configuration, echoed from the request.

Environment -> (string)

The environment for the instrumentation configuration, echoed from the request.

SignalType -> (string)

The telemetry signal type for the instrumentation configuration, echoed from the request.

Location -> (tagged union structure)

The location where instrumentation is applied, echoed from the request.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: CodeLocation.

CodeLocation -> (structure)

A code location for code-level instrumentation, including language, code unit, class, method, file path, and optional line number.

Language -> (string)

The programming language for this instrumentation point, such as Java, Python, or JavaScript.

CodeUnit -> (string)

The package, module, or namespace that contains the target code, for example com.amazon.payment or payment_service .

ClassName -> (string)

The class or type name that contains the method. This is required for Java and optional for Python module-level functions.

MethodName -> (string)

The method or function name to instrument, such as validateCreditCard or __init__ .

FilePath -> (string)

The source file path relative to the project or source root, such as src/payment/PaymentProcessor.java or src/payment/PaymentProcessor.py .

LineNumber -> (integer)

The line number to instrument. Provide this to disambiguate overloaded methods and to target a specific line when needed.

LocationHash -> (string)

A stable hash computed from the location that uniquely identifies this instrumentation point within the service, environment, and signal type.

Description -> (string)

The optional description that was stored with the instrumentation configuration.

ExpiresAt -> (timestamp)

The timestamp after which this configuration is no longer served to clients. Present only for BREAKPOINT configurations; PROBE configurations do not expire.

AttributeFilters -> (list)

The attribute filters returned with the configuration so SDKs can perform client-side targeting.

(map)

A string-to-string map of OpenTelemetry resource attributes and values that must all match for the instrumentation to run on an instance.

key -> (string)

value -> (string)

CaptureConfiguration -> (tagged union structure)

The capture settings that were stored for this instrumentation configuration.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: CodeCapture.

CodeCapture -> (structure)

Capture settings for code-level instrumentation, including arguments, return values, stack traces, local variables, and safety limits.

CaptureArguments -> (list)

The function arguments to capture. Omit to capture defaults, use an empty list to capture none, use ["*"] to capture all arguments, or specify argument names to capture selectively (up to 10 entries).

(string)

CaptureReturn -> (boolean)

Whether to capture the return value. Defaults to false.

CaptureStackTrace -> (boolean)

Whether to capture a stack trace when the instrumentation point is hit. Defaults to true.

CaptureLocals -> (list)

The local variables to capture by name. Omit or pass an empty list to capture none. You can specify up to 20 names.

(string)

CaptureLimits -> (structure)

Safety limits that bound what is captured, including hit counts, string length, collection depth, and stack trace size.

MaxHits -> (integer)

The maximum number of times the instrumentation point can be hit before it is automatically disabled. Defaults to 100.

MaxStringLength -> (integer)

The maximum length of captured string values in characters. Strings longer than this are truncated. Defaults to 128.

MaxCollectionWidth -> (integer)

The maximum number of items to capture from any collection to prevent large payloads. Defaults to 10.

MaxCollectionDepth -> (integer)

The maximum nesting depth to traverse inside collections. Defaults to 3.

MaxStackFrames -> (integer)

The maximum number of stack frames to capture in stack traces. Defaults to 2.

MaxStackTraceSize -> (integer)

The maximum total size, in bytes, of a captured stack trace. Defaults to 1000.

MaxObjectDepth -> (integer)

The maximum depth for nested object traversal when capturing structured data. Defaults to 3.

MaxFieldsPerObject -> (integer)

The maximum number of fields to capture for any object. Defaults to 10.

CreatedAt -> (timestamp)

The server-generated creation timestamp for this instrumentation configuration.

ARN -> (string)

ARN for the created instrumentation configuration