Tracing e Span | Devops
- Tracing e Span | Devops
Traços e Spans: Conceitos-Chave
Traces (traços) e spans são conceitos fundamentais no rastreamento distribuído (distributed tracing), uma técnica usada para monitorar e depurar sistemas distribuídos. Aqui está uma explicação:
Traços (Traces)
- Definição: Um traço representa o ciclo de vida completo de uma requisição ou transação à medida que ela percorre um sistema distribuído.
- Escopo: Abrange todas as operações e componentes envolvidos no processamento dessa requisição, podendo atravessar serviços, processos ou microsserviços.
- Estrutura: Um traço é composto por um ou mais spans.
Exemplo:
Imagine que um usuário faz uma requisição HTTP em um aplicativo de e-commerce para comprar um produto. O traço capturaria essa requisição enquanto ela percorre:
- O serviço de front-end.
- O serviço de back-end.
- O gateway de pagamento.
- O banco de dados.
Spans
- Definição: Um span representa uma única operação ou unidade de trabalho dentro de um traço.
- Componentes:
- Tempo de início e fim: Registro do momento em que a operação começou e terminou.
- Atributos: Metadados, como detalhes da requisição, ID do usuário ou códigos de status.
- Relacionamento Pai-Filho: Spans podem ter spans "pai" (indicando que fazem parte de uma operação maior) ou serem spans raiz (indicando o início de um traço).
- Tipos: Spans podem representar várias operações, como:
- Requisições HTTP.
- Consultas ao banco de dados.
- Buscas no cache.
Exemplo:
Para o mesmo traço do e-commerce:
- Um span para a chamada da API do serviço de front-end.
- Um span para a consulta ao banco de dados do back-end.
- Um span para a requisição da API do gateway de pagamento.