> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adicionar instrumentação adicional do OpenTelemetry

O OpenTelemetry fornece instrumentação extensiva para muitas bibliotecas e frameworks populares. Durante a instalação do AppSignal e do OpenTelemetry, você pode já ter instalado alguns pacotes de instrumentação, mas pode ser necessário adicionar pacotes de instrumentação adicionais para monitorar bibliotecas específicas que seu aplicativo usa.

Este guia explica como identificar, instalar e configurar pacotes adicionais de instrumentação do OpenTelemetry para uma melhor cobertura de observabilidade.

## Por que adicionar instrumentação adicional?

Seu aplicativo pode usar bibliotecas que não são cobertas pelos pacotes de instrumentação que você instalou durante a configuração, como:

* Drivers de banco de dados
* Bibliotecas de cliente HTTP
* Sistemas de fila de mensagens
* Bibliotecas personalizadas ou de nicho

Adicionar instrumentação para essas bibliotecas fornece uma configuração de monitoramento mais completa para todos os componentes do seu aplicativo.

## Etapas gerais

Esta seção descreve as etapas necessárias para a maioria das linguagens para instrumentar uma biblioteca adicional. Verifique a seção [Instruções específicas por linguagem](#language-specific-instructions) para etapas específicas por linguagem.

### 1. Identifique bibliotecas para instrumentar

Primeiro, determine quais bibliotecas seu aplicativo usa que você gostaria de monitorar. Candidatos comuns incluem:

* Clientes de banco de dados (MySQL, PostgreSQL, MongoDB, Redis)
* Clientes HTTP
* Filas de mensagens (RabbitMQ, Kafka, SQS)
* Mecanismos de template

### 2. Encontre pacotes de instrumentação

Procure pacotes de instrumentação nesta ordem de preferência:

1. **Pacotes oficiais do OpenTelemetry** - mantidos pela comunidade OpenTelemetry
2. **Pacotes contrib do OpenTelemetry** - instrumentação contribuída pela comunidade
3. **Pacotes de terceiros** - certifique-se de confiar no mantenedor e revise o código

Verifique o [OpenTelemetry Registry](https://opentelemetry.io/ecosystem/registry/) para pacotes de instrumentação disponíveis.

Observe que algumas bibliotecas podem incluir a instrumentação do OpenTelemetry por conta própria e nenhuma configuração adicional é necessária.

### 3. Instale o pacote

Depois de encontrar um pacote de instrumentação relevante, instale o pacote de instrumentação usando o gerenciador de pacotes da sua linguagem.

Por exemplo:

<CodeGroup>
  ```sh Go theme={null}
  go get go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
  ```

  ```sh PHP theme={null}
  composer require open-telemetry/opentelemetry-auto-guzzle
  ```
</CodeGroup>

### 4. Inicialize a instrumentação

Dependendo da linguagem e do método de instrumentação do SDK, os pacotes de instrumentação podem exigir inicialização no código de inicialização do seu aplicativo. Isso normalmente envolve:

* Importar o pacote de instrumentação
* Chamar uma função de inicialização
* Configurar quaisquer opções específicas do pacote

Para algumas linguagens, como PHP e Java usando auto instrumentations, esta etapa não é necessária. Ela configurará automaticamente a instrumentação, a menos que seja instruída o contrário.

### 5. Verifique os dados recebidos

Após a instalação, verifique se a instrumentação está funcionando:

* Verifique se novos spans sobre a biblioteca instrumentada aparecem em seus traces reportados ao AppSignal.com.
* Confirme se as métricas sobre a biblioteca instrumentada estão sendo reportadas ao AppSignal.com.
* Teste cenários de erro para garantir que os erros sejam reportados.

## Instruções específicas por linguagem

Para instruções detalhadas sobre como adicionar pacotes de instrumentação para linguagens específicas:

* [Instrumentações Go](/go/instrumentations)
* [Instrumentações Java](/java/instrumentations)
* [Instrumentações PHP](/php/instrumentations)

## Solução de problemas

### Problemas comuns

* **Traces ausentes**: certifique-se de que a instrumentação seja inicializada antes que a biblioteca seja usada.
* **Dados incompletos**: verifique se o pacote de instrumentação suporta a versão da sua biblioteca.
* **Spans duplicados**: evite instrumentar a mesma biblioteca várias vezes.

### Obtendo ajuda

Se você encontrar problemas:

1. Verifique a documentação do pacote de instrumentação
2. Entre em contato com o [suporte AppSignal](mailto:support@appsignal.com) para obter assistência
