

# Rastreamentos do AWS X-Ray para APIs do Amazon API Gateway
<a name="apigateway-understanding-xray-traces"></a>

Esta seção discute segmentos e subsegmentos de rastreamento do AWS X-Ray, bem como outros campos de rastreamento para APIs do Amazon API Gateway.

Antes de ler esta seção, reveja os tópicos a seguir no Guia do desenvolvedor do X-Ray:
+  [Use an Console de gerenciamento da AWS](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html)
+  [X-Ray segment documents](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments)
+ [Conceitos](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html#xray-concepts)

**Topics**
+ [Exemplos de objetos de rastreamento para uma API do API Gateway](#apigateway-understanding-xray-traces-example-segments)
+ [Noções básicas sobre o rastreamento](#apigateway-understanding-xray-traces-segments)

## Exemplos de objetos de rastreamento para uma API do API Gateway
<a name="apigateway-understanding-xray-traces-example-segments"></a>

Esta seção discute alguns dos objetos que você pode ver em um rastreamento para uma API do API Gateway.

**Anotações**

As anotações podem aparecer em segmentos e subsegmentos. Elas são usadas como expressões de filtragem em regras de amostragem para filtrar rastreamentos. Consulte mais informações em [Configure sampling rules](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-sampling).

Veja a seguir um exemplo de um objeto `annotations`, em que um estágio da API é identificado pelo ID da API e o nome de estágio da API:

```
"annotations": {
    "aws:api_id": "a1b2c3d4e5",
    "aws:api_stage": "dev"
}
```

Consulte mais informações sobre anotações em [X-Ray segment documents](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments) e selecione **X-Ray segment documents**, **Annotations**.

**Dados de recursos da AWS**

O objeto `aws` aparece somente em segmentos. Veja a seguir um exemplo de um objeto `aws` que corresponde à regra de amostragem Padrão. Consulte uma explicação detalhada sobre as regras de amostragem em [Configure sampling rules](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-sampling).

```
"aws": {
    "xray": {
        "sampling_rule_name": "Default"
    },
    "api_gateway": {
        "account_id": "123412341234",
        "rest_api_id": "a1b2c3d4e5",
        "stage": "dev",
        "request_id": "a1b2c3d4-a1b2-a1b2-a1b2-a1b2c3d4e5f6"
    }
}
```

Consulte mais informações sobre o objeto `aws` em [X-Ray segment documents](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments) e selecione **X-Ray segment documents**, **AWS resource data**.

## Noções básicas sobre o rastreamento
<a name="apigateway-understanding-xray-traces-segments"></a>

Veja a seguir um segmento de rastreamento para um estágio do API Gateway. Consulte uma explicação detalhada sobre os campos que compõem o segmento de rastreamento em [X-Ray segment documents](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments).

```
        {
            "Document": {
                "id": "a1b2c3d4a1b2c3d4",
                "name": "testxray/dev",
                "start_time": 1533928226.229,
                "end_time": 1533928226.614,
                "metadata": {
                    "default": {
                        "extended_request_id": "abcde12345abcde=",
                        "request_id": "a1b2c3d4-a1b2-a1b2-a1b2-a1b2c3d4e5f6"
                    }
                },
                "http": {
                    "request": {
                        "url": "https://example.com/dev?username=demo&message=hellofromdemo/",
                        "method": "GET",
                        "client_ip": "192.0.2.0",
                        "x_forwarded_for": true
                    },
                    "response": {
                        "status": 200,
                        "content_length": 0
                    }
                },
                "aws": {
                    "xray": {
                        "sampling_rule_name": "Default"
                    },
                    "api_gateway": {
                        "account_id": "123412341234",
                        "rest_api_id": "a1b2c3d4e5",
                        "stage": "dev",
                        "request_id": "a1b2c3d4-a1b2-a1b2-a1b2-a1b2c3d4e5f6"
                    }
                },
                "annotations": {
                    "aws:api_id": "a1b2c3d4e5",
                    "aws:api_stage": "dev"
                },
                "trace_id": "1-a1b2c3d4-a1b2c3d4a1b2c3d4a1b2c3d4",
                "origin": "AWS::ApiGateway::Stage",
                "resource_arn": "arn:aws:apigateway:us-east-1::/restapis/a1b2c3d4e5/stages/dev",
                "subsegments": [
                    {
                        "id": "abcdefgh12345678",
                        "name": "Lambda",
                        "start_time": 1533928226.233,
                        "end_time": 1533928226.6130002,
                        "http": {
                            "request": {
                                "url": "https://example.com/2015-03-31/functions/arn:aws:lambda:us-east-1:123412341234:function:xray123/invocations",
                                "method": "GET"
                            },
                            "response": {
                                "status": 200,
                                "content_length": 62
                            }
                        },
                        "aws": {
                            "function_name": "xray123",
                            "region": "us-east-1",
                            "operation": "Invoke",
                            "resource_names": [
                                "xray123"
                            ]
                        },
                        "namespace": "aws"
                    }
                ]
            },
            "Id": "a1b2c3d4a1b2c3d4"
        }
```