opentelemetry

package
v1.37.1 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrEmptyServiceName is returned when the service name is empty
	ErrEmptyServiceName = errors.New("opentelemetry: service name cannot be empty")

	// ErrEmptyExporterEndpoint is returned when the exporter endpoint is empty
	ErrEmptyExporterEndpoint = errors.New("opentelemetry: exporter endpoint cannot be empty")

	// ErrInvalidSamplingRate is returned when the sampling rate is invalid
	ErrInvalidSamplingRate = errors.New("opentelemetry: sampling rate must be between 0.0 and 1.0")

	// ErrInvalidBatchTimeout is returned when the batch timeout is invalid
	ErrInvalidBatchTimeout = errors.New("opentelemetry: batch timeout must be greater than 0")

	// ErrInvalidBatchSize is returned when the batch size is invalid
	ErrInvalidBatchSize = errors.New("opentelemetry: batch size must be greater than 0")

	// ErrExporterNotSupported is returned when the exporter protocol is not supported
	ErrExporterNotSupported = errors.New("opentelemetry: exporter protocol not supported")
)

Functions

func GetTracer

func GetTracer() trace.Tracer

GetTracer returns the global tracer

func Init

func Init(logger logrus.FieldLogger) error

Init initializes the global OpenTelemetry provider

func IsEnabled

func IsEnabled() bool

IsEnabled returns whether OpenTelemetry is enabled globally

func Shutdown

func Shutdown(ctx context.Context) error

Shutdown gracefully shuts down the global provider

Types

type Config

type Config struct {
	Enabled            bool
	ServiceName        string
	Environment        string
	ExporterEndpoint   string
	ExporterProtocol   string // "http" or "grpc"
	SamplingRate       float64
	BatchTimeout       time.Duration
	MaxExportBatchSize int
}

Config holds the OpenTelemetry configuration

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig returns the default OpenTelemetry configuration

func FromEnvironment

func FromEnvironment() *Config

FromEnvironment creates a Config from environment variables

func (*Config) IsValid

func (c *Config) IsValid() error

IsValid checks if the configuration is valid

type Provider

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

Provider manages the OpenTelemetry tracing provider

func NewProvider

func NewProvider(cfg *Config, logger logrus.FieldLogger) (*Provider, error)

NewProvider creates a new OpenTelemetry provider

func (*Provider) IsEnabled

func (p *Provider) IsEnabled() bool

IsEnabled returns whether OpenTelemetry is enabled

func (*Provider) Shutdown

func (p *Provider) Shutdown(ctx context.Context) error

Shutdown gracefully shuts down the provider

func (*Provider) Tracer

func (p *Provider) Tracer() trace.Tracer

Tracer returns the OpenTelemetry tracer

Jump to

Keyboard shortcuts

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