

# OPS04-BP05 Implementar a capacidade de rastreamento das transações
<a name="ops_telemetry_dist_trace"></a>

Implemente o código da aplicação e configure os componentes da workload para emitir eventos, que são acionados como resultado de operações lógicas únicas e consolidadas em vários limites da workload. Gere mapas para ver como o rastreamento é feito na workload e nos serviços. Obtenha informações sobre a relação entre os componentes, identifique e analise os problemas. Use as informações coletadas para determinar quando uma resposta é necessária e para identificar os fatores que causam um problema. 

 **Resultado desejado:** 
+  Colete rastreamentos de transação na workload para obter informações sobre a relação entre os componentes. 
+  Gere mapas para obter uma compreensão melhor de como as transações e os eventos fluem pela workload. 

 **Antipadrões comuns:** 
+  Você implementou uma arquitetura de microsserviços sem servidor que abrange várias contas. Seus clientes estão enfrentando problemas de performance intermitente. Você não consegue descobrir qual função ou componente é responsável, pois não possui rastreabilidade de transações. 
+ Há um gargalo de desempenho na workload. Como você não possui rastreabilidade de transações, não é possível ver a relação entre os componentes da aplicação e identificar o gargalo.
+  O identificador usado para rastreamentos não é exclusivo globalmente, resultando em uma colisão de rastreamento ao analisar o comportamento da workload. 

 **Benefícios do estabelecimento desta prática recomendada:** 
+  Compreender o fluxo de transações entre a workload fornece informações sobre o comportamento esperado das transações da workload. 
+  É possível ver variações do comportamento esperado na workload e reagir a elas, se necessário. 
+  É possível localizar as transações pelo identificador gerado exclusivo independentemente de onde elas foram geradas. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** baixo 

## Orientações para a implementação
<a name="implementation-guidance"></a>

 Projete seu aplicativo e carga de trabalho para emitir informações sobre o fluxo de transações entre os componentes do sistema. Os dados a serem incluídos nas transações são um identificador exclusivo da transação, o estágio da transação, o componente ativo e o tempo para concluir a atividade. Use essas informações para determinar o que está em andamento, o que está concluído e quais são os resultados das atividades concluídas. 

 **Exemplo de clientes** 

 Na Loja UmaEmpresa, todas as transações ganham um UUID global exclusivo. Esse UUID é transmitido entre microsserviços durante as transações. O UUID é usado para criar rastreamentos de transações à medida que os usuários interagem com a workload. É gerado um mapa da topologia da workload com os rastreamentos, depois usado para solucionar problemas da workload e melhorar o desempenho. 

 **Etapas da implementação** 

1.  Equipe as aplicações na workload para emitir rastreamentos de transações. Isso pode ser feito gerando um identificador exclusivo para cada transação e transmitindo o identificador entre as aplicações. 

   1.  É possível usar a autoinstrumentação no [AWS Distro para OpenTelemetry](https://aws-otel.github.io/) a fim de implementar rastreamentos nas aplicações existentes sem modificar o código da aplicação. 

1.  Gere mapas da topologia da aplicação. Use esses mapas para melhorar o desempenho, obter informações e auxiliar na resolução de problemas. 

   1.  O [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) pode gerar mapas das aplicações na workload. 

 **Nível de esforço do plano de implementação:** médio. Implementar rastreamentos de transações pode exigir um esforço de desenvolvimento moderado. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar a telemetria de aplicações](ops_telemetry_application_telemetry.md) – A telemetria da aplicação abrange o processamento e a rastreabilidade de transações e precisa ser implementada primeiro. 

 **Documentos relacionados:** 
+ [ Discover application issues and get notifications with AWS X-Ray Insights ](https://aws.amazon.com/blogs/mt/discover-application-issues-get-notifications-aws-x-ray-insights/) (Descubra problemas com aplicações e receba notificações com o AWS X-Ray Insights)
+ [ How Wealthfront utilizes AWS X-Ray to analyze and debug distributed applications ](https://aws.amazon.com/blogs/mt/wealthfront-utilizes-aws-x-ray-analyze-debug-distributed-applications/) (Como o Wealthfront utiliza o AWS X-Ray para analisar e depurar aplicações distribuídas)
+ [ New for AWS Distro for OpenTelemetry – Tracing Support is Now Generally Available ](https://aws.amazon.com/blogs/aws/new-for-aws-distro-for-opentelemetry-tracing-support-is-now-generally-available/) (Novidades para o AWS Distro para OpenTelemetry: compatibilidade com rastreamento já está disponível para o público)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2018: Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) ](https://www.youtube.com/watch?v=5MQkX57eTh8) (AWS re:Invent 2018: aprofundamento no AWS X-Ray: monitore aplicações modernas (DEV324))
+ [AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310) ](https://www.youtube.com/watch?v=efk8XFJrW2c) (AWS re:Invent 2022: criação de aplicações observáveis com o OpenTelemetry (BOA310))
+ [AWS re:Invent 2022 - Observability the open-source way (COP301-R)](https://www.youtube.com/watch?v=2IJPpdp9xU0) (AWS re:Invent 2022: capacidade de observação por código aberto (COP301-R))
+ [ Capturing Trace Data with the AWS Distro for OpenTelemetry ](https://www.youtube.com/watch?v=837NtV0McOA) (Captura de dados de rastreamento com o AWS Distro para OpenTelemetry)
+ [ Optimize Application Performance with AWS X-Ray](https://www.youtube.com/watch?v=5lIdNrrO_o8) (Otimize o desempenho das aplicações com o AWS X-Ray)

 **Exemplos relacionados:** 
+ [AWS X-Ray Multi API Gateway Tracing Example ](https://github.com/aws-samples/aws-xray-multi-api-gateway-tracing-example) (Exemplo de rastreamento do gateway de várias APIs do AWS X-Ray)

 **Serviços relacionados:** 
+  [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) 
+  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 