Package io.opentelemetry.sdk.trace
Class MultiSpanProcessor
- java.lang.Object
-
- io.opentelemetry.sdk.trace.MultiSpanProcessor
-
- All Implemented Interfaces:
SpanProcessor
public final class MultiSpanProcessor extends Object implements SpanProcessor
Implementation of theSpanProcessorthat simply forwards all received events to a list ofSpanProcessors.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SpanProcessorcreate(List<SpanProcessor> spanProcessorList)Creates a newMultiSpanProcessor.io.opentelemetry.sdk.common.CompletableResultCodeforceFlush()Processes all span events that have not yet been processed.booleanisEndRequired()Returnstrueif thisSpanProcessorrequires end events.booleanisStartRequired()Returnstrueif thisSpanProcessorrequires start events.voidonEnd(ReadableSpan readableSpan)Called when aSpanis ended, if theSpan.isRecording()returns true.voidonStart(io.opentelemetry.context.Context parentContext, ReadWriteSpan readableSpan)Called when aSpanis started, if theSpan.isRecording()returns true.io.opentelemetry.sdk.common.CompletableResultCodeshutdown()Processes all span events that have not yet been processed and closes used resources.
-
-
-
Method Detail
-
create
public static SpanProcessor create(List<SpanProcessor> spanProcessorList)
Creates a newMultiSpanProcessor.- Parameters:
spanProcessorList- theListofSpanProcessors.- Returns:
- a new
MultiSpanProcessor. - Throws:
NullPointerException- if thespanProcessorListisnull.
-
onStart
public void onStart(io.opentelemetry.context.Context parentContext, ReadWriteSpan readableSpan)Description copied from interface:SpanProcessorCalled when aSpanis started, if theSpan.isRecording()returns true.This method is called synchronously on the execution thread, should not throw or block the execution thread.
- Specified by:
onStartin interfaceSpanProcessor- Parameters:
parentContext- the parentContextof the span that just started.readableSpan- theReadableSpanthat just started.
-
isStartRequired
public boolean isStartRequired()
Description copied from interface:SpanProcessorReturnstrueif thisSpanProcessorrequires start events.- Specified by:
isStartRequiredin interfaceSpanProcessor- Returns:
trueif thisSpanProcessorrequires start events.
-
onEnd
public void onEnd(ReadableSpan readableSpan)
Description copied from interface:SpanProcessorCalled when aSpanis ended, if theSpan.isRecording()returns true.This method is called synchronously on the execution thread, should not throw or block the execution thread.
- Specified by:
onEndin interfaceSpanProcessor- Parameters:
readableSpan- theReadableSpanthat just ended.
-
isEndRequired
public boolean isEndRequired()
Description copied from interface:SpanProcessorReturnstrueif thisSpanProcessorrequires end events.- Specified by:
isEndRequiredin interfaceSpanProcessor- Returns:
trueif thisSpanProcessorrequires end events.
-
shutdown
public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
Description copied from interface:SpanProcessorProcesses all span events that have not yet been processed and closes used resources.- Specified by:
shutdownin interfaceSpanProcessor- Returns:
- a
CompletableResultCodewhich completes when shutdown is finished.
-
forceFlush
public io.opentelemetry.sdk.common.CompletableResultCode forceFlush()
Description copied from interface:SpanProcessorProcesses all span events that have not yet been processed.- Specified by:
forceFlushin interfaceSpanProcessor- Returns:
- a
CompletableResultCodewhich completes when currently queued spans are finished processing.
-
-