Utilizando bibliotecas de instrumentação

When you develop an app, you might use third-party libraries and frameworks to accelerate your work. If you then instrument your app using OpenTelemetry, you might want to avoid spending additional time to manually add traces, logs, and metrics to the third-party libraries and frameworks you use.

Many libraries and frameworks already support OpenTelemetry or are supported through OpenTelemetry instrumentation, so that they can generate telemetry you can export to an observability back end.

If you are instrumenting an app or service that use third-party libraries or frameworks, follow these instructions to learn how to use natively instrumented libraries and instrumentation libraries for your dependencies.

Use natively instrumented libraries

If a library comes with OpenTelemetry support by default, you can get traces, metrics, and logs emitted from that library by adding and setting up the OpenTelemetry SDK with your app.

The library might require some additional configuration for the instrumentation. Go to the documentation for that library to learn more.

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.