Documentation ¶
Overview ¶
Package otel tries to simplify usage of OpenTelemetry.
A nice write-up of using OpenTelemetry (directly) is at https://www.komu.engineer/blogs/11/opentelemetry-and-go
Index ¶
- Variables
- func ExtractHTTP(ctx context.Context, headers http.Header) context.Context
- func GetGlobalTextMapPropagator() propagation.TextMapPropagator
- func HTTPHandler(hndl http.Handler, operation string) http.Handler
- func HTTPMiddleware(tracer Tracer, hndl http.Handler) http.Handler
- func InjectHTTP(ctx context.Context, headers http.Header)
- func LogTraceMeter(logger *log.Logger, serviceName, serviceVersion string) (Tracer, Meter)
- func LogTraceProvider(logger *log.Logger, serviceName, serviceVersion string) (TracerProvider, MeterProvider, func(context.Context) error, error)
- func NewMeterProvider(metricExporter metric.Exporter, res *resource.Resource) *metric.MeterProvider
- func NewPropagator() propagation.TextMapPropagator
- func NewResource(serviceName, serviceVersion string) (*resource.Resource, error)
- func NewTracerProvider(traceExporter Exporter, res *resource.Resource) *sdktrace.TracerProvider
- func SetGlobalMeterProvider(provider MeterProvider)
- func SetGlobalTextMapPropagator(p propagation.TextMapPropagator)
- func SetGlobalTracerProvider(provider TracerProvider)
- func SpanContextFromContext(ctx context.Context) trace.SpanContext
- type Exporter
- type LogExporter
- func (e *LogExporter) Aggregation(kind sdkmetric.InstrumentKind) sdkmetric.Aggregation
- func (e *LogExporter) Export(ctx context.Context, resource *metricdata.ResourceMetrics) error
- func (e *LogExporter) ExportSpans(ctx context.Context, data []sdktrace.ReadOnlySpan) error
- func (e *LogExporter) ForceFlush(ctx context.Context) error
- func (e *LogExporter) Shutdown(ctx context.Context) error
- func (e *LogExporter) Temporality(kind sdkmetric.InstrumentKind) metricdata.Temporality
- type Meter
- type MeterProvider
- type Tracer
- type TracerProvider
Constants ¶
This section is empty.
Variables ¶
var HTTPPropagators = NewPropagator()
Functions ¶
func GetGlobalTextMapPropagator ¶ added in v0.6.0
func GetGlobalTextMapPropagator() propagation.TextMapPropagator
func HTTPHandler ¶ added in v0.6.0
func LogTraceMeter ¶ added in v0.6.0
func LogTraceProvider ¶
func LogTraceProvider(logger *log.Logger, serviceName, serviceVersion string) (TracerProvider, MeterProvider, func(context.Context) error, error)
LogTraceProvider wraps the Logger to as a Provider.
func NewMeterProvider ¶ added in v0.6.0
func NewPropagator ¶ added in v0.6.0
func NewPropagator() propagation.TextMapPropagator
func NewResource ¶ added in v0.6.0
func NewTracerProvider ¶ added in v0.6.0
func NewTracerProvider(traceExporter Exporter, res *resource.Resource) *sdktrace.TracerProvider
func SetGlobalMeterProvider ¶ added in v0.6.0
func SetGlobalMeterProvider(provider MeterProvider)
func SetGlobalTextMapPropagator ¶ added in v0.6.0
func SetGlobalTextMapPropagator(p propagation.TextMapPropagator)
func SetGlobalTracerProvider ¶ added in v0.6.0
func SetGlobalTracerProvider(provider TracerProvider)
func SpanContextFromContext ¶ added in v0.8.2
func SpanContextFromContext(ctx context.Context) trace.SpanContext
Types ¶
type LogExporter ¶
func (*LogExporter) Aggregation ¶ added in v0.4.0
func (e *LogExporter) Aggregation(kind sdkmetric.InstrumentKind) sdkmetric.Aggregation
Aggregation returns the Aggregation to use for an instrument kind.
func (*LogExporter) Export ¶
func (e *LogExporter) Export(ctx context.Context, resource *metricdata.ResourceMetrics) error
Export serializes and transmits metric data to a receiver.
This is called synchronously, there is no concurrency safety requirement. Because of this, it is critical that all timeouts and cancellations of the passed context be honored.
All retry logic must be contained in this function. The SDK does not implement any retry logic. All errors returned by this function are considered unrecoverable and will be reported to a configured error Handler.
func (*LogExporter) ExportSpans ¶
func (e *LogExporter) ExportSpans(ctx context.Context, data []sdktrace.ReadOnlySpan) error
ExportSpans exports a batch of spans.
This function is called synchronously, so there is no concurrency safety requirement. However, due to the synchronous calling pattern, it is critical that all timeouts and cancellations contained in the passed context must be honored.
Any retry logic must be contained in this function. The SDK that calls this function will not implement any retry logic. All errors returned by this function are considered unrecoverable and will be reported to a configured error Handler.
func (*LogExporter) ForceFlush ¶ added in v0.4.0
func (e *LogExporter) ForceFlush(ctx context.Context) error
ForceFlush flushes any metric data held by an exporter.
The deadline or cancellation of the passed context must be honored. An appropriate error should be returned in these situations.
func (*LogExporter) Shutdown ¶
func (e *LogExporter) Shutdown(ctx context.Context) error
Shutdown flushes all metric data held by an exporter and releases any held computational resources.
The deadline or cancellation of the passed context must be honored. An appropriate error should be returned in these situations.
After Shutdown is called, calls to Export will perform no operation and instead will return an error indicating the shutdown state.
func (*LogExporter) Temporality ¶ added in v0.4.0
func (e *LogExporter) Temporality(kind sdkmetric.InstrumentKind) metricdata.Temporality
Temporality returns the Temporality to use for an instrument kind.
type MeterProvider ¶ added in v0.6.0
type MeterProvider = metric.MeterProvider
MeterProvider is meter.MeterProvider
func GlobalMeterProvider ¶ added in v0.6.0
func GlobalMeterProvider() MeterProvider
type TracerProvider ¶ added in v0.6.0
type TracerProvider = trace.TracerProvider
Provider is trace.TraceProvider
func GlobalTracerProvider ¶ added in v0.6.0
func GlobalTracerProvider() TracerProvider