Usando AWS X-Ray para rastrear solicitações em AWS AppSync - AWS AppSync

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando AWS X-Ray para rastrear solicitações em AWS AppSync

Você pode usar AWS X-Raypara rastrear solicitações à medida que elas são executadas em AWS AppSync. Você pode usar o X-Ray AWS AppSync em todas as AWS regiões onde o X-Ray está disponível. O X-Ray oferece uma visão geral detalhada de uma solicitação GraphQL inteira. Isso permite que você analise as latências em seus resolvedores APIs e fontes de dados subjacentes. Você pode usar um mapa do serviço X-Ray para visualizar a latência de uma solicitação, incluindo quaisquer AWS serviços integrados ao X-Ray. Também é possível configurar regras de amostragem para informar ao X-Ray quais solicitações registrar e com quais taxas de amostragem, de acordo com os critérios especificados.

Para obter mais informações sobre amostragem no X-Ray, consulte Configurando regras de amostragem no console. AWS X-Ray

Definição e configuração

Você pode ativar o rastreamento X-Ray para um API GraphQL por meio AWS AppSync do console.

  1. Faça login no AWS AppSync console.

  2. Selecione Configurações no painel de navegação.

  3. Em X-Ray, ative a opção Habilitar o X-Ray.

  4. Escolha Salvar. O rastreamento de raio-X agora está habilitado para o seuAPI.

Se você estiver usando o AWS CLI ou AWS CloudFormation, você também pode ativar o rastreamento X-Ray ao criar um novo AWS AppSync API ou atualizar um existente AWS AppSync API, definindo a xrayEnabled propriedade comotrue.

Quando o X-Ray Tracing é ativado para um AWS AppSync API, uma função AWS Identity and Access Management vinculada ao serviço é criada automaticamente em sua conta com as permissões apropriadas. Isso permite AWS AppSync enviar traços para o X-Ray de forma segura.

Rastreando seu API com X-Ray

Amostragem

Ao usar regras de amostragem, você pode controlar a quantidade de dados gravados e modificar o comportamento da amostragem em tempo real AWS AppSync, sem modificar ou reimplantar seu código. Por exemplo, essa regra mostra solicitações para o GraphQL API com o API ID. 3n572shhcpfokwhdnq1ogu59v6

  • Nome da regratest-sample

  • Prioridade10

  • Tamanho do reservatório10

  • Taxa fixa10

  • Nome do serviço*

  • Tipo de serviçoAWS::AppSync::GraphQLAPI

  • HTTPmétodo*

  • Recurso ARNarn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6

  • Host*

Noções básicas sobre rastreamentos

Ao habilitar o X-Ray tracing para seu API GraphQL, você pode usar a página de detalhes do X-Ray trace para examinar informações detalhadas de latência sobre as solicitações feitas ao seu. API O exemplo a seguir mostra a exibição de rastreamento junto com o mapa de serviço para essa solicitação específica. A solicitação foi feita para uma API chamada postAPI com um tipo Post, cujos dados estão contidos em uma tabela do Amazon DynamoDB chamada. PostTable-Example

A imagem de rastreamento a seguir corresponde à seguinte consulta do GraphQL:

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

O resolvedor para a consulta getPost usa a fonte de dados subjacente do DynamoDB. A exibição de rastreamento a seguir mostra a chamada para o DynamoDB, bem como as latências de várias partes da execução da consulta:

Trace view showing client request, postAPI, and DynamoDB with durations and request details.
  • Na imagem anterior, /getPost representa o caminho completo para o elemento que está sendo resolvido. Nesse caso, como getPost é um campo no tipo raiz Query, ele é exibido diretamente após a raiz do caminho.

  • requestMappingTemplateEvaluationrepresenta o tempo gasto AWS AppSync avaliando o modelo de mapeamento da solicitação para esse elemento na consulta.

  • Query.getPost representa um tipo e um campo (no formato Type.field). Ele pode conter vários subsegmentos, dependendo da estrutura do API e da solicitação que está sendo rastreada.

    • DynamoDB representa a fonte de dados associada a esse resolvedor. Ele contém a latência para a chamada de rede para o DynamoDB resolver o campo.

    • responseMappingTemplateEvaluationrepresenta o tempo gasto AWS AppSync avaliando o modelo de mapeamento de resposta para esse elemento na consulta.

Ao visualizar traços no X-Ray, você pode obter informações contextuais e de metadados adicionais sobre os subsegmentos no AWS AppSync segmento escolhendo os subsegmentos e explorando a exibição detalhada.

Para determinadas consultas complexas ou profundamente aninhadas, observe que o segmento entregue ao X-Ray por AWS AppSync pode ser maior do que o tamanho máximo permitido para documentos do segmento, conforme definido em Documentos do AWS X-Ray Segmento. O X-Ray não exibe segmentos que excedam o limite.