tracing

package
v2.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2026 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Baggage                 = "baggage"
	AttributeTraceID        = attribute.Key("trace.id")
	AttributeSpanID         = attribute.Key("span.id")
	AttributeLogID          = attribute.Key("log_id")
	AttributeRequest        = attribute.Key("request")
	AttributeResponse       = attribute.Key("response")
	AttributeGinError       = attribute.Key("gin.errors")
	AttributeRedisError     = attribute.Key("redis.cmd.error")
	AttributeRedisCmdName   = attribute.Key("redis.cmd.name")
	AttributeRedisCmdString = attribute.Key("redis.cmd.string")
	AttributeRedisCmdArgs   = attribute.Key("redis.cmd.args")
)
View Source
const DefaultStdout = "stdout"
View Source
const (
	KeyErrMsg = "err_msg"
)

Variables

This section is empty.

Functions

func CheckHasTraceID

func CheckHasTraceID(ctx context.Context) bool

func ExtractHTTPBaggage

func ExtractHTTPBaggage(ctx context.Context, header http.Header) context.Context

func GetTraceId

func GetTraceId(ctx context.Context) string

func InjectHTTPBaggage

func InjectHTTPBaggage(ctx context.Context, header http.Header)

func SetIfCtxErr

func SetIfCtxErr(span oteltrace.Span, ctx context.Context)

SetIfCtxErr record context error

func SetIfErr

func SetIfErr(span oteltrace.Span, err error)

SetIfErr add error info

func SpanID

func SpanID(span oteltrace.Span) string

func TraceID

func TraceID(span oteltrace.Span) string

func TraceIdFromCtx

func TraceIdFromCtx(ctx context.Context) string

func Tracer

func Tracer() oteltrace.Tracer

Types

type Config

type Config struct {
	TraceExporter  Exporter          `yaml:"trace_exporter"`
	MetricExporter Exporter          `yaml:"metric_exporter"`
	SampleRatio    float64           `yaml:"sample_ratio"`
	Service        ServiceInfo       `yaml:"service"`
	Headers        map[string]string `yaml:"headers"`
	// contains filtered or unexported fields
}

func DefaultCfg added in v2.2.0

func DefaultCfg() Config

type Exporter

type Exporter struct {
	ExporterEndpoint string                           `yaml:"endpoint"`
	Insecure         bool                             `yaml:"insecure"`
	Creds            credentials.TransportCredentials `yaml:"-"`
}

type OTLP added in v2.2.0

type OTLP struct {
	GRPC *OtelGRPC `yaml:"grpc,omitempty"`
	HTTP *OtelHTTP `yaml:"http,omitempty"`

	AddEntryPointsLabels bool                 `yaml:"addEntryPointsLabels,omitempty"`
	AddRoutersLabels     bool                 `yaml:"addRoutersLabels,omitempty"`
	AddServicesLabels    bool                 `yaml:"addServicesLabels,omitempty"`
	ExplicitBoundaries   []float64            `yaml:"explicitBoundaries,omitempty"`
	PushInterval         *durationpb.Duration `yaml:"pushInterval,omitempty"`
	ServiceName          string               `yaml:"serviceName,omitempty"`
}

OTLP contains specific configuration used by the OpenTelemetry Metric exporter.

func (*OTLP) SetDefaults added in v2.2.0

func (o *OTLP) SetDefaults()

type OtelGRPC added in v2.2.0

type OtelGRPC struct {
	Endpoint string            `yaml:"endpoint"`
	Insecure bool              `yaml:"insecure"`
	Headers  map[string]string `yaml:"headers"`
}

func (*OtelGRPC) SetDefaults added in v2.2.0

func (c *OtelGRPC) SetDefaults()

type OtelHTTP added in v2.2.0

type OtelHTTP struct {
	Endpoint string            `yaml:"endpoint"`
	Headers  map[string]string `yaml:"headers"`
}

func (*OtelHTTP) SetDefaults added in v2.2.0

func (c *OtelHTTP) SetDefaults()

type Provider

type Provider struct {
	TracerProvider oteltrace.TracerProvider
	Tracer         oteltrace.Tracer
	MeterProvider  otelmetric.MeterProvider
	Meter          otelmetric.Meter
}

func NewProvider added in v2.2.0

func NewProvider(cfg *Config, lc lifecycle.Lifecycle) Provider

NewProvider initializes OpenTelemetry globals and registers lifecycle shutdown hooks. When tracing is disabled (no exporter endpoint), a noop provider is returned.

type ServiceInfo

type ServiceInfo struct {
	Name      string `yaml:"name"`
	Namespace string `yaml:"namespace"`
	Version   string `yaml:"version"`
}

type TraceConfigLoader added in v2.2.0

type TraceConfigLoader struct {
	TraceCfg *Config `yaml:"tracing"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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