Documentation
¶
Index ¶
Constants ¶
const (
RequestId = attribute.Key("app.request_id")
)
RequestId is the attribute key used to store the request ID in spans.
Variables ¶
This section is empty.
Functions ¶
func IsNoop ¶
func IsNoop(provider TracerProvider) bool
IsNoop checks if the given TracerProvider is a NoopProvider.
Types ¶
type Config ¶
type Config struct {
// Enable determines whether tracing is enabled.
Enable bool
// Address specifies the OTLP collector endpoint address.
Address string
// ModuleName identifies the service name.
ModuleName string
// ModuleVersion specifies the service version.
ModuleVersion string
// Environment defines the deployment environment.
Environment string
// InstanceId uniquely identifies the service instance.
InstanceId string
// Attributes contains additional custom attributes for the resource.
Attributes map[string]string
}
Config holds the configuration for the tracing provider.
type NoopProvider ¶
type NoopProvider struct {
Provider
}
NoopProvider is a no-op implementation of the Provider interface. It provides a tracer that performs no operations, useful when tracing is disabled.
func NewNoopProvider ¶
func NewNoopProvider() NoopProvider
NewNoopProvider creates a new no-op tracer provider.
func (NoopProvider) Shutdown ¶
func (n NoopProvider) Shutdown(ctx context.Context) error
Shutdown returns nil as no resources need to be cleaned up.
func (NoopProvider) Tracer ¶
func (n NoopProvider) Tracer(name string, options ...trace.TracerOption) trace.Tracer
Tracer returns a no-op tracer that performs no operations.
type Propagator ¶
type Propagator = propagation.TextMapPropagator
Propagator is an alias for OpenTelemetry's TextMapPropagator interface.
var DefaultPropagator Propagator = propagation.TraceContext{}
DefaultPropagator is the default text map propagator using W3C Trace Context.
type Provider ¶
type Provider interface {
TracerProvider
// Shutdown gracefully shuts down the provider, flushing any pending spans.
Shutdown(ctx context.Context) error
}
Provider extends TracerProvider with a Shutdown method for graceful cleanup.
func NewProviderFromConfiguration ¶
func NewProviderFromConfiguration(ctx context.Context, logger log.Logger, config Config) (Provider, error)
NewProviderFromConfiguration creates a new tracer provider from the given configuration. It returns a no-op provider if tracing is disabled. The provider is configured to export traces via OTLP over HTTP to the specified address.
type TracerProvider ¶
type TracerProvider = traceapi.TracerProvider
TracerProvider is an alias for OpenTelemetry's TracerProvider interface.
var DefaultProvider TracerProvider = NewNoopProvider()
DefaultProvider is the global default tracer provider, initially set to a no-op provider.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package grpc provides utilities for gRPC tracing integration.
|
Package grpc provides utilities for gRPC tracing integration. |
|
client_tracing
Package client_tracing provides gRPC client middleware for distributed tracing.
|
Package client_tracing provides gRPC client middleware for distributed tracing. |
|
server_tracing
Package server_tracing provides gRPC server middleware for distributed tracing.
|
Package server_tracing provides gRPC server middleware for distributed tracing. |
|
http
|
|
|
client_tracing
Package client_tracing provides HTTP client middleware for distributed tracing.
|
Package client_tracing provides HTTP client middleware for distributed tracing. |
|
server_tracing
Package server_tracing provides HTTP server middleware for distributed tracing.
|
Package server_tracing provides HTTP server middleware for distributed tracing. |
|
Package rabbitmq provides utilities for RabbitMQ tracing integration.
|
Package rabbitmq provides utilities for RabbitMQ tracing integration. |
|
consumer_tracing
Package consumer_tracing provides RabbitMQ consumer middleware for distributed tracing.
|
Package consumer_tracing provides RabbitMQ consumer middleware for distributed tracing. |
|
publisher_tracing
Package publisher_tracing provides RabbitMQ publisher middleware for distributed tracing.
|
Package publisher_tracing provides RabbitMQ publisher middleware for distributed tracing. |
|
Package sql_tracing provides pgx v5 query tracing for distributed tracing.
|
Package sql_tracing provides pgx v5 query tracing for distributed tracing. |