View a markdown version of this page

Utilización AWS X-Ray para rastrear las 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.

Utilización AWS X-Ray para rastrear las solicitudes en AWS AppSync

Puede utilizarlas AWS X-Ray 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.

Ajustes y configuración

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.

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

  3. En X-Ray, activa Activar X-Ray.

  4. 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 entrue.

Cuando se habilita el X-Ray rastreo en una AWS AppSync API, se crea automáticamente un rol AWS Identity and Access Management 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

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

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.
  • 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. X-Ray no muestra los segmentos que superen el límite.