Closeable
, AutoCloseable
public abstract class Tracing extends Object implements Closeable
Tracer
.
Instances built via newBuilder()
are registered automatically such that statically
configured instrumentation like JDBC drivers can use current()
.
This type can be extended so that the object graph can be built differently or overridden, for example via spring or when mocking.
Modifier and Type | Class | Description |
---|---|---|
static class |
Tracing.Builder |
Constructor | Description |
---|---|
Tracing() |
Modifier and Type | Method | Description |
---|---|---|
abstract Clock |
clock() |
This exposes the microsecond clock used by operations such as
Span.finish() . |
abstract void |
close() |
Ensures this component can be garbage collected, by making it not
current() |
static Tracing |
current() |
Returns the most recently created tracing component iff it hasn't been closed.
|
abstract CurrentTraceContext |
currentTraceContext() |
This supports in-process propagation, typically across thread boundaries.
|
static Tracer |
currentTracer() |
Returns the most recently created tracer iff its component hasn't been closed.
|
boolean |
isNoop() |
When true, no recording is done and nothing is reported to zipkin.
|
static Tracing.Builder |
newBuilder() |
|
Propagation<String> |
propagation() |
When a trace leaves the process, it needs to be propagated, usually via headers.
|
abstract Propagation.Factory |
propagationFactory() |
This supports edge cases like GRPC Metadata propagation which doesn't use String keys.
|
void |
setNoop(boolean noop) |
Set true to drop data and only return
noop spans regardless of sampling
policy. |
abstract Tracer |
tracer() |
All tracing commands start with a
Span . |
public static Tracing.Builder newBuilder()
public abstract Tracer tracer()
Span
. Use a tracer to create spans.public Propagation<String> propagation()
public abstract Propagation.Factory propagationFactory()
public abstract CurrentTraceContext currentTraceContext()
public abstract Clock clock()
Span.finish()
. This is
helpful when you want to time things manually.@Nullable public static Tracer currentTracer()
This object should not be cached.
public boolean isNoop()
Span.isNoop()
public void setNoop(boolean noop)
noop spans
regardless of sampling
policy. This allows operators to stop tracing in risk scenarios.isNoop()
@Nullable public static Tracing current()
This object should not be cached.
public abstract void close()
current()
close
in interface AutoCloseable
close
in interface Closeable
Copyright © 2018 OpenZipkin. All rights reserved.