AWS X-Ray
API Reference (API Version 2016-04-12)

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 } }

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

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: