Uso de AWS X-Ray para rastrear solicitudes en AWS AppSync - AWS AppSync GraphQL

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.

Uso de AWS X-Ray para rastrear solicitudes en AWS AppSync

Puede utilizar AWS X-Ray para rastrear las solicitudes a medida que se ejecutan en AWS AppSync. Puede utilizar X-Ray con AWS AppSync en todas las regiones de AWS donde X-Ray esté disponible. X-Ray le ofrece una visión general detallada de toda una solicitud de GraphQL. Esto le permite analizar latencias en sus API y sus solucionadores y orígenes de datos subyacentes. Puede utilizar un mapa de servicio de X-Ray para ver la latencia de una solicitud, incluidos los servicios de AWS 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 consola de AWS X-Ray.

Ajustes y configuración

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

  1. Inicie sesión en la consola de AWS AppSync.

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

  3. En X-Ray, active Enable X-Ray (Habilitar X-Ray).

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

Si utiliza la AWS CLI o AWS CloudFormation, también puede habilitar el rastreo de X-Ray cuando cree una nueva API de AWS AppSync o cuando actualice una API de AWS AppSync existente estableciendo la propiedad xrayEnabled en true.

Cuando el rastreo de X-Ray está habilitado para una API de AWS AppSync, se crea automáticamente un rol vinculado al servicio de AWS Identity and Access Management en su cuenta con los permisos correspondientes. Esto permite a AWS AppSync enviar registros de rastreo a X-Ray de una manera segura.

Rastreo de su API con X-Ray

Muestreo

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 reglatest-sample

  • Priority (Prioridad10

  • Reservoir size (Tamaño del depósito10

  • Fixed rate (Porcentaje fijo10

  • Service name (Nombre del servicio*

  • Service type (Tipo de servicioAWS::AppSync::GraphQLAPI

  • HTTP method (Método HTTP*

  • Resource ARN (ARN del recursoarn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6

  • El host*

Descripción de los registros de seguimiento

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.
  • 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.

Cuando consulta los registros de rastreo en X-Ray, puede obtener información contextual y de metadatos adicional sobre los subsegmentos del segmento de AWS AppSync eligiendo los subsegmentos y explorando la vista detallada.

Para determinadas consultas profundamente anidadas o complejas, tenga en cuenta que el segmento entregado a X-Ray por AWS AppSync puede ser mayor que el tamaño máximo permitido para los documentos de segmento, tal como se define en AWS X-Ray Segment Documents. X-Ray no muestra los segmentos que superen el límite.