

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Utilización AWS X-Ray para rastrear las solicitudes en AWS AppSync
<a name="x-ray-tracing"></a>

Puede utilizarlas [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) para rastrear las solicitudes a medida que se ejecutan en AWS AppSync. Puede usarlo X-Ray AWS AppSync en todas AWS las regiones en las que X-Ray esté disponible. X-Ray te ofrece una descripción detallada de toda una solicitud de GraphQL. Esto le permite analizar latencias en sus API y sus solucionadores y orígenes de datos subyacentes. Puedes usar un mapa de X-Ray servicios para ver la latencia de una solicitud, incluidos AWS los servicios que estén integrados con X-Ray ella. También puede configurar reglas de muestreo para indicar X-Ray qué solicitudes registrar y con qué frecuencias de muestreo, de acuerdo con los criterios que especifique.

Para obtener más información sobre el muestreo X-Ray, consulte [ Configurar las reglas de muestreo en la AWS X-Ray consola](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html).

## Ajustes y configuración
<a name="setup-and-configuration"></a>

Puedes habilitar el X-Ray rastreo de una API de GraphQL a través de la AWS AppSync consola.

1. Inicia sesión en la AWS AppSync consola.

1. Seleccione **Settings (Configuración)** en el panel de navegación.

1. En ** X-Ray**, activa ** Activar X-Ray**.

1. Selecciona ** Guardar**. X-Ray El rastreo ahora está habilitado para tu API.

Si utilizas la opción AWS CLI O AWS CloudFormation, también puedes habilitar el X-Ray rastreo al crear una nueva AWS AppSync API o actualizar una existente AWS AppSync configurando la `xrayEnabled` propiedad en`true`.

Cuando se habilita el X-Ray rastreo en una AWS AppSync API, [ se crea automáticamente un rol AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) vinculado a un servicio en tu cuenta con los permisos adecuados. Esto permite AWS AppSync enviar los rastreos de X-Ray forma segura.

## Rastreando su API con X-Ray
<a name="tracing-your-api-with-xray"></a>

### Muestreo
<a name="sampling"></a>

Al personalizar las reglas de muestreo, puede controlar la cantidad de datos que va a registrar en AWS AppSync y modificar el comportamiento de muestreo sobre la marcha sin modificar ni volver a implementar su código. Por ejemplo, esta regla realiza un muestreo de solicitudes a la API de GraphQL con el ID de API `3n572shhcpfokwhdnq1ogu59v6`.
+  **Nombre de la regla**: `test-sample` 
+  **Prioridad**: `10` 
+  **Tamaño del depósito**: `10` 
+  **Porcentaje fijo**: `10` 
+  **Nombre del servicio**: `*` 
+  **Tipo de servicio**: `AWS::AppSync::GraphQLAPI` 
+  **Método HTTP**: `*` 
+  **ARN del recurso**: `arn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6` 
+  **Host**: `*` 

### Descripción de los registros de seguimiento
<a name="understanding-traces"></a>

Cuando habilitas el X-Ray rastreo para tu API de GraphQL, puedes usar la página de detalles del X-Ray rastreo para examinar la información detallada sobre la latencia de las solicitudes realizadas a tu API. En el ejemplo siguiente se muestra la vista de seguimiento junto con el mapa de servicio para esta solicitud específica. La solicitud se realizó a una llamada a la API `postAPI` con un tipo Post, cuyos datos están incluidos en una tabla de Amazon DynamoDB denominada `PostTable-Example`.

La siguiente imagen de seguimiento corresponde a la siguiente consulta de GraphQL:

```
query getPost {
    getPost(id: "1") {
      id
      title
    }
}
```

El solucionador de la consulta `getPost` utiliza el origen de datos de DynamoDB subyacente. La siguiente vista de rastreo muestra la llamada a DynamoDB, así como las latencias de varias partes de la ejecución de la consulta:

![Mapa de seguimiento que muestra el flujo de solicitudes de PostAPI desde el cliente hasta el final DynamoDB con detalles de los tiempos.](https://docs.aws.amazon.com/es_es/appsync/latest/devguide/images/xray-getpost-trace-view.png)

+ En la imagen anterior, `/getPost` representa la ruta completa al elemento que se está resolviendo. En este caso, como `getPost` es un campo del tipo `Query` raíz, aparece directamente después de la raíz de la ruta.
+  `requestMappingTemplateEvaluation` representa el tiempo empleado por AWS AppSync al evaluar la plantilla de mapeo de solicitudes para este elemento de la consulta.
+  `Query.getPost` representa un tipo y un campo (con el formato `Type.field`). Puede contener varios subsegmentos, dependiendo de la estructura de la API y de la solicitud que se esté rastreando.
  +  `DynamoDB` representa el origen de datos asociado a este solucionador. Contiene la latencia de la llamada de red a DynamoDB para resolver el campo.
  +  `responseMappingTemplateEvaluation` representa el tiempo empleado por AWS AppSync al evaluar la plantilla de mapeo de respuestas para este elemento de la consulta.

Al ver los rastros X-Ray, puede obtener información contextual y de metadatos adicional sobre los subsegmentos del AWS AppSync segmento. Para ello, seleccione los subsegmentos y explore la vista detallada.

En el caso de determinadas consultas complejas o muy anidadas, tenga en cuenta que el tamaño máximo permitido para los documentos X-Ray segmentados AWS AppSync puede superar el tamaño máximo permitido para los documentos segmentados, tal como se define en [AWS X-Ray los documentos por segmentos. ](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html) X-Ray no muestra los segmentos que superen el límite.