Primeros pasos • Involucrarse • Ponerse en contacto
Contribuyendo • Alcance
Este proyecto proporciona un JAR de agente Java que se puede adjuntar a cualquier aplicación Java 8+ e inyecta dinámicamente código de bytes para capturar telemetría de varias bibliotecas y marcos populares. Puede exportar los datos de telemetría en una variedad de formatos. También puede configurar el agente y el exportador mediante argumentos de línea de comando o variables de entorno. El resultado neto es la capacidad de recopilar datos de telemetría desde una aplicación Java sin cambios de código.
Este repositorio también publica instrumentación independiente para varias bibliotecas (y en crecimiento) que puede usarse si lo prefiere en lugar del agente Java. Consulte la columna de instrumentación de la biblioteca independiente en Bibliotecas compatibles. Si está buscando documentación sobre su uso.
Descargue la última versión.
Este paquete incluye el agente de instrumentación, así como instrumentaciones para todas las bibliotecas compatibles y todos los exportadores de datos disponibles. El paquete proporciona una experiencia completamente automática y lista para usar.
Nota: Hay versiones 2.x y 1.x. La versión 2.0 incluyó cambios importantes, cuyos detalles se pueden encontrar en las notas de la versión. Se recomienda utilizar la última versión 2.x, que tendrá las últimas funciones y mejoras. 1.x recibirá parches de seguridad por tiempo limitado y no incluirá otras correcciones de errores ni mejoras.
Habilite el agente de instrumentación utilizando el indicador -javaagent
en la JVM.
java -javaagent:path/to/opentelemetry-javaagent.jar
-jar myapp.jar
De forma predeterminada, el agente Java de OpenTelemetry utiliza el exportador OTLP configurado para enviar datos a un recopilador de OpenTelemetry en http://localhost:4318
.
Los parámetros de configuración se pasan como propiedades del sistema Java (indicadores -D
) o como variables de entorno. Consulte la documentación de configuración para obtener la lista completa de elementos de configuración. Por ejemplo:
java -javaagent:path/to/opentelemetry-javaagent.jar
-Dotel.resource.attributes=service.name=your-service-name
-Dotel.traces.exporter=zipkin
-jar myapp.jar
¡El agente es altamente configurable! Muchos aspectos del comportamiento del agente se pueden configurar según sus necesidades, como la elección del exportador, la configuración del exportador (como dónde se envían los datos), los encabezados de propagación del contexto de seguimiento y mucho más.
Para obtener una lista detallada de las opciones de configuración del agente, consulte los documentos de configuración del agente.
Para obtener una lista detallada de variables de entorno de configuración del SDK y propiedades del sistema adicionales, consulte los documentos de configuración del SDK.
Nota: Es muy probable que los nombres de los parámetros de configuración cambien con el tiempo, así que vuelva a consultar aquí cuando pruebe una nueva versión. Informe cualquier error o comportamiento inesperado que encuentre.
Admitimos una cantidad impresionantemente enorme de bibliotecas y marcos y la mayoría de los servidores de aplicaciones más populares... ¡listos para usar! Haga clic aquí para ver la lista completa y obtener más información sobre la instrumentación deshabilitada y cómo suprimir la instrumentación no deseada.
Las extensiones agregan nuevas características y capacidades al agente sin tener que crear una distribución separada o bifurcar este repositorio. Por ejemplo, puede crear muestreadores personalizados o exportadores de tramos, establecer nuevos valores predeterminados e incrustarlo todo en el agente para obtener un único archivo jar.
Para la mayoría de los usuarios, la instrumentación lista para usar es completamente suficiente y no es necesario hacer nada más. A veces, sin embargo, los usuarios desean agregar atributos a los intervalos que de otro modo serían automáticos, o es posible que deseen crear intervalos manualmente para su propio código personalizado.
Para obtener instrucciones detalladas, consulte Instrumentación manual.
Es posible inyectar información de seguimiento, como ID de seguimiento e ID de tramo, en los registros de su aplicación personalizada. Para obtener más información, consulte Instrumentación automática del Logger MDC.
Para activar el registro de depuración interno del agente:
-Dotel.javaagent.debug=true
Nota : Estos registros son extremadamente detallados. Habilite el registro de depuración solo cuando sea necesario. El registro de depuración afecta negativamente el rendimiento de su aplicación.
Consulte CONTRIBUCIÓN.md.
Triagers (@open-telemetry/java-instrumentation-triagers):
Aprobadores (@open-telemetry/java-instrumentation-approvers):
Mantenedores (@open-telemetry/java-instrumentation-maintainers):
Mantenedores eméritos:
Obtenga más información sobre los roles en el repositorio comunitario.
¡Gracias a todas las personas que ya contribuyeron!