tracetest

package
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2022 License: Apache-2.0 Imports: 8 Imported by: 97

Documentation

Overview

Package tracetest is a testing helper package for the SDK. User can configure no-op or in-memory exporters to verify different SDK behaviors or custom instrumentation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InMemoryExporter

type InMemoryExporter struct {
	// contains filtered or unexported fields
}

InMemoryExporter is an exporter that stores all received spans in-memory.

func NewInMemoryExporter

func NewInMemoryExporter() *InMemoryExporter

NewInMemoryExporter returns a new InMemoryExporter.

func (*InMemoryExporter) ExportSpans

func (imsb *InMemoryExporter) ExportSpans(_ context.Context, spans []trace.ReadOnlySpan) error

ExportSpans handles export of spans by storing them in memory.

func (*InMemoryExporter) GetSpans

func (imsb *InMemoryExporter) GetSpans() SpanStubs

GetSpans returns the current in-memory stored spans.

func (*InMemoryExporter) Reset

func (imsb *InMemoryExporter) Reset()

Reset the current in-memory storage.

func (*InMemoryExporter) Shutdown

func (imsb *InMemoryExporter) Shutdown(context.Context) error

Shutdown stops the exporter by clearing spans held in memory.

type NoopExporter

type NoopExporter struct{}

NoopExporter is an exporter that drops all received spans and performs no action.

func NewNoopExporter

func NewNoopExporter() *NoopExporter

NewNoopExporter returns a new no-op exporter.

func (*NoopExporter) ExportSpans

func (nsb *NoopExporter) ExportSpans(context.Context, []trace.ReadOnlySpan) error

ExportSpans handles export of spans by dropping them.

func (*NoopExporter) Shutdown

func (nsb *NoopExporter) Shutdown(context.Context) error

Shutdown stops the exporter by doing nothing.

type SpanRecorder added in v1.0.0

type SpanRecorder struct {
	// contains filtered or unexported fields
}

SpanRecorder records started and ended spans.

func NewSpanRecorder added in v1.0.0

func NewSpanRecorder() *SpanRecorder

NewSpanRecorder returns a new initialized SpanRecorder.

func (*SpanRecorder) Ended added in v1.0.0

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 (*SpanRecorder) ForceFlush added in v1.0.0

func (sr *SpanRecorder) ForceFlush(context.Context) error

ForceFlush does nothing.

This method is safe to be called concurrently.

func (*SpanRecorder) OnEnd added in v1.0.0

func (sr *SpanRecorder) OnEnd(s sdktrace.ReadOnlySpan)

OnEnd records completed spans.

This method is safe to be called concurrently.

func (*SpanRecorder) OnStart added in v1.0.0

OnStart records started spans.

This method is safe to be called concurrently.

func (*SpanRecorder) Shutdown added in v1.0.0

func (sr *SpanRecorder) Shutdown(context.Context) error

Shutdown does nothing.

This method is safe to be called concurrently.

func (*SpanRecorder) Started added in v1.0.0

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.

type SpanStub added in v1.0.0

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
}

SpanStub is a stand-in for a Span.

func SpanStubFromReadOnlySpan added in v1.0.0

func SpanStubFromReadOnlySpan(ro tracesdk.ReadOnlySpan) SpanStub

SpanStubFromReadOnlySpan returns a SpanStub populated from ro.

func (SpanStub) Snapshot added in v1.0.0

func (s SpanStub) Snapshot() tracesdk.ReadOnlySpan

Snapshot returns a read-only copy of the SpanStub.

type SpanStubs added in v1.0.0

type SpanStubs []SpanStub

SpanStubs is a slice of SpanStub use for testing an SDK.

func SpanStubsFromReadOnlySpans added in v1.0.0

func SpanStubsFromReadOnlySpans(ro []tracesdk.ReadOnlySpan) SpanStubs

SpanStubsFromReadOnlySpans returns SpanStubs populated from ro.

func (SpanStubs) Snapshots added in v1.0.0

func (s SpanStubs) Snapshots() []tracesdk.ReadOnlySpan

Snapshots returns s as a slice of ReadOnlySpans.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL