Documentation ¶
Overview ¶
Package tracer provides convenience wrapping functionality for tracing feature using OpenTelemetry.
Index ¶
- func CheckSetDefaultTextMapPropagator()
- func CommonLabels() []attribute.KeyValue
- func Ctx() context.Context
- func GetBaggageMap(ctx context.Context) []baggage.Member
- func GetBaggageVar(ctx context.Context, key string) string
- func GetDefaultTextMapPropagator() propagation.TextMapPropagator
- func GetSpanID(ctx context.Context) string
- func GetTraceID(ctx context.Context) string
- func GetTraceParent(ctx context.Context) string
- func MaxContentLogSize() int
- func SetBaggageMap(ctx context.Context, data map[string]interface{}) context.Context
- func SetBaggageValue(ctx context.Context, key string, value interface{}) context.Context
- func SetSpanError(ctx context.Context, err error)
- func WithTraceID(ctx context.Context, traceID string) (context.Context, error)
- type Baggage
- type Carrier
- type Span
- type Tracer
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 ¶
CommonLabels returns common used attribute labels: net.host.ip, host.name.
func GetBaggageMap ¶
GetBaggageMap retrieves and returns the baggage values as map.
func GetBaggageVar ¶
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 ¶
GetSpanID retrieves and returns SpanId from context. It returns an empty string is tracing feature is not activated.
func GetTraceID ¶
GetTraceID retrieves and returns TraceId from context. It returns an empty string is tracing feature is not activated.
func GetTraceParent ¶
func MaxContentLogSize ¶
func MaxContentLogSize() int
MaxContentLogSize returns the max log size for request and response body, especially for HTTP/RPC request.
func SetBaggageMap ¶
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 ¶
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 SetSpanError ¶
SetSpanError record error to tracing system
Types ¶
type Baggage ¶
type Baggage struct {
// contains filtered or unexported fields
}
Baggage holds the data through all tracing spans.
func NewBaggage ¶
NewBaggage creates and returns a new Baggage object from given tracing context.
func (*Baggage) GetVar ¶
GetVar retrieves value and returns a string for specified key from baggage.
type Carrier ¶
type Carrier map[string]interface{}
Carrier is the storage medium used by a TextMapPropagator.
func NewCarrier ¶
NewCarrier creates and returns a Carrier.
func (Carrier) MustMarshal ¶
MustMarshal .returns the JSON encoding of c
func (Carrier) UnmarshalJSON ¶
UnmarshalJSON implements interface UnmarshalJSON for package json.
type Span ¶
func NewSpan ¶
func NewSpan(ctx context.Context, spanName string, opts ...trace.SpanStartOption) (context.Context, *Span)
NewSpan creates a span and a context.Context containing the newly-created span.
If the context.Context provided in `ctx` contains a Span then the newly-created Span will be a child of that span, otherwise it will be a root span. This behavior can be overridden by providing `WithNewRoot()` as a SpanOption, causing the newly-created Span to be a root span even if `ctx` contains a Span.
When creating a Span it is recommended to provide all known span attributes using the `WithAttributes()` SpanOption as samplers will only have access to the attributes provided when a Span is created.
Any Span that is created MUST also be ended. This is the responsibility of the user. Implementations of this API may leak memory or other resources if Spans are not ended.