Instrumentação

Como o OpenTelemetry facilita a instrumentação

Para que um sistema seja observável, ele deve ser instrumentado: ou seja, o código dos componentes do sistema deve emitir rastros, métricas e logs.

Com o OpenTelemetry, você pode instrumentar seu código de duas maneiras:

  1. Soluções manuais por meio das APIs e SDKs oficiais para a maioria das linguagens
  2. Soluções sem código

As soluções manuais permitem obter uma visão mais aprofundada e telemetria rica diretamente da sua aplicação. Possibilitando o uso da API OpenTelemetry para gerar telemetria a partir da sua aplicação, atuando como um complemento essencial para telemetria gerada pelas soluções sem código.

As soluções sem código são ótimas para começar ou quando você não pode modificar a aplicação da qual precisa extrair telemetria. Provendo telemetria rica das bibliotecas que você utiliza e/ou do ambiente em que sua aplicação está sendo executada. Outra forma de pensar nisso é que elas oferecem informações sobre o que está acontecendo nas bordas da sua aplicação.

Você pode utilizar ambas as soluções simultaneamente.

Benefícios adicionais do OpenTelemetry

O OpenTelemetry oferece mais do que apenas soluções de telemetria manuais e sem código. Os seguintes recursos também fazem parte do OpenTelemetry:

  • Bibliotecas podem utilizar a API OpenTelemetry como dependência, sem impactar as aplicações que usam essa biblioteca, a menos que o SDK do OpenTelemetry seja importado.
  • Para cada sinal (rastros, métricas, logs), você tem à disposição diversos métodos para criá-los, processá-los e exportá-los.
  • Com a propagação de contexto integrada nas implementações, você pode correlacionar sinais, independentemente de onde eles são gerados.
  • Recursos e Escopo de instrumentação permitem agrupar sinais por diferentes entidades, como host, sistema operacional ou cluster K8s.
  • Cada implementação específica de linguagem da API e SDK segue os requisitos e expectativas da especificação OpenTelemetry.
  • As Convenções Semânticas fornecem um esquema de nomenclatura comum que pode ser usado para padronização em diferentes bases de código e plataformas.

Sem código

Aprenda como adicionar observabilidade a uma aplicação sem precisar escrever código

Manual

Aprenda as etapas essenciais na configuração da instrumentação manual

Bibliotecas

Aprenda como adicionar instrumentação nativa à sua biblioteca.