

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.

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

Se puede utilizar [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)para rastrear las solicitudes a medida que se ejecutan. AWS AppSync Puede utilizar X-Ray AWS AppSync en todas AWS las regiones donde X-Ray esté disponible. X-Ray le ofrece una visión general detallada de toda una solicitud de GraphQL. Esto le permite analizar las latencias en sus resoluciones y fuentes de datos subyacentes APIs y en las fuentes de datos subyacentes. Puede usar un mapa del servicio de X-Ray para ver la latencia de una solicitud, incluidos los AWS servicios que estén integrados con X-Ray. También puede configurar reglas de muestreo para indicar a X-Ray qué solicitudes debe registrar y a qué velocidad de muestreo, de acuerdo con los criterios que especifique.

Para obtener más información sobre el muestreo en X-Ray, consulte [Configuración de 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 rastreo de X-Ray para una API de GraphQL a través AWS AppSync de la 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**, active **Enable X-Ray (Habilitar X-Ray)**.

1. Seleccione **Save**. El rastreo de X-Ray ahora está habilitado para su API.

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

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

## Rastreo de 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 habilita el rastreo de X-Ray para su API de GraphQL, puede utilizar la página de detalles de rastreo de X-Ray para obtener información detallada relativa a la latencia de las solicitudes realizadas a su 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:

![\[Trace view showing client request, postAPI, and DynamoDB with durations and request details.\]](http://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 las trazas en X-Ray, puede obtener información contextual y de metadatos adicional sobre los subsegmentos del AWS AppSync segmento seleccionando los subsegmentos y explorando la vista detallada.

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