package registry

import "go.opentelemetry.io/otel/metric/registry"

Package registry provides a non-standalone implementation of MeterProvider that adds uniqueness checking for instrument descriptors on top of other MeterProvider it wraps.

This package is currently in a pre-GA phase. Backwards incompatible changes may be introduced in subsequent minor version releases as we work to track the evolving OpenTelemetry specification and user feedback.

Index

Variables

var ErrMetricKindMismatch = fmt.Errorf(
	"A metric was already registered by this name with another kind or number type")

ErrMetricKindMismatch is the standard error for mismatched metric instrument definitions.

Functions

func Compatible

func Compatible(candidate, existing metric.Descriptor) bool

Compatible determines whether two metric.Descriptors are considered the same for the purpose of uniqueness checking.

func NewMetricKindMismatchError

func NewMetricKindMismatchError(desc metric.Descriptor) error

NewMetricKindMismatchError formats an error that describes a mismatched metric instrument definition.

func NewUniqueInstrumentMeterImpl

func NewUniqueInstrumentMeterImpl(impl metric.MeterImpl) metric.MeterImpl

NewUniqueInstrumentMeterImpl returns a wrapped metric.MeterImpl with the addition of uniqueness checking.

Types

type MeterProvider

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

MeterProvider is a standard MeterProvider for wrapping `MeterImpl`

func NewMeterProvider

func NewMeterProvider(impl metric.MeterImpl) *MeterProvider

NewMeterProvider returns a new provider that implements instrument name-uniqueness checking.

func (*MeterProvider) Meter

func (p *MeterProvider) Meter(instrumentationName string, opts ...metric.MeterOption) metric.Meter

Meter implements MeterProvider.

Source Files

doc.go registry.go

Version
v0.15.0
Published
Dec 11, 2020
Platform
js/wasm
Imports
5 packages
Last checked
1 minute ago

Tools for package owners.