

# Rastros de AWS X-Ray para las API de Amazon API Gateway
<a name="apigateway-understanding-xray-traces"></a>

En esta sección, se analizan los segmentos, los subsegmentos y otros campos de los rastros de AWS X-Ray para las API de Amazon API Gateway.

Antes de leer esta sección, consulte los siguientes temas de la guía para desarrolladores de X-Ray:
+  [Uso de una Consola de administración de AWS](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html)
+  [Documentos de segmentos de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments)
+ [Conceptos](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html#xray-concepts)

**Topics**
+ [Ejemplos de objetos de rastreo para una API de API Gateway](#apigateway-understanding-xray-traces-example-segments)
+ [Descripción del rastro](#apigateway-understanding-xray-traces-segments)

## Ejemplos de objetos de rastreo para una API de API Gateway
<a name="apigateway-understanding-xray-traces-example-segments"></a>

En esta sección se explican algunos de los objetos que pueden aparecer en el rastro de una API de API Gateway.

**Annotations**

Las anotaciones pueden aparecer en segmentos y subsegmentos. Se utilizan como expresiones de filtro en reglas de muestreo para filtrar rastros. Para obtener más información, consulte [Configuración de reglas de muestreo](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-sampling).

A continuación, se muestra un ejemplo de un objeto `annotations`, en el que una etapa de API se identifica mediante el ID de API y el nombre de etapa de la API:

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

Para obtener más información sobre las anotaciones, consulte [Documentos del segmento de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments) y, a continuación, elija **Documentos del segmento de X-Ray**, **Anotaciones**.

**Datos de recursos de AWS**

El objeto `aws` solo aparece en los segmentos. A continuación se muestra un ejemplo de un objeto `aws` que coincide con la regla de muestreo personalizada. Para obtener una explicación detallada de las reglas de muestreo, consulte [Configuración de reglas de muestreo](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"
    }
}
```

Para obtener más información sobre el objeto `aws`, consulte [Documentos del segmento de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-segmentdocuments) y, a continuación, elija **Documentos del segmento de X-Ray**, **Datos de recursos de AWS**.

## Descripción del rastro
<a name="apigateway-understanding-xray-traces-segments"></a>

Lo que sigue es un segmento de rastreo para una etapa de API Gateway. Para obtener una explicación detallada de los campos que componen el segmento de rastro, consulte [Documentos del segmento de X-Ray](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"
        }
```