Primeiros passos • Envolvendo-se • Entrando em contato
Contribuição • Escopo
Este projeto fornece um JAR de agente Java que pode ser anexado a qualquer aplicativo Java 8+ e injeta bytecode dinamicamente para capturar telemetria de diversas bibliotecas e estruturas populares. Você pode exportar os dados de telemetria em vários formatos. Você também pode configurar o agente e o exportador por meio de argumentos de linha de comando ou variáveis de ambiente. O resultado líquido é a capacidade de coletar dados de telemetria de um aplicativo Java sem alterações de código.
Este repositório também publica instrumentação autônoma para várias bibliotecas (e em crescimento) que podem ser usadas se você preferir em vez de usar o agente Java. Consulte a coluna de instrumentação de biblioteca independente em Bibliotecas Suportadas. Se você estiver procurando documentação sobre como usá-los.
Baixe a versão mais recente.
Este pacote inclui o agente de instrumentação, bem como instrumentações para todas as bibliotecas suportadas e todos os exportadores de dados disponíveis. O pacote oferece uma experiência totalmente automática e pronta para uso.
Nota: Existem versões 2.x e versões 1.x. A versão 2.0 incluiu alterações significativas, cujos detalhes podem ser encontrados nas notas de versão. Recomenda-se usar a versão 2.x mais recente, que terá os recursos e melhorias mais recentes. 1.x receberá patches de segurança por tempo limitado e não incluirá outras correções de bugs e melhorias.
Ative o agente de instrumentação usando o sinalizador -javaagent
para a JVM.
java -javaagent:path/to/opentelemetry-javaagent.jar
-jar myapp.jar
Por padrão, o agente OpenTelemetry Java usa o exportador OTLP configurado para enviar dados para um coletor OpenTelemetry em http://localhost:4318
.
Os parâmetros de configuração são passados como propriedades do sistema Java (sinalizadores -D
) ou como variáveis de ambiente. Consulte a documentação de configuração para obter a lista completa de itens de configuração. Por exemplo:
java -javaagent:path/to/opentelemetry-javaagent.jar
-Dotel.resource.attributes=service.name=your-service-name
-Dotel.traces.exporter=zipkin
-jar myapp.jar
O agente é altamente configurável! Muitos aspectos do comportamento do agente podem ser configurados de acordo com suas necessidades, como escolha do exportador, configuração do exportador (como para onde os dados são enviados), cabeçalhos de propagação de contexto de rastreamento e muito mais.
Para obter uma lista detalhada das opções de configuração do agente, consulte a documentação de configuração do agente.
Para obter uma lista detalhada de variáveis de ambiente de configuração adicionais do SDK e propriedades do sistema, consulte os documentos de configuração do SDK.
Nota: É muito provável que os nomes dos parâmetros de configuração mudem com o tempo, portanto, volte aqui ao testar uma nova versão! Por favor, relate quaisquer bugs ou comportamentos inesperados que você encontrar.
Oferecemos suporte a um número impressionante de bibliotecas e estruturas e à maioria dos servidores de aplicativos mais populares... prontos para uso! Clique aqui para ver a lista completa e saber mais sobre instrumentação desativada e como suprimir instrumentação indesejada.
As extensões adicionam novos recursos e capacidades ao agente sem a necessidade de criar uma distribuição separada ou bifurcar este repositório. Por exemplo, você pode criar amostradores personalizados ou exportadores de span, definir novos padrões e incorporar tudo no agente para obter um único arquivo jar.
Para a maioria dos usuários, a instrumentação pronta para uso é completamente suficiente e nada mais precisa ser feito. Às vezes, no entanto, os usuários desejam adicionar atributos aos spans automáticos ou podem querer criar spans manualmente para seu próprio código personalizado.
Para obter instruções detalhadas, consulte Instrumentação manual.
É possível injetar informações de rastreamento, como IDs de rastreamento e IDs de intervalo, nos logs de aplicativos personalizados. Para obter detalhes, consulte Instrumentação automática do Logger MDC.
Para ativar o registro de depuração interno do agente:
-Dotel.javaagent.debug=true
Nota : Esses logs são extremamente detalhados. Habilite o log de depuração somente quando necessário. O log de depuração impacta negativamente o desempenho do seu aplicativo.
Consulte CONTRIBUTING.md.
Triagers (@open-telemetry/java-instrumentation-triagers):
Aprovadores (@open-telemetry/java-instrumentation-approvers):
Mantenedores (@open-telemetry/java-instrumentation-maintainers):
Mantenedores eméritos:
Saiba mais sobre funções no repositório da comunidade.
Obrigado a todas as pessoas que já contribuíram!