Home

Awesome

OpenTelemetry Java Contrib

Build

This project is intended to provide helpful libraries and standalone OpenTelemetry-based utilities that don't fit the express scope of the OpenTelemetry Java or Java Instrumentation projects. If you need an easier way to bring observability to remote JVM-based applications and workflows that isn't easily satisfied by an SDK feature or via instrumentation, this project is hopefully for you.

Provided Libraries

Status*Library
betaAWS Resources
stableAWS X-Ray SDK Support
alphaAWS X-Ray Propagator
alphaBaggage Span Processor
alphazstd Compressor
alphaConsistent Sampling
alphaDisk Buffering
betaGCP Resources
betaInferred Spans
alphaJFR Connection
alphaJFR Events
alphaJMX Metric Gatherer
alphaKafka Support
alphaOpenTelemetry Maven Extension
alphaMicrometer MeterProvider
alphaNo-Op API
alphaIntercept and Process Signals Globally
alphaPrometheus Client Bridge
alphaResource Providers
alphaRuntime Attach
alphaSamplers
betaSpan Stacktrace Capture
alphaStatic Instrumenter

* alpha, beta and stable are currently used to denote library status per otep 0232. To reach stable status, the library needs to have stable APIs, stable semantic conventions, and be production ready. On reaching stable status, the otel.stable value in gradle.properties should be set to true. Note that currently all the libraries are released together with the version of this repo, so breaking changes (after stable status is reached) would bump the major version of all libraries together. This could get complicated so stable has a high bar.

Getting Started

# Apply formatting
$ ./gradlew spotlessApply

# Build the complete project
$ ./gradlew build

# Run integration tests
$ ./gradlew integrationTest

# Clean artifacts
$ ./gradlew clean

Contributing

The Java Contrib project was initially formed to provide methods of easy remote JMX metric gathering and reporting, which is actively in development. If you have an idea for a similar use case in the metrics, traces, or logging domain we would be very interested in supporting it. Please open an issue to share your idea or suggestion. PRs are always welcome and greatly appreciated, but for larger functional changes a pre-coding introduction can be helpful to ensure this is the correct place and that active or conflicting efforts don't exist.

Triagers (@open-telemetry/java-contrib-triagers):

Approvers (@open-telemetry/java-contrib-approvers):

Maintainers (@open-telemetry/java-contrib-maintainers):

Emeritus maintainers:

Learn more about roles in the community repository.

Thanks to all the people who already contributed!

<a href="https://github.com/open-telemetry/opentelemetry-java-contrib/graphs/contributors"> <img src="https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-java-contrib" /> </a>