/opentracing-toolbox

Best-of-breed OpenTracing utilities, instrumentations and extensions

Primary LanguageJavaMIT LicenseMIT

OpenTracing Toolbox

This project is in maintenance mode - because OpenTracing has been archived.

Please migrate your OpenTracing applications to OpenTelemetry.

We will continue to support this project with bugfixes until most applications in Zalando have been migrated to OpenTelemetry.

Stability: Active Build Status Coverage Status Code Quality Release Maven Central OpenTracing License

OpenTracing Toolbox is a collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.

  • Status: Under development and used in production

Features

  • Legacy FlowID compatibility support
  • JDBC support
  • Extensible OpenTracing Proxy (wrapper) w/ support for listeners and interceptors
  • Servlet support
  • Spring Web and Webflux support
  • Sensible defaults

Modules

FlowID

The opentracing-flowid module replaces the former zalando/tracer library by providing support for the X-Flow-ID header propagation on top of OpenTracing.

Go checkout out its README for details.

JDBC

The opentracing-jdbc module is a direct competitor to opentracing-contrib/java-jdbc.

Go checkout out its README for details.

Proxy

The opentracing-proxy module is a direct competitor to opentracing-contrib/java-api-extensions.

Go checkout out its README for details.

Servlet Extension

The opentracing-servlet-extension module is an extension to io.opentracing.contrib:opentracing-web-servlet-filter and only useful if used in conjunction.

Go checkout out its README for details.

Spring Web Extension

The opentracing-spring-web-extension module is an extension to io.opentracing.contrib:opentracing-spring-web and only useful if used in conjunction.

Go checkout out its README for details.

Spring Webflux Extension

The opentracing-spring-webflux-extension module is an extension to io.opentracing.contrib:opentracing-spring-web and only useful if used in conjunction.

Go checkout out its README for details.

Getting Help

If you have questions, concerns, bug reports, etc., please file an issue in this repository's Issue Tracker.

Getting Involved/Contributing

To contribute, simply make a pull request and add a brief description (1-2 sentences) of your addition or change. For more details, check the contribution guidelines.

Alternatives

Tracer, by design, does not provide sampling, metrics or annotations. Neither does it use the semantics of spans as most of the following projects do. If you require any of these, you're highly encouraged to try them.