testtrace

package
v0.0.0-...-a1b153e Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CountGenerator

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

CountGenerator is a simple Generator that can be used to create unique, albeit deterministic, trace and span IDs.

func NewCountGenerator

func NewCountGenerator() *CountGenerator

func (*CountGenerator) SpanID

func (g *CountGenerator) SpanID() trace.SpanID

func (*CountGenerator) TraceID

func (g *CountGenerator) TraceID() trace.ID

type Event

type Event struct {
	Timestamp  time.Time
	Name       string
	Attributes map[kv.Key]value.Value
}

Event encapsulates the properties of calls to AddEvent or AddEventWithTimestamp.

type Generator

type Generator interface {
	TraceID() trace.ID
	SpanID() trace.SpanID
}

type Span

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

func (*Span) AddEvent

func (s *Span) AddEvent(ctx context.Context, name string, attrs ...kv.KeyValue)

func (*Span) AddEventWithTimestamp

func (s *Span) AddEventWithTimestamp(ctx context.Context, timestamp time.Time, name string, attrs ...kv.KeyValue)

func (*Span) Attributes

func (s *Span) Attributes() map[kv.Key]value.Value

Attributes returns the attributes set on the Span, either at or after creation time. If the same attribute key was set multiple times, the last call will be used. Attributes cannot be changed after End has been called on the Span.

func (*Span) End

func (s *Span) End(opts ...trace.EndOption)

func (*Span) EndTime

func (s *Span) EndTime() (time.Time, bool)

EndTime returns the time at which the Span was ended if at has been ended, or false otherwise. If the span has been ended, the returned time will be the wall-clock time unless a specific end time was provided.

func (*Span) Ended

func (s *Span) Ended() bool

Ended returns whether the Span has been ended, i.e., whether End has been called at least once on the Span.

func (*Span) Events

func (s *Span) Events() []Event

Events returns the events set on the Span. Events cannot be changed after End has been called on the Span.

func (*Span) IsRecording

func (s *Span) IsRecording() bool
func (s *Span) Links() map[trace.SpanContext][]kv.KeyValue

Links returns the links set on the Span at creation time. If multiple links for the same SpanContext were set, the last link will be used.

func (*Span) Name

func (s *Span) Name() string

Name returns the name most recently set on the Span, either at or after creation time. It cannot be change after End has been called on the Span.

func (*Span) ParentSpanID

func (s *Span) ParentSpanID() trace.SpanID

ParentSpanID returns the SpanID of the parent Span. If the Span is a root Span and therefore does not have a parent, the returned SpanID will be invalid (i.e., it will contain all zeroes).

func (*Span) RecordError

func (s *Span) RecordError(ctx context.Context, err error, opts ...trace.ErrorOption)

func (*Span) SetAttribute

func (s *Span) SetAttribute(k string, v interface{})

func (*Span) SetAttributes

func (s *Span) SetAttributes(attrs ...kv.KeyValue)

func (*Span) SetName

func (s *Span) SetName(name string)

func (*Span) SetStatus

func (s *Span) SetStatus(code codes.Code, msg string)

func (*Span) SpanContext

func (s *Span) SpanContext() trace.SpanContext

func (*Span) StartTime

func (s *Span) StartTime() time.Time

StartTime returns the time at which the Span was started. This will be the wall-clock time unless a specific start time was provided.

func (*Span) StatusCode

func (s *Span) StatusCode() codes.Code

Status returns the status most recently set on the Span, or codes.OK if no status has been explicitly set. It cannot be changed after End has been called on the Span.

func (*Span) StatusMessage

func (s *Span) StatusMessage() string

StatusMessage returns the status message most recently set on the Span or the empty string if no status mesaage was set.

func (*Span) Tracer

func (s *Span) Tracer() trace.Tracer

type Tracer

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

Tracer is a type of OpenTelemetry Tracer that tracks both active and ended spans, and which creates Spans that may be inspected to see what data has been set on them.

func NewTracer

func NewTracer(opts ...TracerOption) *Tracer

func (*Tracer) Spans

func (t *Tracer) Spans() []*Span

Spans returns the list of current and ended Spans started via the Tracer.

func (*Tracer) Start

func (t *Tracer) Start(ctx context.Context, name string, opts ...trace.StartOption) (context.Context, trace.Span)

func (*Tracer) WithSpan

func (t *Tracer) WithSpan(ctx context.Context, name string, body func(ctx context.Context) error, opts ...trace.StartOption) error

type TracerOption

type TracerOption func(*tracerConfig)

TracerOption enables configuration of a new Tracer.

func TracerWithGenerator

func TracerWithGenerator(generator Generator) TracerOption

TracerWithGenerator enables customization of the Generator that the Tracer will use to create new trace and span IDs. By default, new Tracers will use the CountGenerator.

Jump to

Keyboard shortcuts

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