1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00
Commit Graph

13 Commits

Author SHA1 Message Date
David Ashpole 28df982c8b Add support for experimental options in the metrics API (#8111)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/8110

Related to
https://github.com/open-telemetry/opentelemetry-go/issues/5882.

I'm hoping to find a better way to support experimental Options types in
our API packages. This is one approach to consider.

This contains no public API changes. It introduces a type:
`ExperimentalOption` in `/metric/internal/x`, which can be used by our
experimental options defined outside of the module. Options that embed
this interface are ignored by `New*Config` builder functions in the
metrics API to prevent them from panicing when used. Only SDKs that
explicitly support the experimental option in question will respect it.
Alternative SDKs will ignore the experimental options. We would still
need to treat ExperimentalOption as a stable artifact, since the SDK
will indirectly depend on it.

See
https://github.com/open-telemetry/opentelemetry-go/compare/main...dashpole:opentelemetry-go:attributes_advisory
for how this would be used to support the advisory attributes parameter.
2026-04-03 15:56:57 -04:00
David Ashpole 988a625a10 Document metric api interfaces that methods need to be safe to be called concurrently (#7952)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7864

Follows this spec change:
https://github.com/open-telemetry/opentelemetry-specification/pull/4868

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-02-26 10:15:08 -08:00
Robert Pająk 7706e21e4a metric: add Enabled method to synchronous instruments (#7763)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7681
2026-01-12 16:21:49 +01:00
Tyler Yahn dafe137bbe Add the synchronous gauge to the metric API and SDK (#5304)
Resolve #5225 

The specification has [added a synchronous gauge
instrument](https://github.com/open-telemetry/opentelemetry-specification/pull/3540).
That instrument has now been
[stabilized](https://github.com/open-telemetry/opentelemetry-specification/pull/4019),
and that stabilization is included in the [next
release](https://github.com/open-telemetry/opentelemetry-specification/pull/4034).

This adds the new synchronous gauge instrument to the metric API and all
implementation we publish.

This change will be a breaking change for any SDK developer. The
`embedded` package is updated to ensure our compatibility guarantees are
meet.

---------

Co-authored-by: David Ashpole <dashpole@google.com>
2024-05-16 09:56:40 -07:00
Tyler Yahn f23078e52a Fix HistogramConfig docs (#5301) 2024-05-06 19:16:41 +02:00
Tyler Yahn f8840b9a51 Fix type error in float64 instrument docs (#5302) 2024-05-06 19:04:57 +02:00
Robert Pająk 7dea232a46 [chore] Simplify the license header (#4987) 2024-02-29 07:05:28 +01:00
David Ashpole 0f5565af4f Add WithExplicitBucketBoundaries Histogram option to the metric api (#4603)
* Add WithExplicitBucketBoundaries Histogram option to the metric api

* Add note that the option is advisory

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
2023-10-26 12:18:37 -05:00
Tyler Yahn 02c0001307 Document how to pass attributes for all record methods (#4058)
* Document how to pass attributes for all record methods

* Update based on feedback
2023-05-09 08:07:39 -07:00
Tyler Yahn 476d00aa2c Fix the broken [Option] link in metric docs (#4057)
The `Option` type was replaced with `InstrumentOption` when the
`metric/instrument` package was moved to `metric`.
2023-05-08 08:16:34 -07:00
Tyler Yahn 07bf5913a1 Add comment on all uses of embedded types (#4059) 2023-05-08 08:05:08 -07:00
Tyler Yahn 2aadf656e2 Update metric iface warnings (#4056)
Remove self-reference to the package in the expandable interfaces.
2023-05-08 07:56:53 -07:00
Tyler Yahn 15d6ba2921 Unify metric API into the one otel/metric package (#4018)
* Move instrument into metric

* Update metric docs to include instrument

* Update package names

* Update all imports of sdk/metric/instrument

* Rename Option to InstrumentOption

* Deprecate otel/metric/instrument

* Add changelog entry
2023-04-27 11:25:48 -07:00