Class MultiSpanExporter
- java.lang.Object
-
- io.opentelemetry.sdk.trace.export.MultiSpanExporter
-
- All Implemented Interfaces:
SpanExporter
,java.io.Closeable
,java.lang.AutoCloseable
final class MultiSpanExporter extends java.lang.Object implements SpanExporter
SpanExporter
that forwards all received spans to a list ofSpanExporter
.Can be used to export to multiple backends using the same
SpanProcessor
like aSimpleSpanProcessor
or aBatchSpanProcessor
.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.Logger
logger
private SpanExporter[]
spanExporters
-
Constructor Summary
Constructors Modifier Constructor Description private
MultiSpanExporter(SpanExporter[] spanExporters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static SpanExporter
create(java.util.List<SpanExporter> spanExporters)
Constructs and returns an instance of this class.CompletableResultCode
export(java.util.Collection<SpanData> spans)
Called to export sampledSpan
s.CompletableResultCode
flush()
Flushes the data of all registeredSpanExporter
s.CompletableResultCode
shutdown()
Called whenSdkTracerProvider.shutdown()
is called, if thisSpanExporter
is registered to aSdkTracerProvider
object.java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.opentelemetry.sdk.trace.export.SpanExporter
close
-
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
spanExporters
private final SpanExporter[] spanExporters
-
-
Constructor Detail
-
MultiSpanExporter
private MultiSpanExporter(SpanExporter[] spanExporters)
-
-
Method Detail
-
create
static SpanExporter create(java.util.List<SpanExporter> spanExporters)
Constructs and returns an instance of this class.- Parameters:
spanExporters
- the exporters spans should be sent to- Returns:
- the aggregate span exporter
-
export
public CompletableResultCode export(java.util.Collection<SpanData> spans)
Description copied from interface:SpanExporter
Called to export sampledSpan
s. Note that export operations can be performed simultaneously depending on the type of span processor being used. However, theBatchSpanProcessor
will ensure that only one export can occur at a time.- Specified by:
export
in interfaceSpanExporter
- Parameters:
spans
- the collection of sampled Spans to be exported.- Returns:
- the result of the export, which is often an asynchronous operation.
-
flush
public CompletableResultCode flush()
Flushes the data of all registeredSpanExporter
s.- Specified by:
flush
in interfaceSpanExporter
- Returns:
- the result of the operation
-
shutdown
public CompletableResultCode shutdown()
Description copied from interface:SpanExporter
Called whenSdkTracerProvider.shutdown()
is called, if thisSpanExporter
is registered to aSdkTracerProvider
object.- Specified by:
shutdown
in interfaceSpanExporter
- Returns:
- a
CompletableResultCode
which is completed when shutdown completes.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-