gtrace

package
v2.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2024 License: MIT Imports: 21 Imported by: 76

Documentation

Overview

Package gtrace provides convenience wrapping functionality for tracing feature using OpenTelemetry.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckSetDefaultTextMapPropagator

func CheckSetDefaultTextMapPropagator()

CheckSetDefaultTextMapPropagator sets the default TextMapPropagator if it is not set previously.

func CommonLabels

func CommonLabels() []attribute.KeyValue

CommonLabels returns common used attribute labels: ip.intranet, hostname.

func GetBaggageMap

func GetBaggageMap(ctx context.Context) *gmap.StrAnyMap

GetBaggageMap retrieves and returns the baggage values as map.

func GetBaggageVar

func GetBaggageVar(ctx context.Context, key string) *gvar.Var

GetBaggageVar retrieves value and returns a *gvar.Var for specified key from baggage.

func GetDefaultTextMapPropagator

func GetDefaultTextMapPropagator() propagation.TextMapPropagator

GetDefaultTextMapPropagator returns the default propagator for context propagation between peers.

func GetSpanID

func GetSpanID(ctx context.Context) string

GetSpanID retrieves and returns SpanId from context. It returns an empty string is tracing feature is not activated.

func GetTraceID

func GetTraceID(ctx context.Context) string

GetTraceID retrieves and returns TraceId from context. It returns an empty string is tracing feature is not activated.

func IsTracingInternal

func IsTracingInternal() bool

IsTracingInternal returns whether tracing spans of internal components.

func IsUsingDefaultProvider

func IsUsingDefaultProvider() bool

IsUsingDefaultProvider checks and return if currently using default trace provider.

func MaxContentLogSize

func MaxContentLogSize() int

MaxContentLogSize returns the max log size for request and response body, especially for HTTP/RPC request.

func SafeContent added in v2.7.0

func SafeContent(data []byte) string

SafeContent cuts and returns given content by `MaxContentLogSize`. It appends string `...` to the tail of the result if the content size is greater than `MaxContentLogSize`.

func SafeContentForHttp added in v2.7.0

func SafeContentForHttp(data []byte, header http.Header) (string, error)

SafeContentForHttp cuts and returns given content by `MaxContentLogSize`. It appends string `...` to the tail of the result if the content size is greater than `MaxContentLogSize`.

func SetBaggageMap

func SetBaggageMap(ctx context.Context, data map[string]interface{}) context.Context

SetBaggageMap is a convenient function for adding map key-value pairs to baggage. Note that it uses attribute.Any to set the key-value pair.

func SetBaggageValue

func SetBaggageValue(ctx context.Context, key string, value interface{}) context.Context

SetBaggageValue is a convenient function for adding one key-value pair to baggage. Note that it uses attribute.Any to set the key-value pair.

func WithTraceID

func WithTraceID(ctx context.Context, traceID string) (context.Context, error)

WithTraceID injects custom trace id into context to propagate.

func WithUUID added in v2.2.0

func WithUUID(ctx context.Context, uuid string) (context.Context, error)

WithUUID injects custom trace id with UUID into context to propagate.

Types

type Baggage

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

Baggage holds the data through all tracing spans.

func NewBaggage

func NewBaggage(ctx context.Context) *Baggage

NewBaggage creates and returns a new Baggage object from given tracing context.

func (*Baggage) Ctx

func (b *Baggage) Ctx() context.Context

Ctx returns the context that Baggage holds.

func (*Baggage) GetMap

func (b *Baggage) GetMap() *gmap.StrAnyMap

GetMap retrieves and returns the baggage values as map.

func (*Baggage) GetVar

func (b *Baggage) GetVar(key string) *gvar.Var

GetVar retrieves value and returns a *gvar.Var for specified key from baggage.

func (*Baggage) SetMap

func (b *Baggage) SetMap(data map[string]interface{}) context.Context

SetMap is a convenient function for adding map key-value pairs to baggage. Note that it uses attribute.Any to set the key-value pair.

func (*Baggage) SetValue

func (b *Baggage) SetValue(key string, value interface{}) context.Context

SetValue is a convenient function for adding one key-value pair to baggage. Note that it uses attribute.Any to set the key-value pair.

type Carrier

type Carrier map[string]interface{}

Carrier is the storage medium used by a TextMapPropagator.

func NewCarrier

func NewCarrier(data ...map[string]interface{}) Carrier

NewCarrier creates and returns a Carrier.

func (Carrier) Get

func (c Carrier) Get(k string) string

Get returns the value associated with the passed key.

func (Carrier) Keys

func (c Carrier) Keys() []string

Keys lists the keys stored in this carrier.

func (Carrier) MustMarshal

func (c Carrier) MustMarshal() []byte

MustMarshal .returns the JSON encoding of c

func (Carrier) Set

func (c Carrier) Set(k, v string)

Set stores the key-value pair.

func (Carrier) String

func (c Carrier) String() string

String converts and returns current Carrier as string.

func (Carrier) UnmarshalJSON

func (c Carrier) UnmarshalJSON(b []byte) error

UnmarshalJSON implements interface UnmarshalJSON for package json.

type Span

type Span struct {
	trace.Span
}

Span warps trace.Span for compatibility and extension.

func NewSpan

func NewSpan(ctx context.Context, spanName string, opts ...trace.SpanStartOption) (context.Context, *Span)

NewSpan creates a span using default tracer.

type Tracer

type Tracer struct {
	trace.Tracer
}

Tracer warps trace.Tracer for compatibility and extension.

func NewTracer

func NewTracer(name ...string) *Tracer

NewTracer Tracer is a short function for retrieving Tracer.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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