Начало работы • Участие • Связь
Вклад • Объем
Этот проект предоставляет JAR-файл Java-агента, который можно прикрепить к любому приложению Java 8+ и динамически внедрять байт-код для сбора данных телеметрии из ряда популярных библиотек и платформ. Вы можете экспортировать данные телеметрии в различные форматы. Вы также можете настроить агент и экспортер с помощью аргументов командной строки или переменных среды. Конечным результатом является возможность собирать данные телеметрии из приложения Java без изменения кода.
В этом репозитории также публикуются автономные инструменты для нескольких библиотек (и их количество растет), которые можно использовать, если вы предпочитаете использовать агент Java. См. столбец «Инструментирование автономных библиотек» в разделе «Поддерживаемые библиотеки». Если вы ищете документацию по использованию тех.
Загрузите последнюю версию.
Этот пакет включает в себя агент инструментирования, а также инструменты для всех поддерживаемых библиотек и всех доступных экспортеров данных. Пакет обеспечивает полностью автоматический, готовый к использованию опыт.
Примечание. Существуют версии 2.x и 1.x. Версия 2.0 включала существенные изменения, подробности о которых можно найти в примечаниях к выпуску. Рекомендуется использовать последнюю версию 2.x, в которой будут новейшие функции и улучшения. 1.x будет получать исправления безопасности в течение ограниченного времени и не будет включать в себя другие исправления ошибок и улучшения.
Включите агент инструментирования, используя флаг -javaagent
для JVM.
java -javaagent:path/to/opentelemetry-javaagent.jar
-jar myapp.jar
По умолчанию агент Java OpenTelemetry использует экспортер OTLP, настроенный для отправки данных в сборщик OpenTelemetry по адресу http://localhost:4318
.
Параметры конфигурации передаются как системные свойства Java (флаги -D
) или как переменные среды. Полный список элементов конфигурации см. в документации по конфигурации. Например:
java -javaagent:path/to/opentelemetry-javaagent.jar
-Dotel.resource.attributes=service.name=your-service-name
-Dotel.traces.exporter=zipkin
-jar myapp.jar
Агент имеет широкие возможности настройки! Многие аспекты поведения агента можно настроить в соответствии с вашими потребностями, например выбор экспортера, конфигурация экспортера (например, куда отправляются данные), заголовки распространения контекста трассировки и многое другое.
Подробный список параметров конфигурации агента см. в документации по конфигурации агента.
Подробный список дополнительных переменных среды конфигурации SDK и системных свойств см. в документации по конфигурации SDK.
Примечание. Имена параметров конфигурации, скорее всего, со временем изменятся, поэтому, пожалуйста, заходите сюда, когда опробуете новую версию! Пожалуйста, сообщайте о любых ошибках или неожиданном поведении, которые вы обнаружите.
Мы поддерживаем впечатляюще огромное количество библиотек и фреймворков, а также большинство самых популярных серверов приложений... прямо из коробки! Нажмите здесь, чтобы просмотреть полный список и узнать больше об отключенных инструментах и о том, как подавить нежелательные инструменты.
Расширения добавляют к агенту новые функции и возможности без необходимости создавать отдельный дистрибутив или разветвлять этот репозиторий. Например, вы можете создавать собственные сэмплеры или экспортеры диапазонов, устанавливать новые значения по умолчанию и встраивать все это в агент, чтобы получить один файл jar.
Для большинства пользователей готовых инструментов вполне достаточно и больше ничего делать не нужно. Однако иногда пользователи хотят добавить атрибуты к автоматическим диапазонам или вручную создать диапазоны для своего собственного кода.
Подробные инструкции см. в разделе Ручное оборудование.
В пользовательские журналы приложений можно вставлять информацию трассировки, такую как идентификаторы трассировки и идентификаторы диапазона. Подробности см. в разделе «Автоинструментация Logger MDC».
Чтобы включить внутреннее ведение журнала отладки агента:
-Dotel.javaagent.debug=true
Примечание . Эти журналы чрезвычайно подробны. Включайте ведение журнала отладки только при необходимости. Ведение журнала отладки отрицательно влияет на производительность вашего приложения.
См. CONTRIBUTING.md.
Тригеры (@open-telemetry/java-instrumentation-triagers):
Утверждающие (@open-telemetry/java-instrumentation-approvers):
Специалисты по обслуживанию (@open-telemetry/java-instrumentation-maintainers):
Почетные сопровождающие:
Узнайте больше о ролях в репозитории сообщества.
Спасибо всем людям, которые уже внесли свой вклад!