tracetest

package
v1.32.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2024 License: Apache-2.0 Imports: 8 Imported by: 116

README

SDK Trace test

PkgGoDev

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
	InstrumentationScope instrumentation.Scope

	// Deprecated: use InstrumentationScope instead.
	InstrumentationLibrary instrumentation.Library //nolint:staticcheck // This method needs to be define for backwards compatibility
}

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