Class SimpleSpanProcessor
- All Implemented Interfaces:
SpanProcessor,Closeable,AutoCloseable
SpanProcessor that converts the ReadableSpan to SpanData and passes it directly to the configured exporter.
This processor will cause all spans to be exported directly as they finish, meaning each
export request will have a single span. Most backends will not perform well with a single span
per request so unless you know what you're doing, strongly consider using BatchSpanProcessor instead, including in special environments such as serverless runtimes.
SimpleSpanProcessor is generally meant to for logging exporters only.
-
Method Summary
Modifier and TypeMethodDescriptionstatic SpanProcessorcreate(SpanExporter exporter) Returns a newSimpleSpanProcessorwhich exports spans to theSpanExportersynchronously.io.opentelemetry.sdk.common.CompletableResultCodeProcesses all span events that have not yet been processed.booleanReturnstrueif thisSpanProcessorrequires end events.booleanReturnstrueif thisSpanProcessorrequires start events.voidonEnd(ReadableSpan span) Called when aSpanis ended, if theSpan.isRecording()returns true.voidonStart(io.opentelemetry.context.Context parentContext, ReadWriteSpan span) 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.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.opentelemetry.sdk.trace.SpanProcessor
close
-
Method Details
-
create
Returns a newSimpleSpanProcessorwhich exports spans to theSpanExportersynchronously.This processor will cause all spans to be exported directly as they finish, meaning each export request will have a single span. Most backends will not perform well with a single span per request so unless you know what you're doing, strongly consider using
BatchSpanProcessorinstead, including in special environments such as serverless runtimes.SimpleSpanProcessoris generally meant to for logging exporters only. -
onStart
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.span- theSpanthat just started.
-
isStartRequired
public boolean isStartRequired()Description copied from interface:SpanProcessorReturnstrueif thisSpanProcessorrequires start events.- Specified by:
isStartRequiredin interfaceSpanProcessor- Returns:
trueif thisSpanProcessorrequires start events.
-
onEnd
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:
span- theSpanthat 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.
-
toString
-