Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Instana Java OpenTracing  Build Status

Instana is capable of collecting traces that are described via the OpenTracing API. In order to collect such traces, this tracer implementation must be used.

The artifact is available on Maven Central. When using Maven you can include the tracer with:


The older 0.20.7, 0.30.3, 0.31.0 and 0.32.0 are also available.

The implementation's version number follows the OpenTracing API version that it implements.

The tracer is fully compliant with the OpenTracing API and is available via:

io.opentracing.Tracer tracer = new InstanaTracer();

it will try to load a ScopeManager via the Java Service Loader. Or when explicitly using a specific ScopeManager:

io.opentracing.util.ThreadLocalScopeManager scopeManager = new ThreadLocalScopeManager();
io.opentracing.Tracer tracer = new InstanaTracer(scopeManager);

The Instana tracer supports context propagation using all of OpenTracing's built-in formats, i.e. Format.Builtin#TEXT_MAP, Format.Builtin#HTTP_HEADERS and Format.Builtin#BINARY.

When the Instana monitoring agent is not attached, the Instana OpenTracing API will act as an inactive tracer, similarly to the OpenTracing noop-tracer. To activate opentracing you must activate it in the agent configuation:

# Java Tracing
    # Lightweight Bytecode Instrumentation, enabled by default
    enabled: true
    # OpenTracing instrumentation, disabled by default
    opentracing: true