Source File
meter.go
Belonging Package
go.opentelemetry.io/otel/metric
// Copyright The OpenTelemetry Authors// SPDX-License-Identifier: Apache-2.0package metric // import "go.opentelemetry.io/otel/metric"import ()// MeterProvider provides access to named Meter instances, for instrumenting// an application or package.//// Warning: Methods may be added to this interface in minor releases. See// package documentation on API implementation for information on how to set// default behavior for unimplemented methods.type MeterProvider interface {// Users of the interface can ignore this. This embedded type is only used// by implementations of this interface. See the "API Implementations"// section of the package documentation for more information.embedded.MeterProvider// Meter returns a new Meter with the provided name and configuration.//// A Meter should be scoped at most to a single package. The name needs to// be unique so it does not collide with other names used by// an application, nor other applications. To achieve this, the import path// of the instrumentation package is recommended to be used as name.//// If the name is empty, then an implementation defined default name will// be used instead.Meter(name string, opts ...MeterOption) Meter}// Meter provides access to instrument instances for recording metrics.//// Warning: Methods may be added to this interface in minor releases. See// package documentation on API implementation for information on how to set// default behavior for unimplemented methods.type Meter interface {// Users of the interface can ignore this. This embedded type is only used// by implementations of this interface. See the "API Implementations"// section of the package documentation for more information.embedded.Meter// Int64Counter returns a new Int64Counter instrument identified by name// and configured with options. The instrument is used to synchronously// record increasing int64 measurements during a computational operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64Counter(name string, options ...Int64CounterOption) (Int64Counter, error)// Int64UpDownCounter returns a new Int64UpDownCounter instrument// identified by name and configured with options. The instrument is used// to synchronously record int64 measurements during a computational// operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64UpDownCounter(name string, options ...Int64UpDownCounterOption) (Int64UpDownCounter, error)// Int64Histogram returns a new Int64Histogram instrument identified by// name and configured with options. The instrument is used to// synchronously record the distribution of int64 measurements during a// computational operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64Histogram(name string, options ...Int64HistogramOption) (Int64Histogram, error)// Int64Gauge returns a new Int64Gauge instrument identified by name and// configured with options. The instrument is used to synchronously record// instantaneous int64 measurements during a computational operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64Gauge(name string, options ...Int64GaugeOption) (Int64Gauge, error)// Int64ObservableCounter returns a new Int64ObservableCounter identified// by name and configured with options. The instrument is used to// asynchronously record increasing int64 measurements once per a// measurement collection cycle.//// Measurements for the returned instrument are made via a callback. Use// the WithInt64Callback option to register the callback here, or use the// RegisterCallback method of this Meter to register one later. See the// Measurements section of the package documentation for more information.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64ObservableCounter(name string, options ...Int64ObservableCounterOption) (Int64ObservableCounter, error)// Int64ObservableUpDownCounter returns a new Int64ObservableUpDownCounter// instrument identified by name and configured with options. The// instrument is used to asynchronously record int64 measurements once per// a measurement collection cycle.//// Measurements for the returned instrument are made via a callback. Use// the WithInt64Callback option to register the callback here, or use the// RegisterCallback method of this Meter to register one later. See the// Measurements section of the package documentation for more information.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64ObservableUpDownCounter(name string,options ...Int64ObservableUpDownCounterOption,) (Int64ObservableUpDownCounter, error)// Int64ObservableGauge returns a new Int64ObservableGauge instrument// identified by name and configured with options. The instrument is used// to asynchronously record instantaneous int64 measurements once per a// measurement collection cycle.//// Measurements for the returned instrument are made via a callback. Use// the WithInt64Callback option to register the callback here, or use the// RegisterCallback method of this Meter to register one later. See the// Measurements section of the package documentation for more information.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Int64ObservableGauge(name string, options ...Int64ObservableGaugeOption) (Int64ObservableGauge, error)// Float64Counter returns a new Float64Counter instrument identified by// name and configured with options. The instrument is used to// synchronously record increasing float64 measurements during a// computational operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64Counter(name string, options ...Float64CounterOption) (Float64Counter, error)// Float64UpDownCounter returns a new Float64UpDownCounter instrument// identified by name and configured with options. The instrument is used// to synchronously record float64 measurements during a computational// operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64UpDownCounter(name string, options ...Float64UpDownCounterOption) (Float64UpDownCounter, error)// Float64Histogram returns a new Float64Histogram instrument identified by// name and configured with options. The instrument is used to// synchronously record the distribution of float64 measurements during a// computational operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64Histogram(name string, options ...Float64HistogramOption) (Float64Histogram, error)// Float64Gauge returns a new Float64Gauge instrument identified by name and// configured with options. The instrument is used to synchronously record// instantaneous float64 measurements during a computational operation.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64Gauge(name string, options ...Float64GaugeOption) (Float64Gauge, error)// Float64ObservableCounter returns a new Float64ObservableCounter// instrument identified by name and configured with options. The// instrument is used to asynchronously record increasing float64// measurements once per a measurement collection cycle.//// Measurements for the returned instrument are made via a callback. Use// the WithFloat64Callback option to register the callback here, or use the// RegisterCallback method of this Meter to register one later. See the// Measurements section of the package documentation for more information.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64ObservableCounter(name string, options ...Float64ObservableCounterOption) (Float64ObservableCounter, error)// Float64ObservableUpDownCounter returns a new// Float64ObservableUpDownCounter instrument identified by name and// configured with options. The instrument is used to asynchronously record// float64 measurements once per a measurement collection cycle.//// Measurements for the returned instrument are made via a callback. Use// the WithFloat64Callback option to register the callback here, or use the// RegisterCallback method of this Meter to register one later. See the// Measurements section of the package documentation for more information.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64ObservableUpDownCounter(name string,options ...Float64ObservableUpDownCounterOption,) (Float64ObservableUpDownCounter, error)// Float64ObservableGauge returns a new Float64ObservableGauge instrument// identified by name and configured with options. The instrument is used// to asynchronously record instantaneous float64 measurements once per a// measurement collection cycle.//// Measurements for the returned instrument are made via a callback. Use// the WithFloat64Callback option to register the callback here, or use the// RegisterCallback method of this Meter to register one later. See the// Measurements section of the package documentation for more information.//// The name needs to conform to the OpenTelemetry instrument name syntax.// See the Instrument Name section of the package documentation for more// information.Float64ObservableGauge(name string, options ...Float64ObservableGaugeOption) (Float64ObservableGauge, error)// RegisterCallback registers f to be called during the collection of a// measurement cycle.//// If Unregister of the returned Registration is called, f needs to be// unregistered and not called during collection.//// The instruments f is registered with are the only instruments that f may// observe values for.//// If no instruments are passed, f should not be registered nor called// during collection.//// The function f needs to be concurrent safe.RegisterCallback(f Callback, instruments ...Observable) (Registration, error)}// Callback is a function registered with a Meter that makes observations for// the set of instruments it is registered with. The Observer parameter is used// to record measurement observations for these instruments.//// The function needs to complete in a finite amount of time and the deadline// of the passed context is expected to be honored.//// The function needs to make unique observations across all registered// Callbacks. Meaning, it should not report measurements for an instrument with// the same attributes as another Callback will report.//// The function needs to be concurrent safe.type Callback func(context.Context, Observer) error// Observer records measurements for multiple instruments in a Callback.//// Warning: Methods may be added to this interface in minor releases. See// package documentation on API implementation for information on how to set// default behavior for unimplemented methods.type Observer interface {// Users of the interface can ignore this. This embedded type is only used// by implementations of this interface. See the "API Implementations"// section of the package documentation for more information.embedded.Observer// ObserveFloat64 records the float64 value for obsrv.ObserveFloat64(obsrv Float64Observable, value float64, opts ...ObserveOption)// ObserveInt64 records the int64 value for obsrv.ObserveInt64(obsrv Int64Observable, value int64, opts ...ObserveOption)}// Registration is an token representing the unique registration of a callback// for a set of instruments with a Meter.//// Warning: Methods may be added to this interface in minor releases. See// package documentation on API implementation for information on how to set// default behavior for unimplemented methods.type Registration interface {// Users of the interface can ignore this. This embedded type is only used// by implementations of this interface. See the "API Implementations"// section of the package documentation for more information.embedded.Registration// Unregister removes the callback registration from a Meter.//// This method needs to be idempotent and concurrent safe.Unregister() error}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |