CreateSamplingRule - AWS X-Ray

CreateSamplingRule

Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.

Request Syntax

POST /CreateSamplingRule HTTP/1.1 Content-type: application/json { "SamplingRule": { "Attributes": { "string" : "string" }, "FixedRate": number, "Host": "string", "HTTPMethod": "string", "Priority": number, "ReservoirSize": number, "ResourceARN": "string", "RuleARN": "string", "RuleName": "string", "ServiceName": "string", "ServiceType": "string", "URLPath": "string", "Version": number }, "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.

SamplingRule

The rule definition.

Type: SamplingRule object

Required: Yes

Tags

A map that contains one or more tag keys and tag values to attach to an X-Ray sampling rule. For more information about ways to use tags, see Tagging AWS resources in the AWS General Reference.

The following restrictions apply to tags:

  • Maximum number of user-applied tags per resource: 50

  • Maximum tag key length: 128 Unicode characters

  • Maximum tag value length: 256 Unicode characters

  • Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : / = + - and @

  • Tag keys and values are case sensitive.

  • Don't use aws: as a prefix for keys; it's reserved for AWS use.

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 { "SamplingRuleRecord": { "CreatedAt": number, "ModifiedAt": number, "SamplingRule": { "Attributes": { "string" : "string" }, "FixedRate": number, "Host": "string", "HTTPMethod": "string", "Priority": number, "ReservoirSize": number, "ResourceARN": "string", "RuleARN": "string", "RuleName": "string", "ServiceName": "string", "ServiceType": "string", "URLPath": "string", "Version": number } } }

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.

SamplingRuleRecord

The saved rule definition and metadata.

Type: SamplingRuleRecord object

Errors

For information about the errors that are common to all actions, see Common Errors.

InvalidRequestException

The request is missing required parameters or has invalid parameters.

HTTP Status Code: 400

RuleLimitExceededException

You have reached the maximum number of sampling rules.

HTTP Status Code: 400

ThrottledException

The request exceeds the maximum number of requests per second.

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: