Package io.opencensus.implcore.trace
Class SpanBuilderImpl
java.lang.Object
io.opencensus.trace.SpanBuilder
io.opencensus.implcore.trace.SpanBuilderImpl
Implementation of the
SpanBuilder
.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Span.Kind
private final String
private static final TraceOptions
private final SpanBuilderImpl.Options
private final Span
private Boolean
private final SpanContext
private static final TraceOptions
private Sampler
private static final Tracestate
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
SpanBuilderImpl
(String name, SpanContext remoteParentSpanContext, Span parent, SpanBuilderImpl.Options options) -
Method Summary
Modifier and TypeMethodDescription(package private) static SpanBuilderImpl
createWithParent
(String spanName, Span parent, SpanBuilderImpl.Options options) (package private) static SpanBuilderImpl
createWithRemoteParent
(String spanName, SpanContext remoteParentSpanContext, SpanBuilderImpl.Options options) private static boolean
isAnyParentLinkSampled
(List<Span> parentLinks) private static void
private static boolean
makeSamplingDecision
(SpanContext parent, Boolean hasRemoteParent, String name, Sampler sampler, List<Span> parentLinks, TraceId traceId, SpanId spanId, TraceParams activeTraceParams) setParentLinks
(List<Span> parentLinks) Sets theList
of parent links.setRecordEvents
(boolean recordEvents) Sets the optionSpan.Options.RECORD_EVENTS
for the newly createdSpan
.setSampler
(Sampler sampler) Sets theSampler
to use.setSpanKind
(Span.Kind kind) Sets theSpan.Kind
for the newly createdSpan
.Starts a newSpan
.private Span
startSpanInternal
(SpanContext parentContext, Boolean hasRemoteParent, String name, Sampler sampler, List<Span> parentLinks, Boolean recordEvents, Span.Kind kind, Span parentSpan) Methods inherited from class io.opencensus.trace.SpanBuilder
startScopedSpan, startSpanAndCall, startSpanAndRun
-
Field Details
-
TRACESTATE_DEFAULT
-
SAMPLED_TRACE_OPTIONS
-
NOT_SAMPLED_TRACE_OPTIONS
-
options
-
name
-
parent
-
remoteParentSpanContext
-
sampler
-
parentLinks
-
recordEvents
-
kind
-
-
Constructor Details
-
SpanBuilderImpl
private SpanBuilderImpl(String name, @Nullable SpanContext remoteParentSpanContext, @Nullable Span parent, SpanBuilderImpl.Options options)
-
-
Method Details
-
startSpanInternal
-
makeSamplingDecision
-
isAnyParentLinkSampled
-
linkSpans
-
createWithParent
static SpanBuilderImpl createWithParent(String spanName, @Nullable Span parent, SpanBuilderImpl.Options options) -
createWithRemoteParent
static SpanBuilderImpl createWithRemoteParent(String spanName, @Nullable SpanContext remoteParentSpanContext, SpanBuilderImpl.Options options) -
startSpan
Description copied from class:SpanBuilder
Starts a newSpan
.Users must manually call
Span.end()
orSpan.end(EndSpanOptions)
to end thisSpan
.Does not install the newly created
Span
to the current Context.Example of usage:
class MyClass { private static final Tracer tracer = Tracing.getTracer(); void DoWork(Span parent) { Span childSpan = tracer.spanBuilderWithExplicitParent("MyChildSpan", parent).startSpan(); childSpan.addAnnotation("my annotation"); try { doSomeWork(childSpan); // Manually propagate the new span down the stack. } finally { // To make sure we end the span even in case of an exception. childSpan.end(); // Manually end the span. } } }
- Specified by:
startSpan
in classSpanBuilder
- Returns:
- the newly created
Span
.
-
setSampler
Description copied from class:SpanBuilder
Sets theSampler
to use. If not set, the implementation will provide a default.- Specified by:
setSampler
in classSpanBuilder
- Parameters:
sampler
- theSampler
to use when determining sampling for aSpan
.- Returns:
- this.
-
setParentLinks
Description copied from class:SpanBuilder
Sets theList
of parent links. Links are used to linkSpan
s in different traces. Used (for example) in batching operations, where a single batch handler processes multiple requests from different traces.- Specified by:
setParentLinks
in classSpanBuilder
- Parameters:
parentLinks
- new links to be added.- Returns:
- this.
-
setRecordEvents
Description copied from class:SpanBuilder
Sets the optionSpan.Options.RECORD_EVENTS
for the newly createdSpan
. If not called, the implementation will provide a default.- Specified by:
setRecordEvents
in classSpanBuilder
- Parameters:
recordEvents
- new value determining if thisSpan
should have events recorded.- Returns:
- this.
-
setSpanKind
Description copied from class:SpanBuilder
Sets theSpan.Kind
for the newly createdSpan
. If not called, the implementation will provide a default.- Overrides:
setSpanKind
in classSpanBuilder
- Parameters:
kind
- the kind of the newly createdSpan
.- Returns:
- this.
-