Utilizando bibliotecas de instrumentação

Ao desenvolver uma aplicação, é possível utilizar bibliotecas e frameworks de terceiros para acelerar seu trabalho. Caso você instrumente sua aplicação utilizando OpenTelemetry, talvez queira evitar gastar tempo adicional para adicionar manualmente rastros, logs e métricas às bibliotecas e frameworks de terceiros que utiliza.

Muitas bibliotecas e frameworks já oferecem suporte ao OpenTelemetry ou são compatíveis por meio da instrumentação, permitindo gerar dados de telemetria que podem ser exportados para um backend de observabilidade.

Caso você esteja instrumentando uma aplicação ou serviço que utilize bibliotecas ou frameworks de terceiros, siga estas instruções para aprender como usar bibliotecas instrumentadas nativamente e bibliotecas de instrumentação para as dependências do seu projeto.

Usar bibliotecas com instrumentação nativa

Se uma biblioteca oferece suporte ao OpenTelemetry por padrão, é possível obter rastros, métricas e logs emitidos por essa biblioteca ao adicionar e configurar o SDK do OpenTelemetry na sua aplicação.

A biblioteca pode exigir alguma configuração adicional para sua instrumentação. Consulte a documentação dessa biblioteca para saber mais.

Utilizando bibliotecas de instrumentação

Caso uma biblioteca não venha com o OpenTelemetry, você pode utilizar uma biblioteca de instrumentação para gerar dados de telemetria para uma biblioteca ou framework.

Por exemplo, a biblioteca de instrumentação para net/http cria automaticamente trechos e métricas com base nas requisições HTTP.

Configuração

Cada biblioteca de instrumentação é um pacote. Em geral, isso significa que você precisa usar go get para obter o pacote apropriado. Por exemplo, para obter as bibliotecas de instrumentação mantidas no repositório Contrib, execute o seguinte comando:

go get go.opentelemetry.io/contrib/instrumentation/{caminho-de-importacao}/otel{nome-do-pacote}

Em seguida, configure o seu código com base no que a biblioteca requer para ser ativada.

Em Primeiros Passos fornecemos um exemplo mostrando como configurar a instrumentação para um servidor net/http.

Pacotes disponíveis

Uma lista completa de bibliotecas de instrumentação disponíveis pode ser encontrada no registro do OpenTelemetry.

Próximos passos

As bibliotecas de instrumentação podem gerar dados de telemetria para requisições HTTP de entrada e saída, mas não instrumentam sua aplicação completamente.

Enriqueça seus dados de telemetria realizando uma instrumentação personalizada em seu código. Isso complementa a telemetria da biblioteca padrão e pode oferecer dados mais profundos sobre sua aplicação em execução.