otel

package module
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 22 Imported by: 6

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

Constants

This section is empty.

Variables

View Source
var HTTPPropagators = NewPropagator()

Functions

func ExtractHTTP

func ExtractHTTP(ctx context.Context, headers http.Header) context.Context

func GetGlobalTextMapPropagator added in v0.6.0

func GetGlobalTextMapPropagator() propagation.TextMapPropagator

func HTTPHandler added in v0.6.0

func HTTPHandler(hndl http.Handler, operation string) http.Handler

func HTTPMiddleware

func HTTPMiddleware(tracer Tracer, hndl http.Handler) http.Handler

func InjectHTTP

func InjectHTTP(ctx context.Context, headers http.Header)

func LogTraceMeter added in v0.6.0

func LogTraceMeter(logger *log.Logger, serviceName, serviceVersion string) (Tracer, Meter)

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 NewMeterProvider(metricExporter metric.Exporter, res *resource.Resource) *metric.MeterProvider

func NewPropagator added in v0.6.0

func NewPropagator() propagation.TextMapPropagator

func NewResource added in v0.6.0

func NewResource(serviceName, serviceVersion string) (*resource.Resource, error)

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 Exporter added in v0.6.0

type Exporter interface {
	Shutdown(ctx context.Context) error
	ExportSpans(ctx context.Context, spans []sdktrace.ReadOnlySpan) error
}

type LogExporter

type LogExporter struct {
	*log.Logger
	// contains filtered or unexported fields
}

func (*LogExporter) Aggregation added in v0.4.0

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

Temporality returns the Temporality to use for an instrument kind.

type Meter added in v0.6.0

type Meter = metric.Meter

Meter is meter.Meter

func GlobalMeter added in v0.6.0

func GlobalMeter(name string) Meter

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 Tracer

type Tracer = trace.Tracer

Tracer is trace.Tracer

func GlobalTracer

func GlobalTracer(name string) Tracer

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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