InMemoryExporter is an exporter that stores all received spans in-memory.
type InMemoryExporter struct {
// contains filtered or unexported fields
}
func NewInMemoryExporter() *InMemoryExporter
NewInMemoryExporter returns a new InMemoryExporter.
func (imsb *InMemoryExporter) ExportSpans(_ context.Context, spans []trace.ReadOnlySpan) error
ExportSpans handles export of spans by storing them in memory.
func (imsb *InMemoryExporter) GetSpans() SpanStubs
GetSpans returns the current in-memory stored spans.
func (imsb *InMemoryExporter) Reset()
Reset the current in-memory storage.
func (imsb *InMemoryExporter) Shutdown(context.Context) error
Shutdown stops the exporter by clearing spans held in memory.
NoopExporter is an exporter that drops all received spans and performs no action.
type NoopExporter struct{}
func NewNoopExporter() *NoopExporter
NewNoopExporter returns a new no-op exporter.
func (nsb *NoopExporter) ExportSpans(context.Context, []trace.ReadOnlySpan) error
ExportSpans handles export of spans by dropping them.
func (nsb *NoopExporter) Shutdown(context.Context) error
Shutdown stops the exporter by doing nothing.
SpanRecorder records started and ended spans.
type SpanRecorder struct {
// contains filtered or unexported fields
}
func NewSpanRecorder() *SpanRecorder
NewSpanRecorder returns a new initialized SpanRecorder.
func (sr *SpanRecorder) Ended() []sdktrace.ReadOnlySpan
Ended returns a copy of all ended spans that have been recorded.
This method is safe to be called concurrently.
func (sr *SpanRecorder) ForceFlush(context.Context) error
ForceFlush does nothing.
This method is safe to be called concurrently.
func (sr *SpanRecorder) OnEnd(s sdktrace.ReadOnlySpan)
OnEnd records completed spans.
This method is safe to be called concurrently.
func (sr *SpanRecorder) OnStart(_ context.Context, s sdktrace.ReadWriteSpan)
OnStart records started spans.
This method is safe to be called concurrently.
func (sr *SpanRecorder) Shutdown(context.Context) error
Shutdown does nothing.
This method is safe to be called concurrently.
func (sr *SpanRecorder) Started() []sdktrace.ReadWriteSpan
Started returns a copy of all started spans that have been recorded.
This method is safe to be called concurrently.
SpanStub is a stand-in for a Span.
type SpanStub struct { Name string SpanContext trace.SpanContext Parent trace.SpanContext SpanKind trace.SpanKind StartTime time.Time EndTime time.Time Attributes []attribute.KeyValue Events []tracesdk.Event Links []tracesdk.Link Status tracesdk.Status DroppedAttributes int DroppedEvents int DroppedLinks int ChildSpanCount int Resource *resource.Resource InstrumentationLibrary instrumentation.Library }
func SpanStubFromReadOnlySpan(ro tracesdk.ReadOnlySpan) SpanStub
SpanStubFromReadOnlySpan returns a SpanStub populated from ro.
func (s SpanStub) Snapshot() tracesdk.ReadOnlySpan
Snapshot returns a read-only copy of the SpanStub.
SpanStubs is a slice of SpanStub use for testing an SDK.
type SpanStubs []SpanStub
func SpanStubsFromReadOnlySpans(ro []tracesdk.ReadOnlySpan) SpanStubs
SpanStubsFromReadOnlySpans returns SpanStubs populated from ro.
func (s SpanStubs) Snapshots() []tracesdk.ReadOnlySpan
Snapshots returns s as a slice of ReadOnlySpans.