Skip to content

instana/instana-java-opentracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

<dependency>
  <groupId>com.instana</groupId>
  <artifactId>instana-java-opentracing</artifactId>
  <version>0.33.0</version>
</dependency>

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
com.instana.plugin.javatrace:
  instrumentation:
    # Lightweight Bytecode Instrumentation, enabled by default
    enabled: true
    # OpenTracing instrumentation, disabled by default
    opentracing: true