internal

package module
v1.13.0 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package internal provides common types and functionality for instrumentation offered by this project.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {

	// Version is the version of the instrumentation this Config is used for.
	// It has to be set before user-provided options are applied.
	Version string

	Tracer     trace.Tracer
	Meter      metric.Meter
	Propagator propagation.TextMapPropagator

	DefaultStartOpts []trace.SpanStartOption
	// contains filtered or unexported fields
}

Config contains configuration options.

func NewConfig

func NewConfig(instrumentationName string, options ...Option) *Config

NewConfig returns a Config for instrumentation with all options applied.

If no TracerProvider or Propagator are specified with options, the default OpenTelemetry globals will be used.

func (*Config) Copy

func (c *Config) Copy() *Config

Copy returns a deep copy of c.

func (*Config) MergedSpanStartOptions

func (c *Config) MergedSpanStartOptions(opts ...trace.SpanStartOption) []trace.SpanStartOption

MergedSpanStartOptions returns a copy of opts with any DefaultStartOpts that c is configured with prepended.

func (*Config) ResolveMeter

func (c *Config) ResolveMeter() metric.Meter

ResolveMeter returns an OpenTelemetry meter from the appropriate MeterProvider.

func (*Config) ResolveTracer

func (c *Config) ResolveTracer(ctx context.Context) trace.Tracer

ResolveTracer returns an OpenTelemetry tracer from the appropriate TracerProvider.

If the passed context contains a span, the TracerProvider that created the tracer that created that span will be used. Otherwise, the TracerProvider from c is used.

func (*Config) WithSpan

func (c *Config) WithSpan(ctx context.Context, name string, f func(context.Context) error, opts ...trace.SpanStartOption) error

WithSpan wraps the function f with a span named name.

type Option

type Option interface {
	Apply(*Config)
}

Option applies options to a configuration.

func WithAttributes

func WithAttributes(attr []attribute.KeyValue) Option

WithAttributes returns an Option that appends attr to the attributes set for every span created.

func WithMeterProvider

func WithMeterProvider(mp metric.MeterProvider) Option

WithMeterProvider returns an Option that sets the MeterProvider used for a configuration.

func WithPropagator

func WithPropagator(p propagation.TextMapPropagator) Option

WithPropagator returns an Option that sets p as the TextMapPropagator used when propagating a span context.

func WithTracerProvider

func WithTracerProvider(tp trace.TracerProvider) Option

WithTracerProvider returns an Option that sets the TracerProvider used for a configuration.

type OptionFunc

type OptionFunc func(*Config)

OptionFunc is a generic way to set an option using a func.

func (OptionFunc) Apply

func (o OptionFunc) Apply(c *Config)

Apply applies the configuration option.

Jump to

Keyboard shortcuts

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