시작하기 • 참여하기 • 연락하기
기여 • 범위
이 프로젝트는 모든 Java 8+ 애플리케이션에 연결할 수 있는 Java 에이전트 JAR을 제공하고 바이트코드를 동적으로 삽입하여 여러 인기 있는 라이브러리 및 프레임워크에서 원격 측정을 캡처합니다. 원격 측정 데이터를 다양한 형식으로 내보낼 수 있습니다. 명령줄 인수나 환경 변수를 통해 에이전트와 내보내기를 구성할 수도 있습니다. 최종 결과는 코드 변경 없이 Java 애플리케이션에서 원격 측정 데이터를 수집하는 기능입니다.
또한 이 리포지토리는 Java 에이전트를 사용하는 것보다 선호하는 경우 사용할 수 있는 여러 라이브러리(및 증가하는 라이브러리)에 대한 독립 실행형 계측을 게시합니다. 지원되는 라이브러리의 독립 실행형 라이브러리 계측 열을 참조하세요. 해당 문서 사용에 대한 문서를 찾고 있다면.
최신 버전을 다운로드하세요.
이 패키지에는 계측 에이전트는 물론 지원되는 모든 라이브러리와 사용 가능한 모든 데이터 내보내기에 대한 계측이 포함되어 있습니다. 이 패키지는 완전히 자동으로 즉시 사용 가능한 경험을 제공합니다.
참고: 2.x 릴리스와 1.x 릴리스가 있습니다. 2.0 릴리스에는 중요한 주요 변경 사항이 포함되어 있으며 자세한 내용은 릴리스 노트에서 확인할 수 있습니다. 최신 기능과 개선 사항이 포함된 최신 2.x 릴리스를 사용하는 것이 좋습니다. 1.x는 제한된 기간 동안 보안 패치를 받게 되며 기타 버그 수정 및 개선 사항은 포함되지 않습니다.
JVM에 -javaagent
플래그를 사용하여 계측 에이전트를 활성화합니다.
java -javaagent:path/to/opentelemetry-javaagent.jar
-jar myapp.jar
기본적으로 OpenTelemetry Java 에이전트는 http://localhost:4318
의 OpenTelemetry 수집기로 데이터를 보내도록 구성된 OTLP 내보내기를 사용합니다.
구성 매개변수는 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 파일을 얻을 수 있습니다.
대부분의 사용자에게는 즉시 사용 가능한 계측만으로 충분하며 더 이상 수행할 작업이 없습니다. 그러나 경우에 따라 사용자는 자동 범위에 속성을 추가하거나 자신의 사용자 지정 코드에 대한 범위를 수동으로 생성하려고 할 수도 있습니다.
자세한 지침은 수동 계측을 참조하세요.
추적 ID 및 범위 ID와 같은 추적 정보를 사용자 지정 애플리케이션 로그에 삽입할 수 있습니다. 자세한 내용은 Logger MDC 자동 계측을 참조하세요.
에이전트의 내부 디버그 로깅을 켜려면 다음 안내를 따르세요.
-Dotel.javaagent.debug=true
참고 : 이 로그는 매우 자세합니다. 필요한 경우에만 디버그 로깅을 활성화합니다. 디버그 로깅은 애플리케이션 성능에 부정적인 영향을 미칩니다.
CONTRIBUTING.md를 참조하세요.
심사자(@open-telemetry/java-instrumentation-triagers):
승인자(@open-telemetry/java-instrumentation-approvers):
유지관리자(@open-telemetry/java-instrumentation-maintainers):
명예 유지관리자:
커뮤니티 저장소의 역할에 대해 자세히 알아보세요.
이미 기여해주신 모든 분들께 감사드립니다!