Class InMemorySpanExporter
- java.lang.Object
-
- io.opentelemetry.sdk.testing.exporter.InMemorySpanExporter
-
- All Implemented Interfaces:
io.opentelemetry.sdk.trace.export.SpanExporter
,java.io.Closeable
,java.lang.AutoCloseable
public final class InMemorySpanExporter extends java.lang.Object implements io.opentelemetry.sdk.trace.export.SpanExporter
ASpanExporter
implementation that can be used to test OpenTelemetry integration.Example usage:
// class MyClassTest { // private final Tracer tracer = new TracerSdk(); // private final InMemorySpanExporter testExporter = InMemorySpanExporter.create(); // // @Before // public void setup() { // tracer.addSpanProcessor(SimpleSampledSpansProcessor.builder(testExporter).build()); // } // // @Test // public void getFinishedSpanData() { // tracer.spanBuilder("span").startSpan().end(); // // List<Span> spanItems = exporter.getFinishedSpanItems(); // assertThat(spanItems).isNotNull(); // assertThat(spanItems.size()).isEqualTo(1); // assertThat(spanItems.get(0).getName()).isEqualTo("span"); // } // }
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static InMemorySpanExporter
create()
Returns a new instance of theInMemorySpanExporter
.io.opentelemetry.sdk.common.CompletableResultCode
export(java.util.Collection<io.opentelemetry.sdk.trace.data.SpanData> spans)
io.opentelemetry.sdk.common.CompletableResultCode
flush()
The InMemory exporter does not batch spans, so this method will immediately return with success.java.util.List<io.opentelemetry.sdk.trace.data.SpanData>
getFinishedSpanItems()
Returns aList
of the finishedSpan
s, represented bySpanData
.void
reset()
Clears the internalList
of finishedSpan
s.io.opentelemetry.sdk.common.CompletableResultCode
shutdown()
Clears the internalList
of finishedSpanData
s.
-
-
-
Method Detail
-
create
public static InMemorySpanExporter create()
Returns a new instance of theInMemorySpanExporter
.- Returns:
- a new instance of the
InMemorySpanExporter
.
-
getFinishedSpanItems
public java.util.List<io.opentelemetry.sdk.trace.data.SpanData> getFinishedSpanItems()
Returns aList
of the finishedSpan
s, represented bySpanData
.- Returns:
- a
List
of the finishedSpan
s.
-
reset
public void reset()
Clears the internalList
of finishedSpan
s.Does not reset the state of this exporter if already shutdown.
-
export
public io.opentelemetry.sdk.common.CompletableResultCode export(java.util.Collection<io.opentelemetry.sdk.trace.data.SpanData> spans)
- Specified by:
export
in interfaceio.opentelemetry.sdk.trace.export.SpanExporter
-
flush
public io.opentelemetry.sdk.common.CompletableResultCode flush()
The InMemory exporter does not batch spans, so this method will immediately return with success.- Specified by:
flush
in interfaceio.opentelemetry.sdk.trace.export.SpanExporter
- Returns:
- always Success
-
shutdown
public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
Clears the internalList
of finishedSpanData
s.Any subsequent call to export() function on this SpanExporter, will return
CompletableResultCode.ofFailure()
- Specified by:
shutdown
in interfaceio.opentelemetry.sdk.trace.export.SpanExporter
-
-