CreateInstrumentationConfiguration
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.
Request Syntax
POST /create-instrumentation-configuration HTTP/1.1
Content-type: application/json
{
"AttributeFilters": [
{
"string" : "string"
}
],
"CaptureConfiguration": { ... },
"Description": "string",
"Environment": "string",
"ExpiresAt": number,
"InstrumentationType": "string",
"Location": { ... },
"Service": "string",
"SignalType": "string",
"Tags": [
{
"Key": "string",
"Value": "string"
}
]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- AttributeFilters
-
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.
Type: Array of string to string maps
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Key Length Constraints: Minimum length of 1. Maximum length of 50.
Value Length Constraints: Minimum length of 1. Maximum length of 100.
Required: No
- CaptureConfiguration
-
Specifies what to capture when the instrumentation point is hit. Specify
CodeCapturefor code-level capture settings.Type: CaptureConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
- Description
-
An optional short description (up to 50 characters) that explains the purpose of this instrumentation.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 50.
Required: No
- Environment
-
The environment that the service is running in, such as
eks:cluster-prod/namespaceorec2:production.Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[A-Za-z0-9:/+=,.@_-]+Required: Yes
- ExpiresAt
-
For
BREAKPOINT: optional, defaults to 24 hours, and must be between 5 minutes and 24 hours. ForPROBE: not supported.PROBEconfigurations are permanent and persist until explicitly deleted.Type: Timestamp
Required: No
- InstrumentationType
-
The type of instrumentation:
BREAKPOINT(temporary) orPROBE(permanent).Type: String
Valid Values:
BREAKPOINT | PROBERequired: Yes
- Location
-
The location where instrumentation should be applied. Specify a
CodeLocationfor code-level instrumentation.Type: Location object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
- Service
-
The name of the service to instrument. This should match the
service.nameresource attribute reported by the application.Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[A-Za-z0-9:/+=,.@_-]+Required: Yes
- SignalType
-
The telemetry signal type to emit for this instrumentation. The supported value is
SNAPSHOT.Type: String
Valid Values:
SNAPSHOTRequired: Yes
- Tags
-
An optional list of key-value pairs to associate with the instrumentation configuration. Tags can help you organize and categorize your resources.
Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 200 items.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"ARN": "string",
"AttributeFilters": [
{
"string" : "string"
}
],
"CaptureConfiguration": { ... },
"CreatedAt": number,
"Description": "string",
"Environment": "string",
"ExpiresAt": number,
"InstrumentationType": "string",
"Location": { ... },
"LocationHash": "string",
"Service": "string",
"SignalType": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ARN
-
The ARN of the created instrumentation configuration.
Type: String
Pattern:
arn:[^:]+:application-signals:[^:]+:[0-9]{12}:instrumentationConfig/.+/[0-9a-f]{16} - AttributeFilters
-
The attribute filters returned with the configuration so SDKs can perform client-side targeting.
Type: Array of string to string maps
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Key Length Constraints: Minimum length of 1. Maximum length of 50.
Value Length Constraints: Minimum length of 1. Maximum length of 100.
- CaptureConfiguration
-
The capture settings that were stored for this instrumentation configuration.
Type: CaptureConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
- CreatedAt
-
The server-generated creation timestamp for this instrumentation configuration.
Type: Timestamp
- Description
-
The optional description that was stored with the instrumentation configuration.
Type: String
- Environment
-
The environment for the instrumentation configuration, echoed from the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
- ExpiresAt
-
The timestamp after which this configuration is no longer served to clients. Present only for
BREAKPOINTconfigurations;PROBEconfigurations do not expire.Type: Timestamp
- InstrumentationType
-
The type of instrumentation that was created, echoed from the request.
Type: String
Valid Values:
BREAKPOINT | PROBE - Location
-
The location where instrumentation is applied, echoed from the request.
Type: Location object
Note: This object is a Union. Only one member of this object can be specified or returned.
- LocationHash
-
A stable hash computed from the location that uniquely identifies this instrumentation point within the service, environment, and signal type.
Type: String
Length Constraints: Fixed length of 16.
- Service
-
The service name for the instrumentation configuration, echoed from the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
- SignalType
-
The telemetry signal type for the instrumentation configuration, echoed from the request.
Type: String
Valid Values:
SNAPSHOT
Errors
For information about the errors that are common to all actions, see Common Error Types.
- ConflictException
-
This operation attempted to create a resource that already exists.
HTTP Status Code: 409
- ServiceQuotaExceededException
-
This request exceeds a service quota.
HTTP Status Code: 402
- ThrottlingException
-
The request was throttled because of quota limits.
HTTP Status Code: 429
- ValidationException
-
The resource is not valid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: