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

4675 Commits

Author SHA1 Message Date
renovate[bot] 5ca348d039 chore(deps): update module github.com/mattn/go-runewidth to v0.0.24 (#8394) 2026-06-01 16:59:06 +02:00
renovate[bot] 794c072400 chore(deps): update module github.com/jgautheron/goconst to v1.10.2 (#8380) 2026-05-29 14:47:45 +02:00
renovate[bot] f864e0c020 chore(deps): update module github.com/rogpeppe/go-internal to v1.15.0 (#8382) 2026-05-29 14:21:56 +02:00
renovate[bot] 6671f7bfb7 chore(deps): update codspeedhq/action action to v4.17.0 (#8388) 2026-05-29 12:53:40 +02:00
renovate[bot] 24ecd712b1 chore(deps): update module github.com/alecthomas/chroma/v2 to v2.26.1 (#8381) 2026-05-29 12:33:25 +02:00
Ayush de8158f87a fix(semconv): share metric option pools (#8371)
Share the AddOption and RecordOption pools used by generated semconv
metric helpers through a small internal package, instead of emitting one
pair of pools in every generated metric package.

Regenerate semconv/v1.41.0 from the updated templates.

Fixes #8356

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-29 12:17:09 +02:00
Robert Pająk b62d92831b Release 1.44.0 (#8376)
### Added

- Add `ByteSlice` and `ByteSliceValue` functions for new `BYTESLICE`
attribute type in `go.opentelemetry.io/otel/attribute`. (#7948)
- Apply attribute value limit to the `KindBytes` attribute type in
`go.opentelemetry.io/otel/sdk/log`. (#7990)
- Apply attribute value limit to the `BYTESLICE` attribute type in
`go.opentelemetry.io/otel/sdk/trace`. (#7990)
- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/trace`.
(#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/zipkin`. (#8153)
- Add `String` method for `Value` type in
`go.opentelemetry.io/otel/attribute`. (#8142)
- Add `Slice` and `SliceValue` functions for new `SLICE` attribute type
in `go.opentelemetry.io/otel/attribute`. (#8166)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/zipkin`. (#8216)
- Apply `AttributeValueLengthLimit` to `attribute.SLICE` type attribute
values in `go.opentelemetry.io/otel/sdk/trace`, recursively truncating
contained string values. (#8217)
- Add `Error` field on `Record` type in
`go.opentelemetry.io/otel/log/logtest`. (#8148)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8157)
- Add `Settable` to `go.opentelemetry.io/otel/metric/x` to allow reusing
attribute options. (#8178)
- Add experimental support for splitting metric data across multiple
batches in `go.opentelemetry.io/otel/sdk/metric`.
Set `OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=<max_size>` to enable for all
periodic readers.
See `go.opentelemetry.io/otel/sdk/metric/internal/x` for feature
documentation. (#8071)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/x`
for feature documentation. (#8192)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/x`
for feature documentation. (#8194)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdoutlog`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See `go.opentelemetry.io/otel/stdout/stdoutlog/internal/x` for feature
documentation. (#8263)
- Add `WithDefaultAttributes` to `go.opentelemetry.io/otel/metric/x` to
support setting default attributes on instruments. (#8135)
- Add `go.opentelemetry.io/otel/semconv/v1.41.0` package.
The package contains semantic conventions from the `v1.41.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.41.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.40.0`. (#8324)
- Add Observable variants of instruments to
`go.opentelemetry.io/otel/semconv/v1.41.0` package. (#8350)
- Generate explicit histogram bucket boundaries from weaver
configuration for HTTP and RPC duration instruments in
`go.opentelemetry.io/otel/semconv/v1.41.0`. (#8002)

### Changed

- ⚠️ **Breaking Change:** `go.opentelemetry.io/otel/sdk/metric` now
applies a default cardinality limit of 2000 to comply with the Metrics
SDK specification recommendation.
New attribute sets are dropped when the cardinality limit is reached.
The measurement of these sets are aggregated into a special attribute
set containing `attribute.Bool("otel.metric.overflow", true)`.
  This can break users who relied on the previous unlimited default.
Set `WithCardinalityLimit(0)` or the deprecated
`OTEL_GO_X_CARDINALITY_LIMIT=0` environment variable to preserve
unlimited cardinality.
Note that support for `OTEL_GO_X_CARDINALITY_LIMIT` may be removed in a
future release. (#8247)
- `ErrorType` in `go.opentelemetry.io/otel/semconv` now unwraps errors
created with `fmt.Errorf` when deriving the `error.type` attribute.
(#8133)
- `go.opentelemetry.io/otel/sdk/log` now unwraps error chains created
with `fmt.Errorf` when deriving the `error.type` attribute from errors
on log records. (#8133)
- `Set.MarshalLog` method in `go.opentelemetry.io/otel/attribute` now
uses `Value.String` formatting following the [OpenTelemetry AnyValue
representation for non-OTLP
protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue).
(#8169)
- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop
reservoir and short-circuit `Offer` calls to the exemplar reservoir when
`exemplar.AlwaysOffFilter` is configured. (#8211) (#8267)
- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop
reservoir for asynchronous instruments when `exemplar.TraceBasedFilter`
is configured. (#8286)

### Deprecated

- Deprecate `Value.Emit` method in `go.opentelemetry.io/otel/attribute`.
  Use `Value.String` instead. (#8176)

### Fixed

- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Fix gzipped request body replay on redirect in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8135)
- Fix gzipped request body replay on redirect in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8152)
- `go.opentelemetry.io/otel/exporters/prometheus` now uses
`Value.String` formatting for label values following the [OpenTelemetry
AnyValue representation for non-OTLP
protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue).
(#8170)
- Propagate errors from the exporter when calling `Shutdown` on
`BatchSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace`. (#8197)
- Fix stale status code reporting on self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8226)
- Fix a concurrent `Collect` data race and potential panic in
`go.opentelemetry.io/otel/exporters/prometheus` when
`WithResourceAsConstantLabels` option is used. (#8227)
- Fix race condition in `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` by reverting #7447.
(#8249)
- Fix `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` to safely handle zero
size.
A capacity check in the constructor initializes the reservoir safely and
skips initialization for zero-cap; early returns in `Offer()` and
`Collect()` ensure no-op behavior. (#8295)
- Fix counting of spans and logs in self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8254)
- Drop conflicting scope attributes named `name`, `version`, or
`schema_url` from metric labels in
`go.opentelemetry.io/otel/exporters/prometheus`, preserving the
dedicated `otel_scope_name`, `otel_scope_version`, and
`otel_scope_schema_url` labels. (#8264)
- Close schema files opened by `ParseFile` in
`go.opentelemetry.io/otel/schema/v1.0` and
`go.opentelemetry.io/otel/schema/v1.1`.
([GHSA-995v-fvrw-c78m](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-995v-fvrw-c78m))
- Enforce the 8192-byte baggage size limit during extraction/parsing,
changing behavior when the limit is exceeded in
`go.opentelemetry.io/otel/baggage` and
`go.opentelemetry.io/otel/propagation`. (#8222)
- Fix `go.opentelemetry.io/otel/semconv/v1.41.0` to include `Attr*`
helper methods for required attributes on observable instruments.
(#8361)
- Limit baggage extraction error reporting in
`go.opentelemetry.io/otel/propagation` to prevent malformed or oversized
baggage headers from flooding logs.
([GHSA-5wrp-cwcj-q835](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-5wrp-cwcj-q835))
schema/v0.0.17 exporters/stdout/stdoutlog/v0.20.0 exporters/otlp/otlplog/otlploghttp/v0.20.0 exporters/otlp/otlplog/otlploggrpc/v0.20.0 sdk/log/logtest/v0.20.0 sdk/log/v0.20.0 log/logtest/v0.20.0 log/v0.20.0 metric/x/v0.66.0 exporters/prometheus/v0.66.0 sdk/metric/v1.44.0 trace/v1.44.0 sdk/v1.44.0 metric/v1.44.0 exporters/stdout/stdouttrace/v1.44.0 exporters/zipkin/v1.44.0 exporters/stdout/stdoutmetric/v1.44.0 exporters/otlp/otlptrace/otlptracegrpc/v1.44.0 exporters/otlp/otlptrace/v1.44.0 exporters/otlp/otlptrace/otlptracehttp/v1.44.0 exporters/otlp/otlpmetric/otlpmetricgrpc/v1.44.0 exporters/otlp/otlpmetric/otlpmetrichttp/v1.44.0 bridge/opentracing/v1.44.0 bridge/opencensus/v1.44.0 bridge/opencensus/test/v1.44.0 v1.44.0
2026-05-27 18:42:37 +02:00
renovate[bot] 94132a0a72 chore(deps): update golang.org/x/telemetry digest to 5997936 (#8379) 2026-05-27 18:31:59 +02:00
David Ashpole 6fdcf82adf feat: add self-observability metrics to otlpmetricgrpc metric exporters (#8192)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7012

This updates
https://github.com/open-telemetry/opentelemetry-go/pull/7120, and
addresses outstanding comments. See commit descriptions for the changes
made on top of that PR. Credit to minimAluminiumalism for the initial
work.

Benchmark results:

```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/observ
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
                                             │ bench_feature.txt │
                                             │      sec/op       │
InstrumentationTrackExport/EnabledNoError-24         1.045µ ± 5%
InstrumentationTrackExport/EnabledError-24           2.248µ ± 1%
InstrumentationTrackExport/Disabled-24               9.643n ± 1%
geomean                                              282.9n

                                             │ bench_feature.txt │
                                             │       B/op        │
InstrumentationTrackExport/EnabledNoError-24        160.0 ± 0%
InstrumentationTrackExport/EnabledError-24          488.0 ± 0%
InstrumentationTrackExport/Disabled-24              0.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean

                                             │ bench_feature.txt │
                                             │     allocs/op     │
InstrumentationTrackExport/EnabledNoError-24        5.000 ± 0%
InstrumentationTrackExport/EnabledError-24          6.000 ± 0%
InstrumentationTrackExport/Disabled-24              0.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean
```

Written with assistance from Gemini.

---------

Co-authored-by: minimAluminiumalism <caixuesen@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-27 18:19:11 +02:00
renovate[bot] 761bbfc2f4 fix(deps): update golang.org/x (#8377) 2026-05-27 10:08:54 +02:00
renovate[bot] 3a91dc62d3 fix(deps): update googleapis to 3dc84a4 (#8375) 2026-05-27 09:28:43 +02:00
Robert Pająk f593185679 exporters/otlp: default max request size to 64 MiB (#8365)
Per https://github.com/open-telemetry/opentelemetry-proto/pull/782 where
we agreed to have 64 MiB as the default limit.
2026-05-26 21:00:40 +02:00
Robert Pająk f02feacf86 Merge commit from fork
* fix(propagation): limit baggage extraction error reporting

Use sync.Once when reporting malformed or oversized baggage headers so
attacker-controlled extraction failures cannot repeatedly flood the global error
handler/log output.

* propagation: test baggage error reporting limit

* add changelog entry
2026-05-26 19:43:43 +02:00
Aakash T M 36c2f1bfd1 semconvkit: add invariant test for histogram-exclusion rule (#8370)
Fixes #8353
2026-05-26 18:21:44 +02:00
Ali Asghar d0b6cbdff5 sdk/metric: document unit-sensitivity of DefaultAggregationSelector (#8224)
Fixes #5891

---------

Signed-off-by: Ali <alliasgher123@gmail.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-26 18:10:50 +02:00
ian 9a68034bd4 add self observability for stdout exporter (#8263)
ref: https://github.com/open-telemetry/opentelemetry-go/issues/7020

```txt
goos: darwin
goarch: arm64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdoutlog
                                      │ bench_observability_disabled_6x.txt │ bench_observability_upload_6x.txt │
                                      │               sec/op                │           sec/op            vs base   │
ExporterObservability/Disabled-8                                3.968µ ± 1%
ExporterObservability/UploadSuccess-8                                                        4.236µ ± 2%
geomean                                                         3.967µ                       4.235µ       ? ¹ ²
¹ benchmark set differs from baseline; geomeans may not be comparable
² ratios must be >0 to compute geomean

                                      │ bench_observability_disabled_6x.txt │ bench_observability_upload_6x.txt │
                                      │                B/op                 │            B/op             vs base   │
ExporterObservability/Disabled-8                               1.419Ki ± 0%
ExporterObservability/UploadSuccess-8                                                       1.420Ki ± 0%
geomean                                                        1.419Ki                      1.420Ki       ? ¹ ²
¹ benchmark set differs from baseline; geomeans may not be comparable
² ratios must be >0 to compute geomean

                                      │ bench_observability_disabled_6x.txt │ bench_observability_upload_6x.txt │
                                      │              allocs/op              │         allocs/op           vs base   │
ExporterObservability/Disabled-8                                 33.00 ± 0%
ExporterObservability/UploadSuccess-8                                                         33.00 ± 0%
geomean                                                          33.00                        33.00       ? ¹ ²
¹ benchmark set differs from baseline; geomeans may not be comparable
² ratios must be >0 to compute geomean
```
2026-05-26 15:49:39 +02:00
renovate[bot] 714a1965ac fix(deps): update googleapis to 0a33c5d (#8369) 2026-05-25 17:38:05 +02:00
renovate[bot] 57b157714a chore(deps): update github.com/charmbracelet/ultraviolet digest to 948f455 (#8374) 2026-05-25 16:41:05 +02:00
renovate[bot] 710b65ac9f chore(deps): update module github.com/clickhouse/clickhouse-go-linter to v1.2.1 (#8366) 2026-05-25 16:31:51 +02:00
renovate[bot] 00d4e81bd6 chore(deps): update github/codeql-action action to v4.36.0 (#8367) 2026-05-25 16:22:20 +02:00
renovate[bot] d3295f1317 fix(deps): update module go.opentelemetry.io/collector/pdata to v1.59.0 (#8373) 2026-05-25 16:02:39 +02:00
Vansh Agarwal a51ddb125a fix: handle FixedSizeReservoir size=0 without panic (#8295)
Fixes #8232

- Added guard for size=0 in FixedSizeReservoir
- Prevents panic during Offer/update
- Added test to ensure no panic occurs

---------

Co-authored-by: David Ashpole <dashpole@google.com>
2026-05-22 13:32:33 +02:00
David Ashpole 15063b23a1 Disable exemplar reservoir for asynchronous instruments by default (#8286)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8285

Asynchronous instruments do not accept context, so the default
TraceBased exemplar filter can never record an exemplar. Use the
DropReservoir when the TraceBased exemplar filter is used, similar to
https://github.com/open-telemetry/opentelemetry-go/pull/8211.


### Benchmarks

Since callbacks are made as part of collect, there is a significant
baseline overhead from collection included in the benchmark.

```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/sdk/metric
cpu: AMD EPYC 7B12
                                          │   main.txt   │              new.txt               │
                                          │    sec/op    │   sec/op     vs base               │
AsyncMeasureNewAttributeSet/AlwaysOn-24     3.662µ ± 13%   3.735µ ± 8%        ~ (p=0.699 n=6)
AsyncMeasureNewAttributeSet/TraceBased-24   3.586µ ± 10%   1.195µ ± 5%  -66.69% (p=0.002 n=6)
geomean                                     3.623µ         2.112µ       -41.70%

                                          │   main.txt   │               new.txt               │
                                          │     B/op     │     B/op      vs base               │
AsyncMeasureNewAttributeSet/AlwaysOn-24     3.344Ki ± 0%   3.343Ki ± 0%        ~ (p=0.571 n=6)
AsyncMeasureNewAttributeSet/TraceBased-24    3424.5 ± 0%     592.0 ± 0%  -82.71% (p=0.002 n=6)
geomean                                     3.344Ki        1.390Ki       -58.43%

                                          │  main.txt  │               new.txt               │
                                          │ allocs/op  │ allocs/op   vs base                 │
AsyncMeasureNewAttributeSet/AlwaysOn-24     16.00 ± 0%   16.00 ± 0%        ~ (p=1.000 n=6) ¹
AsyncMeasureNewAttributeSet/TraceBased-24   16.00 ± 0%   12.00 ± 0%  -25.00% (p=0.002 n=6)
geomean                                     16.00        13.86       -13.40%
¹ all samples are equal
```
2026-05-22 09:57:06 +02:00
Dipanshu singh 39d0370d0f docs: clarify that View attribute filters do not apply to Exemplars (#8339)
This PR updates the documentation to clarify how View attribute filters
interact with Exemplars.

Currently, it's not very obvious that when a View filters out certain
attributes, those dropped attributes might still appear on Exemplars.
According to the OTel specification, Exemplars retain the original
measurement attributes regardless of the View or aggregation
configuration.

This behavior can be confusing for users, so I've added a brief note to
the godocs for View, AttributeFilter, and the package-level doc.go to
make this explicit (similar to the recent documentation updates in the
.NET SDK).

fixes #8330

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-22 09:28:20 +02:00
Matthieu MOREL f6c8baa895 Fix receiver-naming issues from revive (#8093)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2026-05-22 09:01:15 +02:00
mujib77 6ceeae804a Fix Extrema failure test (#8338)
The Extrema failure test referenced minA/minB variables that no longer
exist, causing tests_fail builds to fail.
2026-05-22 08:49:57 +02:00
renovate[bot] 0f9ca98874 chore(deps): update module github.com/uudashr/iface to v1.5.0 (#8362) 2026-05-22 08:29:14 +02:00
renovate[bot] a503f2f7e5 chore(deps): update module github.com/antonboom/errname to v1.1.2 (#8359) 2026-05-22 08:20:17 +02:00
renovate[bot] fef000a7cc chore(deps): update module github.com/antonboom/nilnil to v1.1.2 (#8360) 2026-05-22 08:09:09 +02:00
renovate[bot] 4fb7134cdd fix(deps): update golang.org/x (#8363) 2026-05-22 07:45:50 +02:00
David Ashpole 30fbc996a7 Fix semconv generation to include Attr helpers for required attributes on observable instruments (#8361)
The semconv generator only emitted Attr* helpers for not_required
attributes. For synchronous metrics, required attributes become
positional parameters on Record/Add methods. But observable instruments
don't get a generated observe wrapper, so there was no way to easily
pass the required attributes in callbacks.

Fixes #8357
2026-05-22 07:28:13 +02:00
renovate[bot] e5bdc31110 fix(deps): update googleapis to aa98bba (#8344) 2026-05-21 10:08:57 +02:00
renovate[bot] b71635c188 chore(deps): update golang.org/x/telemetry digest to eab6ae5 (#8348) 2026-05-21 09:53:10 +02:00
renovate[bot] dabaf5bdd6 chore(deps): update module 4d63.com/gocheckcompilerdirectives to v1.4.0 (#8334) 2026-05-21 09:42:13 +02:00
renovate[bot] 0f2892c59a fix(deps): update module google.golang.org/grpc to v1.81.1 (#8340) 2026-05-21 09:23:55 +02:00
renovate[bot] b344564bf0 chore(deps): update module github.com/uudashr/iface to v1.4.4 (#8335) 2026-05-21 09:08:08 +02:00
renovate[bot] e2b4d43818 chore(deps): update actions/stale action to v10.3.0 (#8355) 2026-05-21 08:59:36 +02:00
Robert Pająk 4e7ae497e4 fix(semconv): clear pooled slices to enable GC (#8352)
Fixes #8320 

Credits to ash2k
2026-05-21 08:00:44 +02:00
David Ashpole 597532c4d4 Add observable instrument variants to semconv v1.41.0 (#8350)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7342

Generates both observable and synchronous variants of instruments per
https://github.com/open-telemetry/opentelemetry-go/issues/7342#issuecomment-3292806559
2026-05-21 06:50:33 +02:00
renovate[bot] 2919ac8ed2 chore(deps): update module github.com/kisielk/errcheck to v1.20.0 (#8333) 2026-05-20 23:08:35 +02:00
renovate[bot] a410ac530a chore(deps): update codecov/codecov-action action to v6.0.1 (#8342) 2026-05-20 22:07:07 +02:00
Saharsh Tibrewala f12c29f68a Generating histogram boundaries from weaver.yaml (#8015)
Adding support for histogram boundaries to be generated from weaver 

fixes #8002

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-20 14:42:55 -04:00
Sam Xie 97447f5c54 Add max baggage length as limitation (#8222)
```
goos: darwin
goarch: arm64
pkg: go.opentelemetry.io/otel/baggage
cpu: Apple M1 Max
                                 │   /tmp/old.txt    │             /tmp/new.txt             │
                                 │      sec/op       │   sec/op     vs base                 │
New-10                                  413.5n ±  1%   410.1n ± 1%         ~ (p=0.184 n=10)
NewMemberRaw-10                         12.65n ±  1%   12.62n ± 1%         ~ (p=0.270 n=10)
Parse-10                                1.252µ ±  2%   1.254µ ± 1%         ~ (p=0.778 n=10)
String-10                               594.9n ±  1%   593.4n ± 1%         ~ (p=0.279 n=10)
ValueEscape/nothing_to_escape-10        4.890n ±  1%   4.885n ± 0%         ~ (p=0.579 n=10)
ValueEscape/requires_escaping-10        22.02n ±  1%   21.47n ± 1%    -2.50% (p=0.000 n=10)
ValueEscape/long_value-10               507.4n ±  1%   506.6n ± 2%         ~ (p=0.481 n=10)
MemberString-10                         486.7n ± 15%   514.0n ± 5%         ~ (p=0.190 n=10)
ParseOversized-10                  22544795.0n ±  1%   130.8n ± 4%  -100.00% (p=0.000 n=10)
geomean                                 510.0n         133.8n        -73.76%

                                 │   /tmp/old.txt   │              /tmp/new.txt              │
                                 │       B/op       │     B/op      vs base                  │
New-10                                 592.0 ± 0%       592.0 ± 0%        ~ (p=1.000 n=10) ¹
NewMemberRaw-10                        0.000 ± 0%       0.000 ± 0%        ~ (p=1.000 n=10) ¹
Parse-10                             1.039Ki ± 0%     1.039Ki ± 0%        ~ (p=1.000 n=10) ¹
String-10                              840.0 ± 0%       840.0 ± 0%        ~ (p=1.000 n=10) ¹
ValueEscape/nothing_to_escape-10       0.000 ± 0%       0.000 ± 0%        ~ (p=1.000 n=10) ¹
ValueEscape/requires_escaping-10       16.00 ± 0%       16.00 ± 0%        ~ (p=1.000 n=10) ¹
ValueEscape/long_value-10              576.0 ± 0%       576.0 ± 0%        ~ (p=1.000 n=10) ¹
MemberString-10                        656.0 ± 0%       656.0 ± 0%        ~ (p=1.000 n=10) ¹
ParseOversized-10                  801126.50 ± 0%       88.00 ± 0%  -99.99% (p=0.000 n=10)
geomean                                           ²                 -63.68%                ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                 │   /tmp/old.txt    │             /tmp/new.txt              │
                                 │     allocs/op     │ allocs/op   vs base                   │
New-10                                  6.000 ± 0%     6.000 ± 0%         ~ (p=1.000 n=10) ¹
NewMemberRaw-10                         0.000 ± 0%     0.000 ± 0%         ~ (p=1.000 n=10) ¹
Parse-10                                18.00 ± 0%     18.00 ± 0%         ~ (p=1.000 n=10) ¹
String-10                               8.000 ± 0%     8.000 ± 0%         ~ (p=1.000 n=10) ¹
ValueEscape/nothing_to_escape-10        0.000 ± 0%     0.000 ± 0%         ~ (p=1.000 n=10) ¹
ValueEscape/requires_escaping-10        1.000 ± 0%     1.000 ± 0%         ~ (p=1.000 n=10) ¹
ValueEscape/long_value-10               2.000 ± 0%     2.000 ± 0%         ~ (p=1.000 n=10) ¹
MemberString-10                         4.000 ± 0%     4.000 ± 0%         ~ (p=1.000 n=10) ¹
ParseOversized-10                  250007.000 ± 0%     3.000 ± 0%  -100.00% (p=0.000 n=10)
geomean                                            ²                -71.61%                ²
¹ all samples are equal
² summaries must be >0 to compute geomean
```

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-20 16:25:54 +02:00
renovate[bot] 552680a415 chore(deps): update github/codeql-action action to v4.35.5 (#8341) 2026-05-19 17:15:13 +02:00
Cijo Thomas 27a9011cd1 chore: Skip benchmark workflow when only non-Go files change (#8346)
The benchmark workflow currently runs on every push to main, even when
only markdown, YAML, or other non-Go files are changed. This wastes time
on the shared bare-metal runner
(`oracle-bare-metal-64cpu-1024gb-x86-64-ubuntu-24`), potentially
blocking benchmarks in other repos.

This adds a `paths` filter so the benchmark only triggers when Go
source, go.mod/go.sum, the Makefile, or the workflow file itself
changes. `workflow_dispatch` still allows manual runs anytime.

Similar change from Arrow:
https://github.com/open-telemetry/otel-arrow/pull/3028
2026-05-19 16:45:47 +02:00
renovate[bot] 52a41b617f chore(deps): update module github.com/go-git/go-git/v5 to v5.19.1 (#8345) 2026-05-19 13:36:54 +02:00
Robert Pająk f12d198f16 Merge commit from fork 2026-05-19 11:05:22 +02:00
Tyler Yahn 442cdbdd94 Generate and upgrade to semconv/v1.41.0 (#8324)
Fix https://github.com/open-telemetry/opentelemetry-go/issues/8299

Relevant upstream v1.41.0 release notes:

> ### 🛑 Breaking changes 🛑
> 
> - `graphql`: Change `graphql.document` attribute requirement level
from Recommended to Opt-In due to sensitive data, cardinality, and size
concerns
([#2985](https://github.com/open-telemetry/semantic-conventions/issues/2985))
> - `process`: Move process.executable to its own entity.
([#3535](https://github.com/open-telemetry/semantic-conventions/issues/3535))
> - `process`: Update requirement levels for process attributes to
ensure consistent identification and description across platforms.
([#864](https://github.com/open-telemetry/semantic-conventions/issues/864))
> - `rpc`: Remove `client.address` and `client.port` attributes from RPC
server spans.
([#3487](https://github.com/open-telemetry/semantic-conventions/issues/3487),
[#3488](https://github.com/open-telemetry/semantic-conventions/issues/3488))
> 
> ### 💡 Enhancements 💡
> 
> - `Go`: Add opt-in go.memory.gc.pause.duration histogram metric.
([#3353](https://github.com/open-telemetry/semantic-conventions/issues/3353))
> - `deployment`: Stabilize `deployment.environment.name` attribute.
([#3339](https://github.com/open-telemetry/semantic-conventions/issues/3339))
> - `deployment`: Add enum values for `deployment.environment.name`
attribute.
([#2910](https://github.com/open-telemetry/semantic-conventions/issues/2910))
> - `go`: Add the go.cpu.time opt-in metric, and add
go.cpu.detailed_state and go.memory.detailed_type attributes to CPU and
memory metrics respectively with wildcard values.
([#3354](https://github.com/open-telemetry/semantic-conventions/issues/3354))
> - `go`: Add the opt-in go.memory.gc.cycles metric.
([#3353](https://github.com/open-telemetry/semantic-conventions/issues/3353))
> - `telemetry`: Promote `telemetry.distro.name` and
`telemetry.distro.version` attributes to 'stable'.
([#3650](https://github.com/open-telemetry/semantic-conventions/issues/3650))

This PR also:
- fixes semconv migration generation to ignore unexported declarations
when computing renames/removals
- upgrades repo imports, depguard, docs, templates, and schema URL
expectations to `go.opentelemetry.io/otel/semconv/v1.41.0`
- adds missing generated-file headers to semconvkit templates and
regenerates the affected `v1.41.0` files via `TAG="v1.41.0" make
semconv-generate`

---------

Co-authored-by: David Ashpole <dashpole@google.com>
2026-05-14 14:06:05 -04:00
Mikhail Mazurskiy c45d9a3301 fix: clear cached objects to enable GC (#8233)
There is a the same problem in the semconv package, but I'm not sure how
to regenerate those files.

Also,
[`ResourceMetrics`](https://github.com/open-telemetry/opentelemetry-go/blob/bec9f66b45ae1e679212285467572d132b627ff4/exporters/prometheus/exporter.go#L181)
should be cleared too, but it's not. I wonder how things work today
because this object has a slice that keeps growing, doesn't it? I
decided not to touch it for now.

`sdk/metric.BenchmarkEndToEndCounterAdd` shows no change:

```
goos: darwin
goarch: arm64
pkg: go.opentelemetry.io/otel/sdk/metric
cpu: Apple M4 Max
                                                                          │  before.txt  │              after.txt               │
                                                                          │    sec/op    │    sec/op     vs base                │
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributeSet-16    64.12n ± ∞ ¹   63.45n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributes-16      62.82n ± ∞ ¹   63.04n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-16        90.09n ± ∞ ¹   81.45n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributes-16          90.15n ± ∞ ¹   92.02n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Naive/WithAttributes-16            102.2n ± ∞ ¹   102.4n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributeSet-16    61.13n ± ∞ ¹   62.71n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributes-16      59.10n ± ∞ ¹   61.69n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-16        144.4n ± ∞ ¹   149.5n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributes-16          223.0n ± ∞ ¹   223.3n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Naive/WithAttributes-16            277.8n ± ∞ ¹   277.2n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributeSet-16   62.41n ± ∞ ¹   59.82n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributes-16     65.09n ± ∞ ¹   65.49n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-16       262.4n ± ∞ ¹   270.1n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributes-16         392.8n ± ∞ ¹   418.6n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Naive/WithAttributes-16           505.8n ± ∞ ¹   523.3n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributeSet-16    77.02n ± ∞ ¹   77.29n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributes-16      77.35n ± ∞ ¹   77.34n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-16        94.47n ± ∞ ¹   97.93n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributes-16          107.8n ± ∞ ¹   110.4n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Naive/WithAttributes-16            121.4n ± ∞ ¹   121.6n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributeSet-16    172.4n ± ∞ ¹   169.0n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributes-16      165.7n ± ∞ ¹   167.6n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-16        291.1n ± ∞ ¹   294.8n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributes-16          355.7n ± ∞ ¹   358.8n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Naive/WithAttributes-16            408.4n ± ∞ ¹   402.2n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributeSet-16   321.4n ± ∞ ¹   322.3n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributes-16     315.3n ± ∞ ¹   314.9n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-16       557.3n ± ∞ ¹   576.7n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributes-16         685.9n ± ∞ ¹   712.2n ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Naive/WithAttributes-16           796.0n ± ∞ ¹   809.4n ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                                                                     168.5n         170.0n        +0.87%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05

                                                                          │  before.txt   │               after.txt               │
                                                                          │     B/op      │     B/op       vs base                │
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributeSet-16      0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributes-16        0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-16          88.00 ± ∞ ¹     88.00 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributes-16            152.0 ± ∞ ¹     152.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Naive/WithAttributes-16              232.0 ± ∞ ¹     232.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributeSet-16      0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributes-16        0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-16          344.0 ± ∞ ¹     344.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributes-16            665.0 ± ∞ ¹     665.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Naive/WithAttributes-16             1000.0 ± ∞ ¹    1000.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributeSet-16     0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributes-16       0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-16         729.0 ± ∞ ¹     729.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributes-16         1.399Ki ± ∞ ¹   1.400Ki ± ∞ ¹       ~ (p=1.000 n=1) ³
EndToEndCounterAdd/NoFilter/Attributes/10/Naive/WithAttributes-16           2.102Ki ± ∞ ¹   2.102Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributeSet-16      64.00 ± ∞ ¹     64.00 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributes-16        64.00 ± ∞ ¹     64.00 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-16          152.0 ± ∞ ¹     152.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributes-16            216.0 ± ∞ ¹     216.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Naive/WithAttributes-16              296.0 ± ∞ ¹     296.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributeSet-16      576.0 ± ∞ ¹     576.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributes-16        576.0 ± ∞ ¹     576.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-16          921.0 ± ∞ ¹     921.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributes-16          1.212Ki ± ∞ ¹   1.212Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Naive/WithAttributes-16            1.539Ki ± ∞ ¹   1.539Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributeSet-16   1.312Ki ± ∞ ¹   1.312Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributes-16     1.312Ki ± ∞ ¹   1.312Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-16       2.025Ki ± ∞ ¹   2.025Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributes-16         2.713Ki ± ∞ ¹   2.714Ki ± ∞ ¹       ~ (p=1.000 n=1) ³
EndToEndCounterAdd/Filtered/Attributes/10/Naive/WithAttributes-16           3.414Ki ± ∞ ¹   3.414Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                                                                                 ⁴                  +0.00%               ⁴
¹ need >= 6 samples for confidence interval at level 0.95
² all samples are equal
³ need >= 4 samples to detect a difference at alpha level 0.05
⁴ summaries must be >0 to compute geomean

                                                                          │ before.txt  │              after.txt              │
                                                                          │  allocs/op  │  allocs/op   vs base                │
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributeSet-16    0.000 ± ∞ ¹   0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributes-16      0.000 ± ∞ ¹   0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-16        2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributes-16          3.000 ± ∞ ¹   3.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/1/Naive/WithAttributes-16            5.000 ± ∞ ¹   5.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributeSet-16    0.000 ± ∞ ¹   0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributes-16      0.000 ± ∞ ¹   0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-16        2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributes-16          3.000 ± ∞ ¹   3.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/5/Naive/WithAttributes-16            5.000 ± ∞ ¹   5.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributeSet-16   0.000 ± ∞ ¹   0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributes-16     0.000 ± ∞ ¹   0.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-16       2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributes-16         3.000 ± ∞ ¹   3.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/NoFilter/Attributes/10/Naive/WithAttributes-16           5.000 ± ∞ ¹   5.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributeSet-16    1.000 ± ∞ ¹   1.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributes-16      1.000 ± ∞ ¹   1.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-16        3.000 ± ∞ ¹   3.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributes-16          4.000 ± ∞ ¹   4.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/1/Naive/WithAttributes-16            6.000 ± ∞ ¹   6.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributeSet-16    2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributes-16      2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-16        4.000 ± ∞ ¹   4.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributes-16          5.000 ± ∞ ¹   5.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/5/Naive/WithAttributes-16            7.000 ± ∞ ¹   7.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributeSet-16   2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributes-16     2.000 ± ∞ ¹   2.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-16       4.000 ± ∞ ¹   4.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributes-16         5.000 ± ∞ ¹   5.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
EndToEndCounterAdd/Filtered/Attributes/10/Naive/WithAttributes-16           7.000 ± ∞ ¹   7.000 ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                                                                               ³                +0.00%               ³
¹ need >= 6 samples for confidence interval at level 0.95
² all samples are equal
³ summaries must be >0 to compute geomean
```

---------

Co-authored-by: David Ashpole <dashpole@google.com>
2026-05-14 13:49:51 -04:00
renovate[bot] effbbb2e4d fix(deps): update googleapis to 3700d41 (#8332)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[google.golang.org/genproto/googleapis/api](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `60b97b3` → `3700d41` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `60b97b3` → `3700d41` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `60b97b3` → `3700d41` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 12:56:34 -07:00