View a markdown version of this page

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

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

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

Você pode usar AWS X-Ray para rastrear solicitações à medida que elas são executadas em AWS AppSync. Você pode usar X-Ray com AWS AppSync em todas as AWS regiões onde X-Ray está disponível. X-Ray fornece uma visão geral detalhada de uma solicitação completa do GraphQL. Dessa forma, é possível analisar latências em suas APIs e seus resolvedores e fontes de dados subjacentes. Você pode usar um mapa de X-Ray serviços para visualizar a latência de uma solicitação, incluindo quaisquer AWS serviços integrados a. X-Ray Você também pode configurar regras de amostragem para informar X-Ray quais solicitações devem ser registradas e em quais taxas de amostragem, de acordo com os critérios especificados.

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

Definição e configuração

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

  1. Faça login no AWS AppSync console.

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

  3. Em X-Ray, ative Ativar X-Ray.

  4. Escolha Salvar. X-Ray o rastreamento agora está habilitado para sua API.

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

Quando X-Ray o rastreamento é ativado para uma 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 rastreamentos de X-Ray forma segura.

Rastreando sua API com X-Ray

Amostragem

Ao usar regras de amostragem, é possível controlar a quantidade de dados gravados no AWS AppSync e modificar o comportamento de amostragem instantaneamente, sem modificar nem reimplantar o código. Por exemplo, esta regra faz amostragem de solicitações para a API GraphQL com o ID da API 3n572shhcpfokwhdnq1ogu59v6.

  • Nome da regratest-sample

  • Prioridade10

  • Tamanho do reservatório10

  • Taxa fixa10

  • Nome do serviço*

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

  • Método HTTP*

  • ARN do recursoarn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6

  • Host*

Noções básicas sobre rastreamentos

Ao ativar o X-Ray rastreamento para sua API do GraphQL, você pode usar a página de detalhes do X-Ray rastreamento para examinar informações detalhadas de latência sobre solicitações feitas à sua 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:

Mapa de rastreamento mostrando o fluxo de solicitações PostAPI do cliente até os detalhes DynamoDB de tempo.
  • 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.

  • requestMappingTemplateEvaluation representa o tempo gasto pelo AWS AppSync para avaliar o modelo de mapeamento de 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 da 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.

    • responseMappingTemplateEvaluation representa o tempo gasto pelo AWS AppSync para avaliar o modelo de mapeamento de resposta para esse elemento na consulta.

Ao visualizar os traços em 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 visualização detalhada.

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