Aplicação de exemplo do AWS X-Ray - AWS X-Ray

Aplicação de exemplo do AWS X-Ray

A aplicação de exemplo eb-java-scorekeep do AWS X-Ray, disponível no GitHub, mostra o uso do AWS X-Ray SDK para instrumentar as chamadas HTTP de entrada, os clientes do SDK do DynamoDB e os clientes HTTP. A aplicação de exemplo usa recursos do AWS CloudFormation para criar tabelas do DynamoDB, compilar código Java na instância e executar o daemon do X-Ray sem nenhuma configuração adicional.

Consulte o tutorial do Scorekeep para começar a instalar e usar uma aplicação de exemplo instrumentada, utilizando o AWS Management Console ou a AWS CLI.

O Scorekeep usa o AWS X-Ray SDK para instrumentar as chamadas HTTP de entrada, os clientes do SDK do DynamoDB e os clientes HTTP

O exemplo inclui uma aplicação web de front-end, a API chamada e as tabelas do DynamoDB usadas para armazenar os dados. A instrumentação básica com filtros, plug-ins e clientes instrumentados do SDK da AWS é mostrada na ramificação xray-gettingstarted do projeto. Essa é a ramificação que você implanta no tutorial de conceitos básicos. Como essa ramificação inclui apenas os conceitos básicos, você pode compará-la com a ramificação master para compreender rapidamente os conceitos básicos.

Service map showing client interaction with Scorekeep container and related Serviços da AWS.

O aplicativo de amostra mostra a instrumentação básica nesses arquivos:

A ramificação xray da aplicação inclui o uso de HTTPClient, anotações, consultas SQL, subsegmentos personalizados, uma função do AWS Lambda instrumentada e código e scripts de inicialização instrumentados.

Para permitir login do usuário e o uso do AWS SDK for JavaScript no navegador, a ramificação xray-cognito adiciona o Amazon Cognito para oferecer autenticação e autorização de usuários. Com as credenciais recuperadas do Amazon Cognito, a aplicação web também envia dados de rastreamento ao X-Ray para registrar as informações da solicitação do ponto de vista do cliente. O cliente do navegador aparece como seu próprio nó no mapa de rastreamento e grava informações adicionais, incluindo o URL da página que o usuário está visualizando e o ID do usuário.

Finalmente, a ramificação xray-worker adiciona uma função do Lambda instrumentada em Python que é executada de forma independente e processa os itens com base em uma fila do Amazon SQS. O Scorekeep adiciona um item à fila cada vez que um jogo termina. O operador do Lambda, acionado pelo CloudWatch Events, extrai itens da fila com frequência e os processa para armazenar registros de jogos no Amazon S3 para análise.