summaryrefslogtreecommitdiff
path: root/vendor/go.opentelemetry.io/otel/metric
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/go.opentelemetry.io/otel/metric')
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/LICENSE201
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/README.md3
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go260
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/asyncint64.go258
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/config.go81
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/doc.go177
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/embedded/README.md3
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go243
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/instrument.go368
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/meter.go278
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/noop/README.md3
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/noop/noop.go281
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/syncfloat64.go226
-rw-r--r--vendor/go.opentelemetry.io/otel/metric/syncint64.go226
14 files changed, 0 insertions, 2608 deletions
diff --git a/vendor/go.opentelemetry.io/otel/metric/LICENSE b/vendor/go.opentelemetry.io/otel/metric/LICENSE
deleted file mode 100644
index 261eeb9e9..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/vendor/go.opentelemetry.io/otel/metric/README.md b/vendor/go.opentelemetry.io/otel/metric/README.md
deleted file mode 100644
index 0cf902e01..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Metric API
-
-[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/metric)](https://pkg.go.dev/go.opentelemetry.io/otel/metric)
diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
deleted file mode 100644
index f8435d8f2..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
+++ /dev/null
@@ -1,260 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import (
- "context"
-
- "go.opentelemetry.io/otel/metric/embedded"
-)
-
-// Float64Observable describes a set of instruments used asynchronously to
-// record float64 measurements once per collection cycle. Observations of
-// these instruments are only made within a callback.
-//
-// Warning: Methods may be added to this interface in minor releases.
-type Float64Observable interface {
- Observable
-
- float64Observable()
-}
-
-// Float64ObservableCounter is an instrument used to asynchronously record
-// increasing float64 measurements once per collection cycle. Observations are
-// only made within a callback for this instrument. The value observed is
-// assumed the to be the cumulative sum of the count.
-//
-// 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 Float64ObservableCounter 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.Float64ObservableCounter
-
- Float64Observable
-}
-
-// Float64ObservableCounterConfig contains options for asynchronous counter
-// instruments that record float64 values.
-type Float64ObservableCounterConfig struct {
- description string
- unit string
- callbacks []Float64Callback
-}
-
-// NewFloat64ObservableCounterConfig returns a new
-// [Float64ObservableCounterConfig] with all opts applied.
-func NewFloat64ObservableCounterConfig(opts ...Float64ObservableCounterOption) Float64ObservableCounterConfig {
- var config Float64ObservableCounterConfig
- for _, o := range opts {
- config = o.applyFloat64ObservableCounter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64ObservableCounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64ObservableCounterConfig) Unit() string {
- return c.unit
-}
-
-// Callbacks returns the configured callbacks.
-func (c Float64ObservableCounterConfig) Callbacks() []Float64Callback {
- return c.callbacks
-}
-
-// Float64ObservableCounterOption applies options to a
-// [Float64ObservableCounterConfig]. See [Float64ObservableOption] and
-// [InstrumentOption] for other options that can be used as a
-// Float64ObservableCounterOption.
-type Float64ObservableCounterOption interface {
- applyFloat64ObservableCounter(Float64ObservableCounterConfig) Float64ObservableCounterConfig
-}
-
-// Float64ObservableUpDownCounter is an instrument used to asynchronously
-// record float64 measurements once per collection cycle. Observations are only
-// made within a callback for this instrument. The value observed is assumed
-// the to be the cumulative sum of the count.
-//
-// 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 Float64ObservableUpDownCounter 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.Float64ObservableUpDownCounter
-
- Float64Observable
-}
-
-// Float64ObservableUpDownCounterConfig contains options for asynchronous
-// counter instruments that record float64 values.
-type Float64ObservableUpDownCounterConfig struct {
- description string
- unit string
- callbacks []Float64Callback
-}
-
-// NewFloat64ObservableUpDownCounterConfig returns a new
-// [Float64ObservableUpDownCounterConfig] with all opts applied.
-func NewFloat64ObservableUpDownCounterConfig(opts ...Float64ObservableUpDownCounterOption) Float64ObservableUpDownCounterConfig {
- var config Float64ObservableUpDownCounterConfig
- for _, o := range opts {
- config = o.applyFloat64ObservableUpDownCounter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64ObservableUpDownCounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64ObservableUpDownCounterConfig) Unit() string {
- return c.unit
-}
-
-// Callbacks returns the configured callbacks.
-func (c Float64ObservableUpDownCounterConfig) Callbacks() []Float64Callback {
- return c.callbacks
-}
-
-// Float64ObservableUpDownCounterOption applies options to a
-// [Float64ObservableUpDownCounterConfig]. See [Float64ObservableOption] and
-// [InstrumentOption] for other options that can be used as a
-// Float64ObservableUpDownCounterOption.
-type Float64ObservableUpDownCounterOption interface {
- applyFloat64ObservableUpDownCounter(Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig
-}
-
-// Float64ObservableGauge is an instrument used to asynchronously record
-// instantaneous float64 measurements once per collection cycle. Observations
-// are only made within a callback for this instrument.
-//
-// 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 Float64ObservableGauge 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.Float64ObservableGauge
-
- Float64Observable
-}
-
-// Float64ObservableGaugeConfig contains options for asynchronous counter
-// instruments that record float64 values.
-type Float64ObservableGaugeConfig struct {
- description string
- unit string
- callbacks []Float64Callback
-}
-
-// NewFloat64ObservableGaugeConfig returns a new [Float64ObservableGaugeConfig]
-// with all opts applied.
-func NewFloat64ObservableGaugeConfig(opts ...Float64ObservableGaugeOption) Float64ObservableGaugeConfig {
- var config Float64ObservableGaugeConfig
- for _, o := range opts {
- config = o.applyFloat64ObservableGauge(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64ObservableGaugeConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64ObservableGaugeConfig) Unit() string {
- return c.unit
-}
-
-// Callbacks returns the configured callbacks.
-func (c Float64ObservableGaugeConfig) Callbacks() []Float64Callback {
- return c.callbacks
-}
-
-// Float64ObservableGaugeOption applies options to a
-// [Float64ObservableGaugeConfig]. See [Float64ObservableOption] and
-// [InstrumentOption] for other options that can be used as a
-// Float64ObservableGaugeOption.
-type Float64ObservableGaugeOption interface {
- applyFloat64ObservableGauge(Float64ObservableGaugeConfig) Float64ObservableGaugeConfig
-}
-
-// Float64Observer is a recorder of float64 measurements.
-//
-// 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 Float64Observer 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.Float64Observer
-
- // Observe records the float64 value.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Observe(value float64, options ...ObserveOption)
-}
-
-// Float64Callback is a function registered with a Meter that makes
-// observations for a Float64Observable instrument it is registered with.
-// Calls to the Float64Observer record measurement values for the
-// Float64Observable.
-//
-// 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
-// Float64Callbacks. Meaning, it should not report measurements with the same
-// attributes as another Float64Callbacks also registered for the same
-// instrument.
-//
-// The function needs to be concurrent safe.
-type Float64Callback func(context.Context, Float64Observer) error
-
-// Float64ObservableOption applies options to float64 Observer instruments.
-type Float64ObservableOption interface {
- Float64ObservableCounterOption
- Float64ObservableUpDownCounterOption
- Float64ObservableGaugeOption
-}
-
-type float64CallbackOpt struct {
- cback Float64Callback
-}
-
-func (o float64CallbackOpt) applyFloat64ObservableCounter(cfg Float64ObservableCounterConfig) Float64ObservableCounterConfig {
- cfg.callbacks = append(cfg.callbacks, o.cback)
- return cfg
-}
-
-func (o float64CallbackOpt) applyFloat64ObservableUpDownCounter(cfg Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig {
- cfg.callbacks = append(cfg.callbacks, o.cback)
- return cfg
-}
-
-func (o float64CallbackOpt) applyFloat64ObservableGauge(cfg Float64ObservableGaugeConfig) Float64ObservableGaugeConfig {
- cfg.callbacks = append(cfg.callbacks, o.cback)
- return cfg
-}
-
-// WithFloat64Callback adds callback to be called for an instrument.
-func WithFloat64Callback(callback Float64Callback) Float64ObservableOption {
- return float64CallbackOpt{callback}
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
deleted file mode 100644
index e079aaef1..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
+++ /dev/null
@@ -1,258 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import (
- "context"
-
- "go.opentelemetry.io/otel/metric/embedded"
-)
-
-// Int64Observable describes a set of instruments used asynchronously to record
-// int64 measurements once per collection cycle. Observations of these
-// instruments are only made within a callback.
-//
-// Warning: Methods may be added to this interface in minor releases.
-type Int64Observable interface {
- Observable
-
- int64Observable()
-}
-
-// Int64ObservableCounter is an instrument used to asynchronously record
-// increasing int64 measurements once per collection cycle. Observations are
-// only made within a callback for this instrument. The value observed is
-// assumed the to be the cumulative sum of the count.
-//
-// 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 Int64ObservableCounter 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.Int64ObservableCounter
-
- Int64Observable
-}
-
-// Int64ObservableCounterConfig contains options for asynchronous counter
-// instruments that record int64 values.
-type Int64ObservableCounterConfig struct {
- description string
- unit string
- callbacks []Int64Callback
-}
-
-// NewInt64ObservableCounterConfig returns a new [Int64ObservableCounterConfig]
-// with all opts applied.
-func NewInt64ObservableCounterConfig(opts ...Int64ObservableCounterOption) Int64ObservableCounterConfig {
- var config Int64ObservableCounterConfig
- for _, o := range opts {
- config = o.applyInt64ObservableCounter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64ObservableCounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64ObservableCounterConfig) Unit() string {
- return c.unit
-}
-
-// Callbacks returns the configured callbacks.
-func (c Int64ObservableCounterConfig) Callbacks() []Int64Callback {
- return c.callbacks
-}
-
-// Int64ObservableCounterOption applies options to a
-// [Int64ObservableCounterConfig]. See [Int64ObservableOption] and
-// [InstrumentOption] for other options that can be used as an
-// Int64ObservableCounterOption.
-type Int64ObservableCounterOption interface {
- applyInt64ObservableCounter(Int64ObservableCounterConfig) Int64ObservableCounterConfig
-}
-
-// Int64ObservableUpDownCounter is an instrument used to asynchronously record
-// int64 measurements once per collection cycle. Observations are only made
-// within a callback for this instrument. The value observed is assumed the to
-// be the cumulative sum of the count.
-//
-// 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 Int64ObservableUpDownCounter 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.Int64ObservableUpDownCounter
-
- Int64Observable
-}
-
-// Int64ObservableUpDownCounterConfig contains options for asynchronous counter
-// instruments that record int64 values.
-type Int64ObservableUpDownCounterConfig struct {
- description string
- unit string
- callbacks []Int64Callback
-}
-
-// NewInt64ObservableUpDownCounterConfig returns a new
-// [Int64ObservableUpDownCounterConfig] with all opts applied.
-func NewInt64ObservableUpDownCounterConfig(opts ...Int64ObservableUpDownCounterOption) Int64ObservableUpDownCounterConfig {
- var config Int64ObservableUpDownCounterConfig
- for _, o := range opts {
- config = o.applyInt64ObservableUpDownCounter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64ObservableUpDownCounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64ObservableUpDownCounterConfig) Unit() string {
- return c.unit
-}
-
-// Callbacks returns the configured callbacks.
-func (c Int64ObservableUpDownCounterConfig) Callbacks() []Int64Callback {
- return c.callbacks
-}
-
-// Int64ObservableUpDownCounterOption applies options to a
-// [Int64ObservableUpDownCounterConfig]. See [Int64ObservableOption] and
-// [InstrumentOption] for other options that can be used as an
-// Int64ObservableUpDownCounterOption.
-type Int64ObservableUpDownCounterOption interface {
- applyInt64ObservableUpDownCounter(Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig
-}
-
-// Int64ObservableGauge is an instrument used to asynchronously record
-// instantaneous int64 measurements once per collection cycle. Observations are
-// only made within a callback for this instrument.
-//
-// 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 Int64ObservableGauge 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.Int64ObservableGauge
-
- Int64Observable
-}
-
-// Int64ObservableGaugeConfig contains options for asynchronous counter
-// instruments that record int64 values.
-type Int64ObservableGaugeConfig struct {
- description string
- unit string
- callbacks []Int64Callback
-}
-
-// NewInt64ObservableGaugeConfig returns a new [Int64ObservableGaugeConfig]
-// with all opts applied.
-func NewInt64ObservableGaugeConfig(opts ...Int64ObservableGaugeOption) Int64ObservableGaugeConfig {
- var config Int64ObservableGaugeConfig
- for _, o := range opts {
- config = o.applyInt64ObservableGauge(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64ObservableGaugeConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64ObservableGaugeConfig) Unit() string {
- return c.unit
-}
-
-// Callbacks returns the configured callbacks.
-func (c Int64ObservableGaugeConfig) Callbacks() []Int64Callback {
- return c.callbacks
-}
-
-// Int64ObservableGaugeOption applies options to a
-// [Int64ObservableGaugeConfig]. See [Int64ObservableOption] and
-// [InstrumentOption] for other options that can be used as an
-// Int64ObservableGaugeOption.
-type Int64ObservableGaugeOption interface {
- applyInt64ObservableGauge(Int64ObservableGaugeConfig) Int64ObservableGaugeConfig
-}
-
-// Int64Observer is a recorder of int64 measurements.
-//
-// 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 Int64Observer 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.Int64Observer
-
- // Observe records the int64 value.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Observe(value int64, options ...ObserveOption)
-}
-
-// Int64Callback is a function registered with a Meter that makes observations
-// for an Int64Observable instrument it is registered with. Calls to the
-// Int64Observer record measurement values for the Int64Observable.
-//
-// 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
-// Int64Callbacks. Meaning, it should not report measurements with the same
-// attributes as another Int64Callbacks also registered for the same
-// instrument.
-//
-// The function needs to be concurrent safe.
-type Int64Callback func(context.Context, Int64Observer) error
-
-// Int64ObservableOption applies options to int64 Observer instruments.
-type Int64ObservableOption interface {
- Int64ObservableCounterOption
- Int64ObservableUpDownCounterOption
- Int64ObservableGaugeOption
-}
-
-type int64CallbackOpt struct {
- cback Int64Callback
-}
-
-func (o int64CallbackOpt) applyInt64ObservableCounter(cfg Int64ObservableCounterConfig) Int64ObservableCounterConfig {
- cfg.callbacks = append(cfg.callbacks, o.cback)
- return cfg
-}
-
-func (o int64CallbackOpt) applyInt64ObservableUpDownCounter(cfg Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig {
- cfg.callbacks = append(cfg.callbacks, o.cback)
- return cfg
-}
-
-func (o int64CallbackOpt) applyInt64ObservableGauge(cfg Int64ObservableGaugeConfig) Int64ObservableGaugeConfig {
- cfg.callbacks = append(cfg.callbacks, o.cback)
- return cfg
-}
-
-// WithInt64Callback adds callback to be called for an instrument.
-func WithInt64Callback(callback Int64Callback) Int64ObservableOption {
- return int64CallbackOpt{callback}
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/config.go b/vendor/go.opentelemetry.io/otel/metric/config.go
deleted file mode 100644
index d9e3b13e4..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/config.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import "go.opentelemetry.io/otel/attribute"
-
-// MeterConfig contains options for Meters.
-type MeterConfig struct {
- instrumentationVersion string
- schemaURL string
- attrs attribute.Set
-
- // Ensure forward compatibility by explicitly making this not comparable.
- noCmp [0]func() //nolint: unused // This is indeed used.
-}
-
-// InstrumentationVersion returns the version of the library providing
-// instrumentation.
-func (cfg MeterConfig) InstrumentationVersion() string {
- return cfg.instrumentationVersion
-}
-
-// InstrumentationAttributes returns the attributes associated with the library
-// providing instrumentation.
-func (cfg MeterConfig) InstrumentationAttributes() attribute.Set {
- return cfg.attrs
-}
-
-// SchemaURL is the schema_url of the library providing instrumentation.
-func (cfg MeterConfig) SchemaURL() string {
- return cfg.schemaURL
-}
-
-// MeterOption is an interface for applying Meter options.
-type MeterOption interface {
- // applyMeter is used to set a MeterOption value of a MeterConfig.
- applyMeter(MeterConfig) MeterConfig
-}
-
-// NewMeterConfig creates a new MeterConfig and applies
-// all the given options.
-func NewMeterConfig(opts ...MeterOption) MeterConfig {
- var config MeterConfig
- for _, o := range opts {
- config = o.applyMeter(config)
- }
- return config
-}
-
-type meterOptionFunc func(MeterConfig) MeterConfig
-
-func (fn meterOptionFunc) applyMeter(cfg MeterConfig) MeterConfig {
- return fn(cfg)
-}
-
-// WithInstrumentationVersion sets the instrumentation version.
-func WithInstrumentationVersion(version string) MeterOption {
- return meterOptionFunc(func(config MeterConfig) MeterConfig {
- config.instrumentationVersion = version
- return config
- })
-}
-
-// WithInstrumentationAttributes sets the instrumentation attributes.
-//
-// The passed attributes will be de-duplicated.
-func WithInstrumentationAttributes(attr ...attribute.KeyValue) MeterOption {
- return meterOptionFunc(func(config MeterConfig) MeterConfig {
- config.attrs = attribute.NewSet(attr...)
- return config
- })
-}
-
-// WithSchemaURL sets the schema URL.
-func WithSchemaURL(schemaURL string) MeterOption {
- return meterOptionFunc(func(config MeterConfig) MeterConfig {
- config.schemaURL = schemaURL
- return config
- })
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/doc.go b/vendor/go.opentelemetry.io/otel/metric/doc.go
deleted file mode 100644
index f153745b0..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/doc.go
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-/*
-Package metric provides the OpenTelemetry API used to measure metrics about
-source code operation.
-
-This API is separate from its implementation so the instrumentation built from
-it is reusable. See [go.opentelemetry.io/otel/sdk/metric] for the official
-OpenTelemetry implementation of this API.
-
-All measurements made with this package are made via instruments. These
-instruments are created by a [Meter] which itself is created by a
-[MeterProvider]. Applications need to accept a [MeterProvider] implementation
-as a starting point when instrumenting. This can be done directly, or by using
-the OpenTelemetry global MeterProvider via [GetMeterProvider]. Using an
-appropriately named [Meter] from the accepted [MeterProvider], instrumentation
-can then be built from the [Meter]'s instruments.
-
-# Instruments
-
-Each instrument is designed to make measurements of a particular type. Broadly,
-all instruments fall into two overlapping logical categories: asynchronous or
-synchronous, and int64 or float64.
-
-All synchronous instruments ([Int64Counter], [Int64UpDownCounter],
-[Int64Histogram], [Float64Counter], [Float64UpDownCounter], and
-[Float64Histogram]) are used to measure the operation and performance of source
-code during the source code execution. These instruments only make measurements
-when the source code they instrument is run.
-
-All asynchronous instruments ([Int64ObservableCounter],
-[Int64ObservableUpDownCounter], [Int64ObservableGauge],
-[Float64ObservableCounter], [Float64ObservableUpDownCounter], and
-[Float64ObservableGauge]) are used to measure metrics outside of the execution
-of source code. They are said to make "observations" via a callback function
-called once every measurement collection cycle.
-
-Each instrument is also grouped by the value type it measures. Either int64 or
-float64. The value being measured will dictate which instrument in these
-categories to use.
-
-Outside of these two broad categories, instruments are described by the
-function they are designed to serve. All Counters ([Int64Counter],
-[Float64Counter], [Int64ObservableCounter], and [Float64ObservableCounter]) are
-designed to measure values that never decrease in value, but instead only
-incrementally increase in value. UpDownCounters ([Int64UpDownCounter],
-[Float64UpDownCounter], [Int64ObservableUpDownCounter], and
-[Float64ObservableUpDownCounter]) on the other hand, are designed to measure
-values that can increase and decrease. When more information needs to be
-conveyed about all the synchronous measurements made during a collection cycle,
-a Histogram ([Int64Histogram] and [Float64Histogram]) should be used. Finally,
-when just the most recent measurement needs to be conveyed about an
-asynchronous measurement, a Gauge ([Int64ObservableGauge] and
-[Float64ObservableGauge]) should be used.
-
-See the [OpenTelemetry documentation] for more information about instruments
-and their intended use.
-
-# Instrument Name
-
-OpenTelemetry defines an [instrument name syntax] that restricts what
-instrument names are allowed.
-
-Instrument names should ...
-
- - Not be empty.
- - Have an alphabetic character as their first letter.
- - Have any letter after the first be an alphanumeric character, ‘_’, ‘.’,
- ‘-’, or ‘/’.
- - Have a maximum length of 255 letters.
-
-To ensure compatibility with observability platforms, all instruments created
-need to conform to this syntax. Not all implementations of the API will validate
-these names, it is the callers responsibility to ensure compliance.
-
-# Measurements
-
-Measurements are made by recording values and information about the values with
-an instrument. How these measurements are recorded depends on the instrument.
-
-Measurements for synchronous instruments ([Int64Counter], [Int64UpDownCounter],
-[Int64Histogram], [Float64Counter], [Float64UpDownCounter], and
-[Float64Histogram]) are recorded using the instrument methods directly. All
-counter instruments have an Add method that is used to measure an increment
-value, and all histogram instruments have a Record method to measure a data
-point.
-
-Asynchronous instruments ([Int64ObservableCounter],
-[Int64ObservableUpDownCounter], [Int64ObservableGauge],
-[Float64ObservableCounter], [Float64ObservableUpDownCounter], and
-[Float64ObservableGauge]) record measurements within a callback function. The
-callback is registered with the Meter which ensures the callback is called once
-per collection cycle. A callback can be registered two ways: during the
-instrument's creation using an option, or later using the RegisterCallback
-method of the [Meter] that created the instrument.
-
-If the following criteria are met, an option ([WithInt64Callback] or
-[WithFloat64Callback]) can be used during the asynchronous instrument's
-creation to register a callback ([Int64Callback] or [Float64Callback],
-respectively):
-
- - The measurement process is known when the instrument is created
- - Only that instrument will make a measurement within the callback
- - The callback never needs to be unregistered
-
-If the criteria are not met, use the RegisterCallback method of the [Meter] that
-created the instrument to register a [Callback].
-
-# API Implementations
-
-This package does not conform to the standard Go versioning policy, all of its
-interfaces may have methods added to them without a package major version bump.
-This non-standard API evolution could surprise an uninformed implementation
-author. They could unknowingly build their implementation in a way that would
-result in a runtime panic for their users that update to the new API.
-
-The API is designed to help inform an instrumentation author about this
-non-standard API evolution. It requires them to choose a default behavior for
-unimplemented interface methods. There are three behavior choices they can
-make:
-
- - Compilation failure
- - Panic
- - Default to another implementation
-
-All interfaces in this API embed a corresponding interface from
-[go.opentelemetry.io/otel/metric/embedded]. If an author wants the default
-behavior of their implementations to be a compilation failure, signaling to
-their users they need to update to the latest version of that implementation,
-they need to embed the corresponding interface from
-[go.opentelemetry.io/otel/metric/embedded] in their implementation. For
-example,
-
- import "go.opentelemetry.io/otel/metric/embedded"
-
- type MeterProvider struct {
- embedded.MeterProvider
- // ...
- }
-
-If an author wants the default behavior of their implementations to a panic,
-they need to embed the API interface directly.
-
- import "go.opentelemetry.io/otel/metric"
-
- type MeterProvider struct {
- metric.MeterProvider
- // ...
- }
-
-This is not a recommended behavior as it could lead to publishing packages that
-contain runtime panics when users update other package that use newer versions
-of [go.opentelemetry.io/otel/metric].
-
-Finally, an author can embed another implementation in theirs. The embedded
-implementation will be used for methods not defined by the author. For example,
-an author who wants to default to silently dropping the call can use
-[go.opentelemetry.io/otel/metric/noop]:
-
- import "go.opentelemetry.io/otel/metric/noop"
-
- type MeterProvider struct {
- noop.MeterProvider
- // ...
- }
-
-It is strongly recommended that authors only embed
-[go.opentelemetry.io/otel/metric/noop] if they choose this default behavior.
-That implementation is the only one OpenTelemetry authors can guarantee will
-fully implement all the API interfaces when a user updates their API.
-
-[instrument name syntax]: https://opentelemetry.io/docs/specs/otel/metrics/api/#instrument-name-syntax
-[OpenTelemetry documentation]: https://opentelemetry.io/docs/concepts/signals/metrics/
-[GetMeterProvider]: https://pkg.go.dev/go.opentelemetry.io/otel#GetMeterProvider
-*/
-package metric // import "go.opentelemetry.io/otel/metric"
diff --git a/vendor/go.opentelemetry.io/otel/metric/embedded/README.md b/vendor/go.opentelemetry.io/otel/metric/embedded/README.md
deleted file mode 100644
index 1f6e0efa7..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/embedded/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Metric Embedded
-
-[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/metric/embedded)](https://pkg.go.dev/go.opentelemetry.io/otel/metric/embedded)
diff --git a/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go b/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
deleted file mode 100644
index 1a9dc6809..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
+++ /dev/null
@@ -1,243 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-// Package embedded provides interfaces embedded within the [OpenTelemetry
-// metric API].
-//
-// Implementers of the [OpenTelemetry metric API] can embed the relevant type
-// from this package into their implementation directly. Doing so will result
-// in a compilation error for users when the [OpenTelemetry metric API] is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-//
-// [OpenTelemetry metric API]: https://pkg.go.dev/go.opentelemetry.io/otel/metric
-package embedded // import "go.opentelemetry.io/otel/metric/embedded"
-
-// MeterProvider is embedded in
-// [go.opentelemetry.io/otel/metric.MeterProvider].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.MeterProvider] if you want users to
-// experience a compilation error, signaling they need to update to your latest
-// implementation, when the [go.opentelemetry.io/otel/metric.MeterProvider]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type MeterProvider interface{ meterProvider() }
-
-// Meter is embedded in [go.opentelemetry.io/otel/metric.Meter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Meter] if you want users to experience a
-// compilation error, signaling they need to update to your latest
-// implementation, when the [go.opentelemetry.io/otel/metric.Meter] interface
-// is extended (which is something that can happen without a major version bump
-// of the API package).
-type Meter interface{ meter() }
-
-// Float64Observer is embedded in
-// [go.opentelemetry.io/otel/metric.Float64Observer].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64Observer] if you want
-// users to experience a compilation error, signaling they need to update to
-// your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64Observer] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Float64Observer interface{ float64Observer() }
-
-// Int64Observer is embedded in
-// [go.opentelemetry.io/otel/metric.Int64Observer].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64Observer] if you want users
-// to experience a compilation error, signaling they need to update to your
-// latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64Observer] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Int64Observer interface{ int64Observer() }
-
-// Observer is embedded in [go.opentelemetry.io/otel/metric.Observer].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Observer] if you want users to experience a
-// compilation error, signaling they need to update to your latest
-// implementation, when the [go.opentelemetry.io/otel/metric.Observer]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Observer interface{ observer() }
-
-// Registration is embedded in [go.opentelemetry.io/otel/metric.Registration].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Registration] if you want users to
-// experience a compilation error, signaling they need to update to your latest
-// implementation, when the [go.opentelemetry.io/otel/metric.Registration]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Registration interface{ registration() }
-
-// Float64Counter is embedded in
-// [go.opentelemetry.io/otel/metric.Float64Counter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64Counter] if you want
-// users to experience a compilation error, signaling they need to update to
-// your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64Counter] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Float64Counter interface{ float64Counter() }
-
-// Float64Histogram is embedded in
-// [go.opentelemetry.io/otel/metric.Float64Histogram].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64Histogram] if you want
-// users to experience a compilation error, signaling they need to update to
-// your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64Histogram] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Float64Histogram interface{ float64Histogram() }
-
-// Float64Gauge is embedded in [go.opentelemetry.io/otel/metric.Float64Gauge].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64Gauge] if you want users to
-// experience a compilation error, signaling they need to update to your latest
-// implementation, when the [go.opentelemetry.io/otel/metric.Float64Gauge]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Float64Gauge interface{ float64Gauge() }
-
-// Float64ObservableCounter is embedded in
-// [go.opentelemetry.io/otel/metric.Float64ObservableCounter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64ObservableCounter] if you
-// want users to experience a compilation error, signaling they need to update
-// to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64ObservableCounter]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Float64ObservableCounter interface{ float64ObservableCounter() }
-
-// Float64ObservableGauge is embedded in
-// [go.opentelemetry.io/otel/metric.Float64ObservableGauge].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64ObservableGauge] if you
-// want users to experience a compilation error, signaling they need to update
-// to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64ObservableGauge]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Float64ObservableGauge interface{ float64ObservableGauge() }
-
-// Float64ObservableUpDownCounter is embedded in
-// [go.opentelemetry.io/otel/metric.Float64ObservableUpDownCounter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64ObservableUpDownCounter]
-// if you want users to experience a compilation error, signaling they need to
-// update to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64ObservableUpDownCounter]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Float64ObservableUpDownCounter interface{ float64ObservableUpDownCounter() }
-
-// Float64UpDownCounter is embedded in
-// [go.opentelemetry.io/otel/metric.Float64UpDownCounter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Float64UpDownCounter] if you
-// want users to experience a compilation error, signaling they need to update
-// to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Float64UpDownCounter] interface
-// is extended (which is something that can happen without a major version bump
-// of the API package).
-type Float64UpDownCounter interface{ float64UpDownCounter() }
-
-// Int64Counter is embedded in
-// [go.opentelemetry.io/otel/metric.Int64Counter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64Counter] if you want users
-// to experience a compilation error, signaling they need to update to your
-// latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64Counter] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Int64Counter interface{ int64Counter() }
-
-// Int64Histogram is embedded in
-// [go.opentelemetry.io/otel/metric.Int64Histogram].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64Histogram] if you want
-// users to experience a compilation error, signaling they need to update to
-// your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64Histogram] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Int64Histogram interface{ int64Histogram() }
-
-// Int64Gauge is embedded in [go.opentelemetry.io/otel/metric.Int64Gauge].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64Gauge] if you want users to experience
-// a compilation error, signaling they need to update to your latest
-// implementation, when the [go.opentelemetry.io/otel/metric.Int64Gauge]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Int64Gauge interface{ int64Gauge() }
-
-// Int64ObservableCounter is embedded in
-// [go.opentelemetry.io/otel/metric.Int64ObservableCounter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64ObservableCounter] if you
-// want users to experience a compilation error, signaling they need to update
-// to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64ObservableCounter]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Int64ObservableCounter interface{ int64ObservableCounter() }
-
-// Int64ObservableGauge is embedded in
-// [go.opentelemetry.io/otel/metric.Int64ObservableGauge].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64ObservableGauge] if you
-// want users to experience a compilation error, signaling they need to update
-// to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64ObservableGauge] interface
-// is extended (which is something that can happen without a major version bump
-// of the API package).
-type Int64ObservableGauge interface{ int64ObservableGauge() }
-
-// Int64ObservableUpDownCounter is embedded in
-// [go.opentelemetry.io/otel/metric.Int64ObservableUpDownCounter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64ObservableUpDownCounter] if
-// you want users to experience a compilation error, signaling they need to
-// update to your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64ObservableUpDownCounter]
-// interface is extended (which is something that can happen without a major
-// version bump of the API package).
-type Int64ObservableUpDownCounter interface{ int64ObservableUpDownCounter() }
-
-// Int64UpDownCounter is embedded in
-// [go.opentelemetry.io/otel/metric.Int64UpDownCounter].
-//
-// Embed this interface in your implementation of the
-// [go.opentelemetry.io/otel/metric.Int64UpDownCounter] if you want
-// users to experience a compilation error, signaling they need to update to
-// your latest implementation, when the
-// [go.opentelemetry.io/otel/metric.Int64UpDownCounter] interface is
-// extended (which is something that can happen without a major version bump of
-// the API package).
-type Int64UpDownCounter interface{ int64UpDownCounter() }
diff --git a/vendor/go.opentelemetry.io/otel/metric/instrument.go b/vendor/go.opentelemetry.io/otel/metric/instrument.go
deleted file mode 100644
index a535782e1..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/instrument.go
+++ /dev/null
@@ -1,368 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import "go.opentelemetry.io/otel/attribute"
-
-// Observable is used as a grouping mechanism for all instruments that are
-// updated within a Callback.
-type Observable interface {
- observable()
-}
-
-// InstrumentOption applies options to all instruments.
-type InstrumentOption interface {
- Int64CounterOption
- Int64UpDownCounterOption
- Int64HistogramOption
- Int64GaugeOption
- Int64ObservableCounterOption
- Int64ObservableUpDownCounterOption
- Int64ObservableGaugeOption
-
- Float64CounterOption
- Float64UpDownCounterOption
- Float64HistogramOption
- Float64GaugeOption
- Float64ObservableCounterOption
- Float64ObservableUpDownCounterOption
- Float64ObservableGaugeOption
-}
-
-// HistogramOption applies options to histogram instruments.
-type HistogramOption interface {
- Int64HistogramOption
- Float64HistogramOption
-}
-
-type descOpt string
-
-func (o descOpt) applyFloat64Counter(c Float64CounterConfig) Float64CounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyFloat64UpDownCounter(c Float64UpDownCounterConfig) Float64UpDownCounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyFloat64Histogram(c Float64HistogramConfig) Float64HistogramConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyFloat64Gauge(c Float64GaugeConfig) Float64GaugeConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyFloat64ObservableCounter(c Float64ObservableCounterConfig) Float64ObservableCounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyFloat64ObservableUpDownCounter(c Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyFloat64ObservableGauge(c Float64ObservableGaugeConfig) Float64ObservableGaugeConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64Counter(c Int64CounterConfig) Int64CounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64UpDownCounter(c Int64UpDownCounterConfig) Int64UpDownCounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64Histogram(c Int64HistogramConfig) Int64HistogramConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64Gauge(c Int64GaugeConfig) Int64GaugeConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64ObservableCounter(c Int64ObservableCounterConfig) Int64ObservableCounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64ObservableUpDownCounter(c Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig {
- c.description = string(o)
- return c
-}
-
-func (o descOpt) applyInt64ObservableGauge(c Int64ObservableGaugeConfig) Int64ObservableGaugeConfig {
- c.description = string(o)
- return c
-}
-
-// WithDescription sets the instrument description.
-func WithDescription(desc string) InstrumentOption { return descOpt(desc) }
-
-type unitOpt string
-
-func (o unitOpt) applyFloat64Counter(c Float64CounterConfig) Float64CounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyFloat64UpDownCounter(c Float64UpDownCounterConfig) Float64UpDownCounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyFloat64Histogram(c Float64HistogramConfig) Float64HistogramConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyFloat64Gauge(c Float64GaugeConfig) Float64GaugeConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyFloat64ObservableCounter(c Float64ObservableCounterConfig) Float64ObservableCounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyFloat64ObservableUpDownCounter(c Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyFloat64ObservableGauge(c Float64ObservableGaugeConfig) Float64ObservableGaugeConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64Counter(c Int64CounterConfig) Int64CounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64UpDownCounter(c Int64UpDownCounterConfig) Int64UpDownCounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64Histogram(c Int64HistogramConfig) Int64HistogramConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64Gauge(c Int64GaugeConfig) Int64GaugeConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64ObservableCounter(c Int64ObservableCounterConfig) Int64ObservableCounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64ObservableUpDownCounter(c Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig {
- c.unit = string(o)
- return c
-}
-
-func (o unitOpt) applyInt64ObservableGauge(c Int64ObservableGaugeConfig) Int64ObservableGaugeConfig {
- c.unit = string(o)
- return c
-}
-
-// WithUnit sets the instrument unit.
-//
-// The unit u should be defined using the appropriate [UCUM](https://ucum.org) case-sensitive code.
-func WithUnit(u string) InstrumentOption { return unitOpt(u) }
-
-// WithExplicitBucketBoundaries sets the instrument explicit bucket boundaries.
-//
-// This option is considered "advisory", and may be ignored by API implementations.
-func WithExplicitBucketBoundaries(bounds ...float64) HistogramOption { return bucketOpt(bounds) }
-
-type bucketOpt []float64
-
-func (o bucketOpt) applyFloat64Histogram(c Float64HistogramConfig) Float64HistogramConfig {
- c.explicitBucketBoundaries = o
- return c
-}
-
-func (o bucketOpt) applyInt64Histogram(c Int64HistogramConfig) Int64HistogramConfig {
- c.explicitBucketBoundaries = o
- return c
-}
-
-// AddOption applies options to an addition measurement. See
-// [MeasurementOption] for other options that can be used as an AddOption.
-type AddOption interface {
- applyAdd(AddConfig) AddConfig
-}
-
-// AddConfig contains options for an addition measurement.
-type AddConfig struct {
- attrs attribute.Set
-}
-
-// NewAddConfig returns a new [AddConfig] with all opts applied.
-func NewAddConfig(opts []AddOption) AddConfig {
- config := AddConfig{attrs: *attribute.EmptySet()}
- for _, o := range opts {
- config = o.applyAdd(config)
- }
- return config
-}
-
-// Attributes returns the configured attribute set.
-func (c AddConfig) Attributes() attribute.Set {
- return c.attrs
-}
-
-// RecordOption applies options to an addition measurement. See
-// [MeasurementOption] for other options that can be used as a RecordOption.
-type RecordOption interface {
- applyRecord(RecordConfig) RecordConfig
-}
-
-// RecordConfig contains options for a recorded measurement.
-type RecordConfig struct {
- attrs attribute.Set
-}
-
-// NewRecordConfig returns a new [RecordConfig] with all opts applied.
-func NewRecordConfig(opts []RecordOption) RecordConfig {
- config := RecordConfig{attrs: *attribute.EmptySet()}
- for _, o := range opts {
- config = o.applyRecord(config)
- }
- return config
-}
-
-// Attributes returns the configured attribute set.
-func (c RecordConfig) Attributes() attribute.Set {
- return c.attrs
-}
-
-// ObserveOption applies options to an addition measurement. See
-// [MeasurementOption] for other options that can be used as a ObserveOption.
-type ObserveOption interface {
- applyObserve(ObserveConfig) ObserveConfig
-}
-
-// ObserveConfig contains options for an observed measurement.
-type ObserveConfig struct {
- attrs attribute.Set
-}
-
-// NewObserveConfig returns a new [ObserveConfig] with all opts applied.
-func NewObserveConfig(opts []ObserveOption) ObserveConfig {
- config := ObserveConfig{attrs: *attribute.EmptySet()}
- for _, o := range opts {
- config = o.applyObserve(config)
- }
- return config
-}
-
-// Attributes returns the configured attribute set.
-func (c ObserveConfig) Attributes() attribute.Set {
- return c.attrs
-}
-
-// MeasurementOption applies options to all instrument measurement.
-type MeasurementOption interface {
- AddOption
- RecordOption
- ObserveOption
-}
-
-type attrOpt struct {
- set attribute.Set
-}
-
-// mergeSets returns the union of keys between a and b. Any duplicate keys will
-// use the value associated with b.
-func mergeSets(a, b attribute.Set) attribute.Set {
- // NewMergeIterator uses the first value for any duplicates.
- iter := attribute.NewMergeIterator(&b, &a)
- merged := make([]attribute.KeyValue, 0, a.Len()+b.Len())
- for iter.Next() {
- merged = append(merged, iter.Attribute())
- }
- return attribute.NewSet(merged...)
-}
-
-func (o attrOpt) applyAdd(c AddConfig) AddConfig {
- switch {
- case o.set.Len() == 0:
- case c.attrs.Len() == 0:
- c.attrs = o.set
- default:
- c.attrs = mergeSets(c.attrs, o.set)
- }
- return c
-}
-
-func (o attrOpt) applyRecord(c RecordConfig) RecordConfig {
- switch {
- case o.set.Len() == 0:
- case c.attrs.Len() == 0:
- c.attrs = o.set
- default:
- c.attrs = mergeSets(c.attrs, o.set)
- }
- return c
-}
-
-func (o attrOpt) applyObserve(c ObserveConfig) ObserveConfig {
- switch {
- case o.set.Len() == 0:
- case c.attrs.Len() == 0:
- c.attrs = o.set
- default:
- c.attrs = mergeSets(c.attrs, o.set)
- }
- return c
-}
-
-// WithAttributeSet sets the attribute Set associated with a measurement is
-// made with.
-//
-// If multiple WithAttributeSet or WithAttributes options are passed the
-// attributes will be merged together in the order they are passed. Attributes
-// with duplicate keys will use the last value passed.
-func WithAttributeSet(attributes attribute.Set) MeasurementOption {
- return attrOpt{set: attributes}
-}
-
-// WithAttributes converts attributes into an attribute Set and sets the Set to
-// be associated with a measurement. This is shorthand for:
-//
-// cp := make([]attribute.KeyValue, len(attributes))
-// copy(cp, attributes)
-// WithAttributeSet(attribute.NewSet(cp...))
-//
-// [attribute.NewSet] may modify the passed attributes so this will make a copy
-// of attributes before creating a set in order to ensure this function is
-// concurrent safe. This makes this option function less optimized in
-// comparison to [WithAttributeSet]. Therefore, [WithAttributeSet] should be
-// preferred for performance sensitive code.
-//
-// See [WithAttributeSet] for information about how multiple WithAttributes are
-// merged.
-func WithAttributes(attributes ...attribute.KeyValue) MeasurementOption {
- cp := make([]attribute.KeyValue, len(attributes))
- copy(cp, attributes)
- return attrOpt{set: attribute.NewSet(cp...)}
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/meter.go b/vendor/go.opentelemetry.io/otel/metric/meter.go
deleted file mode 100644
index 14e08c24a..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/meter.go
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import (
- "context"
-
- "go.opentelemetry.io/otel/metric/embedded"
-)
-
-// 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
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/noop/README.md b/vendor/go.opentelemetry.io/otel/metric/noop/README.md
deleted file mode 100644
index bb8969435..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/noop/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Metric Noop
-
-[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/metric/noop)](https://pkg.go.dev/go.opentelemetry.io/otel/metric/noop)
diff --git a/vendor/go.opentelemetry.io/otel/metric/noop/noop.go b/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
deleted file mode 100644
index ca6fcbdc0..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
+++ /dev/null
@@ -1,281 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-// Package noop provides an implementation of the OpenTelemetry metric API that
-// produces no telemetry and minimizes used computation resources.
-//
-// Using this package to implement the OpenTelemetry metric API will
-// effectively disable OpenTelemetry.
-//
-// This implementation can be embedded in other implementations of the
-// OpenTelemetry metric API. Doing so will mean the implementation defaults to
-// no operation for methods it does not implement.
-package noop // import "go.opentelemetry.io/otel/metric/noop"
-
-import (
- "context"
-
- "go.opentelemetry.io/otel/metric"
- "go.opentelemetry.io/otel/metric/embedded"
-)
-
-var (
- // Compile-time check this implements the OpenTelemetry API.
-
- _ metric.MeterProvider = MeterProvider{}
- _ metric.Meter = Meter{}
- _ metric.Observer = Observer{}
- _ metric.Registration = Registration{}
- _ metric.Int64Counter = Int64Counter{}
- _ metric.Float64Counter = Float64Counter{}
- _ metric.Int64UpDownCounter = Int64UpDownCounter{}
- _ metric.Float64UpDownCounter = Float64UpDownCounter{}
- _ metric.Int64Histogram = Int64Histogram{}
- _ metric.Float64Histogram = Float64Histogram{}
- _ metric.Int64Gauge = Int64Gauge{}
- _ metric.Float64Gauge = Float64Gauge{}
- _ metric.Int64ObservableCounter = Int64ObservableCounter{}
- _ metric.Float64ObservableCounter = Float64ObservableCounter{}
- _ metric.Int64ObservableGauge = Int64ObservableGauge{}
- _ metric.Float64ObservableGauge = Float64ObservableGauge{}
- _ metric.Int64ObservableUpDownCounter = Int64ObservableUpDownCounter{}
- _ metric.Float64ObservableUpDownCounter = Float64ObservableUpDownCounter{}
- _ metric.Int64Observer = Int64Observer{}
- _ metric.Float64Observer = Float64Observer{}
-)
-
-// MeterProvider is an OpenTelemetry No-Op MeterProvider.
-type MeterProvider struct{ embedded.MeterProvider }
-
-// NewMeterProvider returns a MeterProvider that does not record any telemetry.
-func NewMeterProvider() MeterProvider {
- return MeterProvider{}
-}
-
-// Meter returns an OpenTelemetry Meter that does not record any telemetry.
-func (MeterProvider) Meter(string, ...metric.MeterOption) metric.Meter {
- return Meter{}
-}
-
-// Meter is an OpenTelemetry No-Op Meter.
-type Meter struct{ embedded.Meter }
-
-// Int64Counter returns a Counter used to record int64 measurements that
-// produces no telemetry.
-func (Meter) Int64Counter(string, ...metric.Int64CounterOption) (metric.Int64Counter, error) {
- return Int64Counter{}, nil
-}
-
-// Int64UpDownCounter returns an UpDownCounter used to record int64
-// measurements that produces no telemetry.
-func (Meter) Int64UpDownCounter(string, ...metric.Int64UpDownCounterOption) (metric.Int64UpDownCounter, error) {
- return Int64UpDownCounter{}, nil
-}
-
-// Int64Histogram returns a Histogram used to record int64 measurements that
-// produces no telemetry.
-func (Meter) Int64Histogram(string, ...metric.Int64HistogramOption) (metric.Int64Histogram, error) {
- return Int64Histogram{}, nil
-}
-
-// Int64Gauge returns a Gauge used to record int64 measurements that
-// produces no telemetry.
-func (Meter) Int64Gauge(string, ...metric.Int64GaugeOption) (metric.Int64Gauge, error) {
- return Int64Gauge{}, nil
-}
-
-// Int64ObservableCounter returns an ObservableCounter used to record int64
-// measurements that produces no telemetry.
-func (Meter) Int64ObservableCounter(string, ...metric.Int64ObservableCounterOption) (metric.Int64ObservableCounter, error) {
- return Int64ObservableCounter{}, nil
-}
-
-// Int64ObservableUpDownCounter returns an ObservableUpDownCounter used to
-// record int64 measurements that produces no telemetry.
-func (Meter) Int64ObservableUpDownCounter(string, ...metric.Int64ObservableUpDownCounterOption) (metric.Int64ObservableUpDownCounter, error) {
- return Int64ObservableUpDownCounter{}, nil
-}
-
-// Int64ObservableGauge returns an ObservableGauge used to record int64
-// measurements that produces no telemetry.
-func (Meter) Int64ObservableGauge(string, ...metric.Int64ObservableGaugeOption) (metric.Int64ObservableGauge, error) {
- return Int64ObservableGauge{}, nil
-}
-
-// Float64Counter returns a Counter used to record int64 measurements that
-// produces no telemetry.
-func (Meter) Float64Counter(string, ...metric.Float64CounterOption) (metric.Float64Counter, error) {
- return Float64Counter{}, nil
-}
-
-// Float64UpDownCounter returns an UpDownCounter used to record int64
-// measurements that produces no telemetry.
-func (Meter) Float64UpDownCounter(string, ...metric.Float64UpDownCounterOption) (metric.Float64UpDownCounter, error) {
- return Float64UpDownCounter{}, nil
-}
-
-// Float64Histogram returns a Histogram used to record int64 measurements that
-// produces no telemetry.
-func (Meter) Float64Histogram(string, ...metric.Float64HistogramOption) (metric.Float64Histogram, error) {
- return Float64Histogram{}, nil
-}
-
-// Float64Gauge returns a Gauge used to record float64 measurements that
-// produces no telemetry.
-func (Meter) Float64Gauge(string, ...metric.Float64GaugeOption) (metric.Float64Gauge, error) {
- return Float64Gauge{}, nil
-}
-
-// Float64ObservableCounter returns an ObservableCounter used to record int64
-// measurements that produces no telemetry.
-func (Meter) Float64ObservableCounter(string, ...metric.Float64ObservableCounterOption) (metric.Float64ObservableCounter, error) {
- return Float64ObservableCounter{}, nil
-}
-
-// Float64ObservableUpDownCounter returns an ObservableUpDownCounter used to
-// record int64 measurements that produces no telemetry.
-func (Meter) Float64ObservableUpDownCounter(string, ...metric.Float64ObservableUpDownCounterOption) (metric.Float64ObservableUpDownCounter, error) {
- return Float64ObservableUpDownCounter{}, nil
-}
-
-// Float64ObservableGauge returns an ObservableGauge used to record int64
-// measurements that produces no telemetry.
-func (Meter) Float64ObservableGauge(string, ...metric.Float64ObservableGaugeOption) (metric.Float64ObservableGauge, error) {
- return Float64ObservableGauge{}, nil
-}
-
-// RegisterCallback performs no operation.
-func (Meter) RegisterCallback(metric.Callback, ...metric.Observable) (metric.Registration, error) {
- return Registration{}, nil
-}
-
-// Observer acts as a recorder of measurements for multiple instruments in a
-// Callback, it performing no operation.
-type Observer struct{ embedded.Observer }
-
-// ObserveFloat64 performs no operation.
-func (Observer) ObserveFloat64(metric.Float64Observable, float64, ...metric.ObserveOption) {
-}
-
-// ObserveInt64 performs no operation.
-func (Observer) ObserveInt64(metric.Int64Observable, int64, ...metric.ObserveOption) {
-}
-
-// Registration is the registration of a Callback with a No-Op Meter.
-type Registration struct{ embedded.Registration }
-
-// Unregister unregisters the Callback the Registration represents with the
-// No-Op Meter. This will always return nil because the No-Op Meter performs no
-// operation, including hold any record of registrations.
-func (Registration) Unregister() error { return nil }
-
-// Int64Counter is an OpenTelemetry Counter used to record int64 measurements.
-// It produces no telemetry.
-type Int64Counter struct{ embedded.Int64Counter }
-
-// Add performs no operation.
-func (Int64Counter) Add(context.Context, int64, ...metric.AddOption) {}
-
-// Float64Counter is an OpenTelemetry Counter used to record float64
-// measurements. It produces no telemetry.
-type Float64Counter struct{ embedded.Float64Counter }
-
-// Add performs no operation.
-func (Float64Counter) Add(context.Context, float64, ...metric.AddOption) {}
-
-// Int64UpDownCounter is an OpenTelemetry UpDownCounter used to record int64
-// measurements. It produces no telemetry.
-type Int64UpDownCounter struct{ embedded.Int64UpDownCounter }
-
-// Add performs no operation.
-func (Int64UpDownCounter) Add(context.Context, int64, ...metric.AddOption) {}
-
-// Float64UpDownCounter is an OpenTelemetry UpDownCounter used to record
-// float64 measurements. It produces no telemetry.
-type Float64UpDownCounter struct{ embedded.Float64UpDownCounter }
-
-// Add performs no operation.
-func (Float64UpDownCounter) Add(context.Context, float64, ...metric.AddOption) {}
-
-// Int64Histogram is an OpenTelemetry Histogram used to record int64
-// measurements. It produces no telemetry.
-type Int64Histogram struct{ embedded.Int64Histogram }
-
-// Record performs no operation.
-func (Int64Histogram) Record(context.Context, int64, ...metric.RecordOption) {}
-
-// Float64Histogram is an OpenTelemetry Histogram used to record float64
-// measurements. It produces no telemetry.
-type Float64Histogram struct{ embedded.Float64Histogram }
-
-// Record performs no operation.
-func (Float64Histogram) Record(context.Context, float64, ...metric.RecordOption) {}
-
-// Int64Gauge is an OpenTelemetry Gauge used to record instantaneous int64
-// measurements. It produces no telemetry.
-type Int64Gauge struct{ embedded.Int64Gauge }
-
-// Record performs no operation.
-func (Int64Gauge) Record(context.Context, int64, ...metric.RecordOption) {}
-
-// Float64Gauge is an OpenTelemetry Gauge used to record instantaneous float64
-// measurements. It produces no telemetry.
-type Float64Gauge struct{ embedded.Float64Gauge }
-
-// Record performs no operation.
-func (Float64Gauge) Record(context.Context, float64, ...metric.RecordOption) {}
-
-// Int64ObservableCounter is an OpenTelemetry ObservableCounter used to record
-// int64 measurements. It produces no telemetry.
-type Int64ObservableCounter struct {
- metric.Int64Observable
- embedded.Int64ObservableCounter
-}
-
-// Float64ObservableCounter is an OpenTelemetry ObservableCounter used to record
-// float64 measurements. It produces no telemetry.
-type Float64ObservableCounter struct {
- metric.Float64Observable
- embedded.Float64ObservableCounter
-}
-
-// Int64ObservableGauge is an OpenTelemetry ObservableGauge used to record
-// int64 measurements. It produces no telemetry.
-type Int64ObservableGauge struct {
- metric.Int64Observable
- embedded.Int64ObservableGauge
-}
-
-// Float64ObservableGauge is an OpenTelemetry ObservableGauge used to record
-// float64 measurements. It produces no telemetry.
-type Float64ObservableGauge struct {
- metric.Float64Observable
- embedded.Float64ObservableGauge
-}
-
-// Int64ObservableUpDownCounter is an OpenTelemetry ObservableUpDownCounter
-// used to record int64 measurements. It produces no telemetry.
-type Int64ObservableUpDownCounter struct {
- metric.Int64Observable
- embedded.Int64ObservableUpDownCounter
-}
-
-// Float64ObservableUpDownCounter is an OpenTelemetry ObservableUpDownCounter
-// used to record float64 measurements. It produces no telemetry.
-type Float64ObservableUpDownCounter struct {
- metric.Float64Observable
- embedded.Float64ObservableUpDownCounter
-}
-
-// Int64Observer is a recorder of int64 measurements that performs no operation.
-type Int64Observer struct{ embedded.Int64Observer }
-
-// Observe performs no operation.
-func (Int64Observer) Observe(int64, ...metric.ObserveOption) {}
-
-// Float64Observer is a recorder of float64 measurements that performs no
-// operation.
-type Float64Observer struct{ embedded.Float64Observer }
-
-// Observe performs no operation.
-func (Float64Observer) Observe(float64, ...metric.ObserveOption) {}
diff --git a/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
deleted file mode 100644
index 8403a4bad..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
+++ /dev/null
@@ -1,226 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import (
- "context"
-
- "go.opentelemetry.io/otel/metric/embedded"
-)
-
-// Float64Counter is an instrument that records increasing float64 values.
-//
-// 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 Float64Counter 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.Float64Counter
-
- // Add records a change to the counter.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Add(ctx context.Context, incr float64, options ...AddOption)
-}
-
-// Float64CounterConfig contains options for synchronous counter instruments that
-// record float64 values.
-type Float64CounterConfig struct {
- description string
- unit string
-}
-
-// NewFloat64CounterConfig returns a new [Float64CounterConfig] with all opts
-// applied.
-func NewFloat64CounterConfig(opts ...Float64CounterOption) Float64CounterConfig {
- var config Float64CounterConfig
- for _, o := range opts {
- config = o.applyFloat64Counter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64CounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64CounterConfig) Unit() string {
- return c.unit
-}
-
-// Float64CounterOption applies options to a [Float64CounterConfig]. See
-// [InstrumentOption] for other options that can be used as a
-// Float64CounterOption.
-type Float64CounterOption interface {
- applyFloat64Counter(Float64CounterConfig) Float64CounterConfig
-}
-
-// Float64UpDownCounter is an instrument that records increasing or decreasing
-// float64 values.
-//
-// 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 Float64UpDownCounter 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.Float64UpDownCounter
-
- // Add records a change to the counter.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Add(ctx context.Context, incr float64, options ...AddOption)
-}
-
-// Float64UpDownCounterConfig contains options for synchronous counter
-// instruments that record float64 values.
-type Float64UpDownCounterConfig struct {
- description string
- unit string
-}
-
-// NewFloat64UpDownCounterConfig returns a new [Float64UpDownCounterConfig]
-// with all opts applied.
-func NewFloat64UpDownCounterConfig(opts ...Float64UpDownCounterOption) Float64UpDownCounterConfig {
- var config Float64UpDownCounterConfig
- for _, o := range opts {
- config = o.applyFloat64UpDownCounter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64UpDownCounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64UpDownCounterConfig) Unit() string {
- return c.unit
-}
-
-// Float64UpDownCounterOption applies options to a
-// [Float64UpDownCounterConfig]. See [InstrumentOption] for other options that
-// can be used as a Float64UpDownCounterOption.
-type Float64UpDownCounterOption interface {
- applyFloat64UpDownCounter(Float64UpDownCounterConfig) Float64UpDownCounterConfig
-}
-
-// Float64Histogram is an instrument that records a distribution of float64
-// values.
-//
-// 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 Float64Histogram 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.Float64Histogram
-
- // Record adds an additional value to the distribution.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Record(ctx context.Context, incr float64, options ...RecordOption)
-}
-
-// Float64HistogramConfig contains options for synchronous histogram
-// instruments that record float64 values.
-type Float64HistogramConfig struct {
- description string
- unit string
- explicitBucketBoundaries []float64
-}
-
-// NewFloat64HistogramConfig returns a new [Float64HistogramConfig] with all
-// opts applied.
-func NewFloat64HistogramConfig(opts ...Float64HistogramOption) Float64HistogramConfig {
- var config Float64HistogramConfig
- for _, o := range opts {
- config = o.applyFloat64Histogram(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64HistogramConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64HistogramConfig) Unit() string {
- return c.unit
-}
-
-// ExplicitBucketBoundaries returns the configured explicit bucket boundaries.
-func (c Float64HistogramConfig) ExplicitBucketBoundaries() []float64 {
- return c.explicitBucketBoundaries
-}
-
-// Float64HistogramOption applies options to a [Float64HistogramConfig]. See
-// [InstrumentOption] for other options that can be used as a
-// Float64HistogramOption.
-type Float64HistogramOption interface {
- applyFloat64Histogram(Float64HistogramConfig) Float64HistogramConfig
-}
-
-// Float64Gauge is an instrument that records instantaneous float64 values.
-//
-// 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 Float64Gauge 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.Float64Gauge
-
- // Record records the instantaneous value.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Record(ctx context.Context, value float64, options ...RecordOption)
-}
-
-// Float64GaugeConfig contains options for synchronous gauge instruments that
-// record float64 values.
-type Float64GaugeConfig struct {
- description string
- unit string
-}
-
-// NewFloat64GaugeConfig returns a new [Float64GaugeConfig] with all opts
-// applied.
-func NewFloat64GaugeConfig(opts ...Float64GaugeOption) Float64GaugeConfig {
- var config Float64GaugeConfig
- for _, o := range opts {
- config = o.applyFloat64Gauge(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Float64GaugeConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Float64GaugeConfig) Unit() string {
- return c.unit
-}
-
-// Float64GaugeOption applies options to a [Float64GaugeConfig]. See
-// [InstrumentOption] for other options that can be used as a
-// Float64GaugeOption.
-type Float64GaugeOption interface {
- applyFloat64Gauge(Float64GaugeConfig) Float64GaugeConfig
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/syncint64.go b/vendor/go.opentelemetry.io/otel/metric/syncint64.go
deleted file mode 100644
index 783fdfba7..000000000
--- a/vendor/go.opentelemetry.io/otel/metric/syncint64.go
+++ /dev/null
@@ -1,226 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package metric // import "go.opentelemetry.io/otel/metric"
-
-import (
- "context"
-
- "go.opentelemetry.io/otel/metric/embedded"
-)
-
-// Int64Counter is an instrument that records increasing int64 values.
-//
-// 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 Int64Counter 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.Int64Counter
-
- // Add records a change to the counter.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Add(ctx context.Context, incr int64, options ...AddOption)
-}
-
-// Int64CounterConfig contains options for synchronous counter instruments that
-// record int64 values.
-type Int64CounterConfig struct {
- description string
- unit string
-}
-
-// NewInt64CounterConfig returns a new [Int64CounterConfig] with all opts
-// applied.
-func NewInt64CounterConfig(opts ...Int64CounterOption) Int64CounterConfig {
- var config Int64CounterConfig
- for _, o := range opts {
- config = o.applyInt64Counter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64CounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64CounterConfig) Unit() string {
- return c.unit
-}
-
-// Int64CounterOption applies options to a [Int64CounterConfig]. See
-// [InstrumentOption] for other options that can be used as an
-// Int64CounterOption.
-type Int64CounterOption interface {
- applyInt64Counter(Int64CounterConfig) Int64CounterConfig
-}
-
-// Int64UpDownCounter is an instrument that records increasing or decreasing
-// int64 values.
-//
-// 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 Int64UpDownCounter 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.Int64UpDownCounter
-
- // Add records a change to the counter.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Add(ctx context.Context, incr int64, options ...AddOption)
-}
-
-// Int64UpDownCounterConfig contains options for synchronous counter
-// instruments that record int64 values.
-type Int64UpDownCounterConfig struct {
- description string
- unit string
-}
-
-// NewInt64UpDownCounterConfig returns a new [Int64UpDownCounterConfig] with
-// all opts applied.
-func NewInt64UpDownCounterConfig(opts ...Int64UpDownCounterOption) Int64UpDownCounterConfig {
- var config Int64UpDownCounterConfig
- for _, o := range opts {
- config = o.applyInt64UpDownCounter(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64UpDownCounterConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64UpDownCounterConfig) Unit() string {
- return c.unit
-}
-
-// Int64UpDownCounterOption applies options to a [Int64UpDownCounterConfig].
-// See [InstrumentOption] for other options that can be used as an
-// Int64UpDownCounterOption.
-type Int64UpDownCounterOption interface {
- applyInt64UpDownCounter(Int64UpDownCounterConfig) Int64UpDownCounterConfig
-}
-
-// Int64Histogram is an instrument that records a distribution of int64
-// values.
-//
-// 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 Int64Histogram 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.Int64Histogram
-
- // Record adds an additional value to the distribution.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Record(ctx context.Context, incr int64, options ...RecordOption)
-}
-
-// Int64HistogramConfig contains options for synchronous histogram instruments
-// that record int64 values.
-type Int64HistogramConfig struct {
- description string
- unit string
- explicitBucketBoundaries []float64
-}
-
-// NewInt64HistogramConfig returns a new [Int64HistogramConfig] with all opts
-// applied.
-func NewInt64HistogramConfig(opts ...Int64HistogramOption) Int64HistogramConfig {
- var config Int64HistogramConfig
- for _, o := range opts {
- config = o.applyInt64Histogram(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64HistogramConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64HistogramConfig) Unit() string {
- return c.unit
-}
-
-// ExplicitBucketBoundaries returns the configured explicit bucket boundaries.
-func (c Int64HistogramConfig) ExplicitBucketBoundaries() []float64 {
- return c.explicitBucketBoundaries
-}
-
-// Int64HistogramOption applies options to a [Int64HistogramConfig]. See
-// [InstrumentOption] for other options that can be used as an
-// Int64HistogramOption.
-type Int64HistogramOption interface {
- applyInt64Histogram(Int64HistogramConfig) Int64HistogramConfig
-}
-
-// Int64Gauge is an instrument that records instantaneous int64 values.
-//
-// 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 Int64Gauge 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.Int64Gauge
-
- // Record records the instantaneous value.
- //
- // Use the WithAttributeSet (or, if performance is not a concern,
- // the WithAttributes) option to include measurement attributes.
- Record(ctx context.Context, value int64, options ...RecordOption)
-}
-
-// Int64GaugeConfig contains options for synchronous gauge instruments that
-// record int64 values.
-type Int64GaugeConfig struct {
- description string
- unit string
-}
-
-// NewInt64GaugeConfig returns a new [Int64GaugeConfig] with all opts
-// applied.
-func NewInt64GaugeConfig(opts ...Int64GaugeOption) Int64GaugeConfig {
- var config Int64GaugeConfig
- for _, o := range opts {
- config = o.applyInt64Gauge(config)
- }
- return config
-}
-
-// Description returns the configured description.
-func (c Int64GaugeConfig) Description() string {
- return c.description
-}
-
-// Unit returns the configured unit.
-func (c Int64GaugeConfig) Unit() string {
- return c.unit
-}
-
-// Int64GaugeOption applies options to a [Int64GaugeConfig]. See
-// [InstrumentOption] for other options that can be used as a
-// Int64GaugeOption.
-type Int64GaugeOption interface {
- applyInt64Gauge(Int64GaugeConfig) Int64GaugeConfig
-}