Skip to main content

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:

  1. O serviço de front-end.
  2. O serviço de back-end.
  3. O gateway de pagamento.
  4. 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:

  1. Um span para a chamada da API do serviço de front-end.
  2. Um span para a consulta ao banco de dados do back-end.
  3. Um span para a requisição da API do gateway de pagamento.