mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2026-06-03 18:35:08 +02:00
b62d92831b2dd142f5a0cc89c828270274196877
134 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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)) |
||
|
|
cf2a4a180f |
chore(deps): update module mvdan.cc/gofumpt to v0.10.0 (#8304)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [mvdan.cc/gofumpt](https://redirect.github.com/mvdan/gofumpt) | `v0.9.2` → `v0.10.0` |  |  | --- ### Release Notes <details> <summary>mvdan/gofumpt (mvdan.cc/gofumpt)</summary> ### [`v0.10.0`](https://redirect.github.com/mvdan/gofumpt/blob/HEAD/CHANGELOG.md#v0100---2026-05-04) [Compare Source](https://redirect.github.com/mvdan/gofumpt/compare/v0.9.2...v0.10.0) This release is based on Go 1.26's gofmt, and requires Go 1.25 or later. A new rule is introduced to drop unnecessary parentheses around expressions where the inner expression is unambiguous on its own, such as `f((3))`. Parentheses are kept where they are useful, such as on binary expressions. See [#​44](https://redirect.github.com/mvdan/gofumpt/issues/44). A new rule is introduced to require multi-line function calls to match the opening and closing parenthesis in terms of the use of newlines. See [#​74](https://redirect.github.com/mvdan/gofumpt/issues/74). The `-extra` flag now accepts a comma-separated list of rule names to enable individual extra rules, rather than enabling all of them at once. See [#​339](https://redirect.github.com/mvdan/gofumpt/issues/339). The following changes are included as well: - Avoid crashing on `go.mod` files without a `module` directive - [#​350](https://redirect.github.com/mvdan/gofumpt/issues/350) - Avoid failing when an ignored directory cannot be read - [#​351](https://redirect.github.com/mvdan/gofumpt/issues/351) - Avoid prefixing more kinds of commented-out Go code with spaces - [#​230](https://redirect.github.com/mvdan/gofumpt/issues/230) - Avoid prefixing a shebang comment with a space - [#​237](https://redirect.github.com/mvdan/gofumpt/issues/237) - Narrow the newlines on assignments rule to ignore complex cases - [#​354](https://redirect.github.com/mvdan/gofumpt/issues/354) - Fix three bugs which caused a second gofumpt run to make changes - [#​132](https://redirect.github.com/mvdan/gofumpt/issues/132), [#​345](https://redirect.github.com/mvdan/gofumpt/issues/345) </details> --- ### 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 this update 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> Co-authored-by: Tyler Yahn <codingalias@gmail.com> |
||
|
|
d13f8ecb2d |
attribute: add SLICE type support (#8166)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7934 ``` $ go test -run=^$ -bench=BenchmarkSlice goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/attribute cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkSlice/Len3/Value-20 25297926 52.56 ns/op 144 B/op 1 allocs/op BenchmarkSlice/Len3/KeyValue-20 21315132 55.97 ns/op 144 B/op 1 allocs/op BenchmarkSlice/Len3/AsSlice-20 24214248 50.03 ns/op 144 B/op 1 allocs/op BenchmarkSlice/Len3/String-20 14148270 86.48 ns/op 48 B/op 1 allocs/op BenchmarkSlice/Len3/Emit-20 13605388 85.18 ns/op 48 B/op 1 allocs/op BenchmarkSlice/Len5Nested/Value-20 16086171 71.30 ns/op 240 B/op 1 allocs/op BenchmarkSlice/Len5Nested/KeyValue-20 15547844 75.81 ns/op 240 B/op 1 allocs/op BenchmarkSlice/Len5Nested/AsSlice-20 17806996 66.16 ns/op 240 B/op 1 allocs/op BenchmarkSlice/Len5Nested/String-20 7409064 165.2 ns/op 64 B/op 1 allocs/op BenchmarkSlice/Len5Nested/Emit-20 7666302 161.0 ns/op 64 B/op 1 allocs/op PASS ok go.opentelemetry.io/otel/attribute 12.980s ``` ``` $ go test -run=^$ -bench=BenchmarkHashKVs goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/attribute cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkHashKVs-20 1268742 940.5 ns/op 0 B/op 0 allocs/op PASS ok go.opentelemetry.io/otel/attribute 1.198s ``` |
||
|
|
99d4d7b2f8 |
test: add test case for ByteSlice in TestValueFromAttribute (#8168)
Address https://github.com/open-telemetry/opentelemetry-go/pull/7948#discussion_r3058364850 |
||
|
|
99b2206d11 |
log/logtest: add Error field to Record type (#8148)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8147 |
||
|
|
5e9a80b3ce |
attribute: add BYTESLICE type support (#7948)
Fixes #7933 Add BYTES type to https://pkg.go.dev/go.opentelemetry.io/otel/attribute - Introduces BYTES type and byte - Adds Bytes / BytesValue constructors - Implements hashing support - Adds base64 representation in Emit() - Adds test coverage for constructors, hashing, and set equality ``` $ go test -run=^$ -bench=BenchmarkByteSlice goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/attribute cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkByteSlice/Value-20 149529567 7.993 ns/op 0 B/op 0 allocs/op BenchmarkByteSlice/KeyValue-20 136973736 8.768 ns/op 0 B/op 0 allocs/op BenchmarkByteSlice/AsByteSlice-20 562915658 2.120 ns/op 0 B/op 0 allocs/op BenchmarkByteSlice/Emit-20 29149410 40.26 ns/op 16 B/op 1 allocs/op PASS ``` --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
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. |
||
|
|
9276201a64 |
Release v1.43.0 / v0.65.0 / v0.19.0 (#8128)
Release issue: https://github.com/open-telemetry/opentelemetry-go/issues/8127 ## Added - Add `IsRandom` and `WithRandom` on `TraceFlags`, and `IsRandom` on `SpanContext` in `go.opentelemetry.io/otel/trace` for [W3C Trace Context Level 2 Random Trace ID Flag](https://www.w3.org/TR/trace-context-2/#random-trace-id-flag) support. (#8012) - Add service detection with `WithService` in `go.opentelemetry.io/otel/sdk/resource`. (#7642) - Add `DefaultWithContext` and `EnvironmentWithContext` in `go.opentelemetry.io/otel/sdk/resource` to support plumbing `context.Context` through default and environment detectors. (#8051) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#8038) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#8038) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#8038) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#8038) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#8038) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8038) - Support attributes with empty value (`attribute.EMPTY`) in `go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. (#8038) - Add support for per-series start time tracking for cumulative metrics in `go.opentelemetry.io/otel/sdk/metric`. Set `OTEL_GO_X_PER_SERIES_START_TIMESTAMPS=true` to enable. (#8060) - Add `WithCardinalityLimitSelector` for metric reader for configuring cardinality limits specific to the instrument kind. (#7855) ## Changed - Introduce the `EMPTY` Type in `go.opentelemetry.io/otel/attribute` to reflect that an empty value is now a valid value, with `INVALID` remaining as a deprecated alias of `EMPTY`. (#8038) - Refactor slice handling in `go.opentelemetry.io/otel/attribute` to optimize short slice values with fixed-size fast paths. (#8039) - Improve performance of span metric recording in `go.opentelemetry.io/otel/sdk/trace` by returning early if self-observability is not enabled. (#8067) - Improve formatting of metric data diffs in `go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. (#8073) ## Deprecated - Deprecate `INVALID` in `go.opentelemetry.io/otel/attribute`. Use `EMPTY` instead. (#8038) ## Fixed - Return spec-compliant `TraceIdRatioBased` description. This is a breaking behavioral change, but it is necessary to make the implementation [spec-compliant](https://opentelemetry.io/docs/specs/otel/trace/sdk/#traceidratiobased). (#8027) - Fix a race condition in `go.opentelemetry.io/otel/sdk/metric` where the lastvalue aggregation could collect the value 0 even when no zero-value measurements were recorded. (#8056) - Limit HTTP response body to 4 MiB in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` to mitigate excessive memory usage caused by a misconfigured or malicious server. Responses exceeding the limit are treated as non-retryable errors. (#8108) - Limit HTTP response body to 4 MiB in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` to mitigate excessive memory usage caused by a misconfigured or malicious server. Responses exceeding the limit are treated as non-retryable errors. (#8108) - Limit HTTP response body to 4 MiB in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` to mitigate excessive memory usage caused by a misconfigured or malicious server. Responses exceeding the limit are treated as non-retryable errors. (#8108) - `WithHostID` detector in `go.opentelemetry.io/otel/sdk/resource` to use full path for `kenv` command on BSD. (#8113) - Fix missing `request.GetBody` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` to correctly handle HTTP2 GOAWAY frame. (#8096) --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> |
||
|
|
f4da59e651 |
attribute: change INVALID Type to EMPTY and mark INVALID as deprecated (#8038)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7932 Noticeable comment from previous PR: https://github.com/open-telemetry/opentelemetry-go/pull/7942#discussion_r2913179215 Print the empty value as empty string per https://opentelemetry.io/docs/specs/otel/common/#empty-values |
||
|
|
a3941ff595 |
Release v1.42.0/v0.64.0/v0.18.0/v0.0.16 (#8006)
### Added - Add `go.opentelemetry.io/otel/semconv/v1.40.0` package. The package contains semantic conventions from the `v1.40.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.40.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.39.0`. (#7985) - Add `Err` and `SetErr` on `Record` in `go.opentelemetry.io/otel/log` to attach an error and set record exception attributes in `go.opentelemetry.io/otel/log/sdk`. (#7924) ### Changed - `TracerProvider.ForceFlush` in `go.opentelemetry.io/otel/sdk/trace` joins errors together and continues iteration through SpanProcessors as opposed to returning the first encountered error without attempting exports on subsequent SpanProcessors. (#7856) ### Fixed - Fix missing `request.GetBody` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` to correctly handle HTTP2 GOAWAY frame. (#7931) - Fix semconv v1.39.0 generated metric helpers skipping required attributes when extra attributes were empty. (#7964) - Preserve W3C TraceFlags bitmask (including the random Trace ID flag) during trace context extraction and injection in `go.opentelemetry.io/otel/propagation`. (#7834) ### Removed - Drop support for [Go 1.24]. (#7984) |
||
|
|
c9d20155fc |
log: add error field to Record and make SDK to emit exception attributes (#7924)
Fixes #7923 ```sh $ go test -run=^$ -bench=BenchmarkLoggerEmitExceptionAttributes -benchmem -count=5 -benchtime=500ms -cpu=1 goos: darwin goarch: arm64 pkg: go.opentelemetry.io/otel/sdk/log cpu: Apple M4 Pro BenchmarkLoggerSetErrAndEmit 628162 1023 ns/op 5371 B/op 1 allocs/op BenchmarkLoggerSetErrAndEmit 663955 863.3 ns/op 5105 B/op 1 allocs/op BenchmarkLoggerSetErrAndEmit 653888 1067 ns/op 5177 B/op 1 allocs/op BenchmarkLoggerSetErrAndEmit 716438 824.8 ns/op 4764 B/op 1 allocs/op BenchmarkLoggerSetErrAndEmit 746902 999.2 ns/op 5630 B/op 1 allocs/op BenchmarkLoggerSetExceptionAttributesAndEmit 650696 1042 ns/op 5200 B/op 1 allocs/op BenchmarkLoggerSetExceptionAttributesAndEmit 574962 980.7 ns/op 4743 B/op 1 allocs/op BenchmarkLoggerSetExceptionAttributesAndEmit 536736 989.2 ns/op 5049 B/op 1 allocs/op BenchmarkLoggerSetExceptionAttributesAndEmit 558511 1190 ns/op 4870 B/op 1 allocs/op BenchmarkLoggerSetExceptionAttributesAndEmit 669452 978.8 ns/op 5067 B/op 1 allocs/op PASS ok go.opentelemetry.io/otel/sdk/log 6.994s ``` TODO after merged: - https://github.com/open-telemetry/opentelemetry-go/pull/7924#discussion_r2832906451 --------- Signed-off-by: Israel Blancas <iblancasa@gmail.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
d5febb955e | Drop support for Go 1.24 (#7984) | ||
|
|
4575a9774d |
Release 1.41.0/0.63.0/0.17.0/0.0.15 (#7977)
This release is the last to support [Go 1.24]. The next release will require at least [Go 1.25]. ### Added - Support testing of [Go 1.26]. (#7902) ### Fixed - Update `Baggage` in `go.opentelemetry.io/otel/propagation` and `Parse` and `New` in `go.opentelemetry.io/otel/baggage` to comply with W3C Baggage specification limits. `New` and `Parse` now return partial baggage along with an error when limits are exceeded. Errors from baggage extraction are reported to the global error handler. (#7880) [Go 1.26]: https://go.dev/doc/go1.26 [Go 1.25]: https://go.dev/doc/go1.25 [Go 1.24]: https://go.dev/doc/go1.24 |
||
|
|
a3a5317c5c |
Release v1.40.0 (#7859)
### Added - Add `Enabled` method to all synchronous instrument interfaces (`Float64Counter`, `Float64UpDownCounter`, `Float64Histogram`, `Float64Gauge`, `Int64Counter`, `Int64UpDownCounter`, `Int64Histogram`, `Int64Gauge`,) in `go.opentelemetry.io/otel/metric`. This stabilizes the synchronous instrument enabled feature, allowing users to check if an instrument will process measurements before performing computationally expensive operations. (#7763) - Add `AlwaysRecord` sampler in `go.opentelemetry.io/otel/sdk/trace`. (#7724) - Add `go.opentelemetry.io/otel/semconv/v1.39.0` package. The package contains semantic conventions from the `v1.39.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](https://github.com/open-telemetry/opentelemetry-go/blob/298cbedf256b7a9ab3c21e41fc5e3e6d6e4e94aa/semconv/v1.39.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.38.0.` (#7783, #7789) ### Changed - `Exporter` in `go.opentelemetry.io/otel/exporter/prometheus` ignores metrics with the scope `go.opentelemetry.io/contrib/bridges/prometheus`. This prevents scrape failures when the Prometheus exporter is misconfigured to get data from the Prometheus bridge. (#7688) - Improve performance of concurrent histogram measurements in `go.opentelemetry.io/otel/sdk/metric`. (#7474) - Add experimental observability metrics in `go.opentelemetry.io/otel/exporters/stdout/stdoutmetric`. (#7492) - Improve the concurrent performance of `HistogramReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` by 4x. (#7443) - Improve performance of concurrent synchronous gauge measurements in `go.opentelemetry.io/otel/sdk/metric`. (#7478) - Improve performance of concurrent exponential histogram measurements in `go.opentelemetry.io/otel/sdk/metric`. (#7702) - Improve the concurrent performance of `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar`. (#7447) - The `rpc.grpc.status_code` attribute in the experimental metrics emitted from `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` is replaced with the `rpc.response.status_code` attribute to align with the semantic conventions. (#7854) - The `rpc.grpc.status_code` attribute in the experimental metrics emitted from `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` is replaced with the `rpc.response.status_code` attribute to align with the semantic conventions. (#7854) ### Fixed - Fix bad log message when key-value pairs are dropped because of key duplication in `go.opentelemetry.io/otel/sdk/log`. (#7662) - Fix `DroppedAttributes` on `Record` in `go.opentelemetry.io/otel/sdk/log` to not count the non-attribute key-value pairs dropped because of key duplication. (#7662) - Fix `SetAttributes` on `Record` in `go.opentelemetry.io/otel/sdk/log` to not log that attributes are dropped when they are actually not dropped. (#7662) - `WithHostID` detector in `go.opentelemetry.io/otel/sdk/resource` to use full path for `ioreg` command on Darwin (macOS). (#7818) - Fix missing `request.GetBody` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` to correctly handle HTTP2 GOAWAY frame. (#7794) ### Deprecated - Deprecate `go.opentelemetry.io/otel/exporters/zipkin`. For more information, see the [OTel blog post deprecating the Zipkin exporter](https://opentelemetry.io/blog/2025/deprecating-zipkin-exporters/). (#7670) --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> |
||
|
|
3264bf171b |
refactor: modernize code (#7850)
Enable the [`modernize`](https://golangci-lint.run/docs/linters/configuration/#modernize) linter in the golangci-lint configuration and fix the reported issues by running `golangci-lint run --enable-only modernize --fix`. The `modernize` linter is internally the same as [gopls modernize](https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/modernize). Similar to #7089. |
||
|
|
545883eb6a |
fix(deps): update opentelemetry-go monorepo to v0.15.0 (#7690)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [go.opentelemetry.io/otel/log](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.14.0` -> `v0.15.0` |  |  | | [go.opentelemetry.io/otel/sdk/log](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.14.0` -> `v0.15.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-go (go.opentelemetry.io/otel/log)</summary> ### [`v0.15.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v0.15.0) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v0.14.0...v0.15.0) ##### Added - The `WithIDGenerator` `TracerProviderOption` is added to the `go.opentelemetry.io/otel/trace` package to configure an `IDGenerator` for the `TracerProvider`. ([#​1363](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1363)) ##### Changed - The Zipkin exporter now uses the Span status code to determine. ([#​1328](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1328)) - `NewExporter` and `Start` functions in `go.opentelemetry.io/otel/exporters/otlp` now receive `context.Context` as a first parameter. ([#​1357](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1357)) - Move the OpenCensus example into `example` directory. ([#​1359](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1359)) - Moved the SDK's `internal.IDGenerator` interface in to the `sdk/trace` package to enable support for externally-defined ID generators. ([#​1363](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1363)) - Bump `github.com/google/go-cmp` from 0.5.3 to 0.5.4 ([#​1374](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1374)) - Bump `github.com/golangci/golangci-lint` in `/internal/tools` ([#​1375](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1375)) ##### Fixed - Metric SDK `SumObserver` and `UpDownSumObserver` instruments correctness fixes. ([#​1381](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1381)) # Raw changes made between v0.14.0 and v0.15.0 [`61e07a0`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/61e07a0d629ff6a0c8f7054205972adc09540a53) (HEAD -> master, tag: v0.15.0, tag: sdk/v0.15.0, tag: exporters/trace/zipkin/v0.15.0, tag: exporters/trace/jaeger/v0.15.0, tag: exporters/stdout/v0.15.0, tag: exporters/otlp/v0.15.0, tag: exporters/metric/prometheus/v0.15.0, tag: example/zipkin/v0.15.0, tag: example/prometheus/v0.15.0, tag: example/otel-collector/v0.15.0, tag: example/opencensus/v0.15.0, tag: example/namedtracer/v0.15.0, tag: example/jaeger/v0.15.0, tag: example/basic/v0.15.0, tag: bridge/opentracing/v0.15.0, tag: bridge/opencensus/v0.15.0, upstream/master, origin/master, origin/HEAD) Release v0.15.0 ([#​1392](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1392)) [`599c080`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/599c0803ccf2113875e7934b6bf3fdbf5733494b) Fix typo in readme ([#​1390](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1390)) [`eb28005`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/eb28005e2fad10fe050b777a585b64be8cf593cb) Metric Accumulator fix for SumObservers ([#​1381](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1381)) [`970755b`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/970755bd087801619575b7473806356818e24e15) Enable support for externally-defined ID generators ([#​1363](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1363)) [`0021ab0`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/0021ab0a3a47e4abb116bdb227fd77e912006b9e) Rework proto generation ([#​1371](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1371)) [`787e3f4`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/787e3f457a07e3659a7c08a0bd886505da1affab) chore(zipkin-exporter): relay on the status code for the request but still read the response body. ([#​1328](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1328)) [`66db2d8`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/66db2d845ba72bae8fcc1b3d43965470cbe8f5c3) (johananl/master) Build examples last ([#​1370](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1370)) [`958041d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/958041ddf619a1282e92cfd4c50859f2bc71f9c8) Bump github.com/golangci/golangci-lint in /internal/tools ([#​1375](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1375)) [`e1ff2d1`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e1ff2d15cfdebe3516d241048f40baa49980f60f) Bump github.com/google/go-cmp from 0.5.3 to 0.5.4 ([#​1374](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1374)) [`5d0372d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/5d0372dd2ed447fed6fd036f219d208f77d5468d) Fix typo in comment ([#​1377](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1377)) [`55ff277`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/55ff27787da2cdbdd5cde3564e57841267757e58) Fix golint issue caused by typo ([#​1372](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1372)) [`5a728db`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/5a728db2e9713b66615943129568834c5af86ff8) Another batch of cleanups in otlp exporter ([#​1357](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1357)) [`e081978`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e0819780f9d4ea1e8169109cd71b848fe08f788c) Move opencensus example to the example directory ([#​1359](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/1359)) </details> --- ### Configuration 📅 **Schedule**: 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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
6ce14298b9 |
Release v1.39.0 (#7676)
## Overview ### Added - Greatly reduce the cost of recording metrics in `go.opentelemetry.io/otel/sdk/metric` using hashing for map keys. (#7175) - Add `WithInstrumentationAttributeSet` option to `go.opentelemetry.io/otel/log`, `go.opentelemetry.io/otel/metric`, and `go.opentelemetry.io/otel/trace` packages. This provides a concurrent-safe and performant alternative to `WithInstrumentationAttributes` by accepting a pre-constructed `attribute.Set`. (#7287) - Add experimental observability for the Prometheus exporter in `go.opentelemetry.io/otel/exporters/prometheus`. Check the `go.opentelemetry.io/otel/exporters/prometheus/internal/x` package documentation for more information. (#7345) - Add experimental observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#7353) - Add temporality selector functions `DeltaTemporalitySelector`, `CumulativeTemporalitySelector`, `LowMemoryTemporalitySelector` to `go.opentelemetry.io/otel/sdk/metric`. (#7434) - Add experimental observability metrics for simple log processor in `go.opentelemetry.io/otel/sdk/log`. (#7548) - Add experimental observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#7459) - Add experimental observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#7486) - Add experimental observability metrics for simple span processor in `go.opentelemetry.io/otel/sdk/trace`. (#7374) - Add experimental observability metrics in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7512) - Add experimental observability metrics for manual reader in `go.opentelemetry.io/otel/sdk/metric`. (#7524) - Add experimental observability metrics for periodic reader in `go.opentelemetry.io/otel/sdk/metric`. (#7571) - Support `OTEL_EXPORTER_OTLP_LOGS_INSECURE` and `OTEL_EXPORTER_OTLP_INSECURE` environmental variables in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7608) - Add `Enabled` method to the `Processor` interface in `go.opentelemetry.io/otel/sdk/log`. All `Processor` implementations now include an `Enabled` method. (#7639) - The `go.opentelemetry.io/otel/semconv/v1.38.0` package. The package contains semantic conventions from the `v1.38.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.38.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.37.0.`(#7648) ### Changed - `Distinct` in `go.opentelemetry.io/otel/attribute` is no longer guaranteed to uniquely identify an attribute set. Collisions between `Distinct` values for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (#7175) - `WithInstrumentationAttributes` in `go.opentelemetry.io/otel/trace` synchronously de-duplicates the passed attributes instead of delegating it to the returned `TracerOption`. (#7266) - `WithInstrumentationAttributes` in `go.opentelemetry.io/otel/meter` synchronously de-duplicates the passed attributes instead of delegating it to the returned `MeterOption`. (#7266) - `WithInstrumentationAttributes` in `go.opentelemetry.io/otel/log` synchronously de-duplicates the passed attributes instead of delegating it to the returned `LoggerOption`. (#7266) - Rename the `OTEL_GO_X_SELF_OBSERVABILITY` environment variable to `OTEL_GO_X_OBSERVABILITY` in `go.opentelemetry.io/otel/sdk/trace`, `go.opentelemetry.io/otel/sdk/log`, and `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7302) - Improve performance of histogram `Record` in `go.opentelemetry.io/otel/sdk/metric` when min and max are disabled using `NoMinMax`. (#7306) - Improve error handling for dropped data during translation by using `prometheus.NewInvalidMetric` in `go.opentelemetry.io/otel/exporters/prometheus`. ⚠️ **Breaking Change:** Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits a `NewInvalidMetric`, and Prometheus scrapes **fail with HTTP 500** by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with: `promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }`. (#7363) - Replace fnv hash with xxhash in `go.opentelemetry.io/otel/attribute` for better performance. (#7371) - The default `TranslationStrategy` in `go.opentelemetry.io/exporters/prometheus` is changed from `otlptranslator.NoUTF8EscapingWithSuffixes` to `otlptranslator.UnderscoreEscapingWithSuffixes`. (#7421) - Improve performance of concurrent measurements in `go.opentelemetry.io/otel/sdk/metric`. (#7427) - Include W3C TraceFlags (bits 0–7) in the OTLP `Span.Flags` field in `go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp` and `go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc`. (#7438) - The `ErrorType` function in `go.opentelemetry.io/otel/semconv/v1.37.0` now handles custom error types. If an error implements an `ErrorType() string` method, the return value of that method will be used as the error type. (#7442) ### Fixed - Fix `WithInstrumentationAttributes` options in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/metric`, and `go.opentelemetry.io/otel/log` to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (#7300) - The equality of `attribute.Set` when using the `Equal` method is not affected by the user overriding the empty set pointed to by `attribute.EmptySet` in `go.opentelemetry.io/otel/attribute`. (#7357) - Return partial OTLP export errors to the caller in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#7372) - Return partial OTLP export errors to the caller in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7372) - Return partial OTLP export errors to the caller in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#7372) - Return partial OTLP export errors to the caller in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#7372) - Return partial OTLP export errors to the caller in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#7372) - Return partial OTLP export errors to the caller in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#7372) - Fix `AddAttributes`, `SetAttributes`, `SetBody` on `Record` in `go.opentelemetry.io/otel/sdk/log` to not mutate input. (#7403) - Do not double record measurements of `RecordSet` methods in `go.opentelemetry.io/otel/semconv/v1.37.0`. (#7655) - Do not double record measurements of `RecordSet` methods in `go.opentelemetry.io/otel/semconv/v1.36.0`. (#7656) ### Removed - Drop support for [Go 1.23]. (#7274) - Remove the `FilterProcessor` interface in `go.opentelemetry.io/otel/sdk/log`. The `Enabled` method has been added to the `Processor` interface instead. All `Processor` implementations must now implement the `Enabled` method. Custom processors that do not filter records can implement `Enabled` to return `true`. (#7639) |
||
|
|
49292857b7 |
Replace fnv with xxhash (#7497)
**Objective**: - Performance comparison between fnv and xxhash in terms of ops/sec, allocations and collisions - Implement xxhash according to first objective **Changes**: - fnv is replaced by xxhash. Perform stats: - **Collision**: No collision upto 100M - **Allocations**: Same in both cases - **Ops/sec**: xxhash performed better in cases with medium to large strings **Benchmarks**: ``` benchstat old.txt new.txt goos: darwin goarch: arm64 pkg: go.opentelemetry.io/otel/attribute cpu: Apple M2 │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ NewSet-8 205.5n ± 1% 229.4n ± 1% +11.61% (p=0.002 n=6) NewSetSmallStrings-8 160.5n ± 1% 169.0n ± 5% +5.26% (p=0.002 n=6) NewSetMediumStrings-8 263.8n ± 6% 185.0n ± 1% -29.89% (p=0.002 n=6) NewSetLargeStrings-8 426.4n ± 9% 210.2n ± 1% -50.72% (p=0.002 n=6) NewSetVeryLargeStrings-8 1012.5n ± 7% 238.7n ± 2% -76.43% (p=0.002 n=6) NewSetHugeStrings-8 3622.0n ± 8% 397.1n ± 1% -89.04% (p=0.002 n=6) geomean 488.6n 228.6n -53.21% │ old.txt │ new.txt │ │ B/op │ B/op vs base │ NewSet-8 448.0 ± 0% 448.0 ± 0% ~ (p=1.000 n=6) ¹ NewSetSmallStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹ NewSetMediumStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹ NewSetLargeStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹ NewSetVeryLargeStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹ NewSetHugeStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹ geomean 338.5 338.5 +0.00% ¹ all samples are equal │ old.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ NewSet-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSetSmallStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSetMediumStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSetLargeStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSetVeryLargeStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSetHugeStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ geomean 1.000 1.000 +0.00% ¹ all samples are equal ``` Previous implementation for reference: https://github.com/open-telemetry/opentelemetry-go/blame/d0483a7c89d936dcced557fb523465daeac16967/CHANGELOG.md#L16 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
56138d1060 |
fix(deps): update golang.org/x (#7482)
This PR contains the following updates: | Package | Type | Update | Change | Age | Confidence | |---|---|---|---|---|---| | golang.org/x/exp | require | digest | `27f1f14` -> `90e834f` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/exp/typeparams | indirect | digest | `27f1f14` -> `90e834f` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/net | indirect | minor | `v0.45.0` -> `v0.46.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/telemetry | indirect | digest | `ca0c2a9` -> `24f779f` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | require | minor | `v0.37.0` -> `v0.38.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tyler Yahn <codingalias@gmail.com> |
||
|
|
80cb909774 |
refactor: replace context.Background() with t.Context()/b.Context() in tests (#7352)
Based on the Go version we currently use, the dependency already supports 1.24+, which allows using `t.Context()` and `b.Context()` in unit tests and benchmarks respectively. - Enable `context-background` and `context-todo` in [`usetesting`](https://golangci-lint.run/docs/linters/configuration/#usetesting) - Adjust the code to support linter detection --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Tyler Yahn <codingalias@gmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
6243f21805 |
fix(deps): update module go.opentelemetry.io/auto/sdk to v1.2.1 (#7365)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more [here](https://redirect.github.com/renovatebot/renovate/discussions/37842). This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [go.opentelemetry.io/auto/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation) | `v1.1.0` -> `v1.2.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-go-instrumentation (go.opentelemetry.io/auto/sdk)</summary> ### [`v1.2.1`](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/blob/HEAD/CHANGELOG.md#goopentelemetryioautosdk-v121---2025-09-15) ##### Fixed - Fix `uint32` bounding on 32 bit architectures in the `go.opentelemetry.io/auto/sdk` module. ([#​2810](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2810)) ### [`v1.2.0`](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/blob/HEAD/CHANGELOG.md#v0230v120---2025-09-10) <!-- markdownlint-disable MD028 --> > \[!NOTE] > This is the last release version that will support building the auto-instrumentation CLI using Go 1.23. > The next release will require development to be done using Go >= 1.24. <!-- markdownlint-enable MD028 --> ##### Added - Cache offsets for `golang.org/x/net` `0.42.0`. ([#​2503](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2503)) - Cache offsets for `google.golang.org/grpc` `1.74.2`. ([#​2546](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2546)) - Cache offsets for `google.golang.org/grpc` `1.76.0-dev`. ([#​2596](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2596)) - Allow configuration of the resource using a [resource.Detector]. ([#​2598](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2598)) - The `WithResourceDetector` function is added to `go.opentelemetry.io/auto/pipeline/otelsdk`. - The `WithEnv` function is updated to parse the `OTEL_RESOURCE_DETECTOR` environment variable. Values are expected to be a comma-separated list of resource detector IDs registered with the [`autodetect` package]. - Cache offsets for Go `1.23.12`. ([#​2603](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2603)) - Cache offsets for Go `1.24.6`. ([#​2603](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2603)) - Cache offsets for `golang.org/x/net` `0.43.0`. ([#​2615](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2615)) - Cache offsets for Go `1.25.0`. ([#​2651](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2651)) - Cache offsets for `google.golang.org/grpc` `1.75.0`. ([#​2686](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2686)) - Cache offsets for `github.com/segmentio/kafka-go` `0.4.49`. ([#​2699](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2699)) - Cache offsets for `go.opentelemetry.io/otel` `v1.38.0`. ([#​2726](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2726)) - Cache offsets for Go `1.24.7`. ([#​2747](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2747)) - Cache offsets for Go `1.25.1`. ([#​2747](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2747)) - Cache offsets for `golang.org/x/net` `0.44.0`. ([#​2773](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2773)) - Cache offsets for `google.golang.org/grpc` `1.72.3`. ([#​2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787)) - Cache offsets for `google.golang.org/grpc` `1.73.1`. ([#​2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787)) - Cache offsets for `google.golang.org/grpc` `1.74.3`. ([#​2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787)) - Cache offsets for `google.golang.org/grpc` `1.75.1`. ([#​2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787)) [resource.Detector]: https://pkg.go.dev/go.opentelemetry.io/otel/sdk/resource#Detector [`autodetect` package]: https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/autodetect ##### Changed - Upgrade `go.opentelemetry.io/auto` semconv to `v1.37.0`. ([#​2763](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2763)) - Upgrade `go.opentelemetry.io/auto/sdk` semconv to `v1.37.0`. ([#​2763](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2763)) ##### Fixed - Add `telemetry.distro.version` resource attribute to the `otelsdk` handler. ([#​2383](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2383)) - `active_spans_by_span_ptr` eBPF map used in the traceglobal probe changed to LRU. ([#​2509](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2509)) </details> --- ### Configuration 📅 **Schedule**: 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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
e2da30d7d0 |
trace,metric,log: change WithInstrumentationAttributes to not de-depuplicate the passed attributes in a closure (#7266)
WithInstrumentationAttributes is creating a closure with a reference to a slice which is later passed to attribute.NewSet. attribute.NewSet may mutate the slice, so this will lead to a data race when the option is applied concurrently. We can fix this by moving the call to attribute.NewSet outside the closure. Fixes #7217 <details> <summary>benchstat for New*Config</summary> ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/log cpu: Intel(R) Core(TM) Ultra 7 155U │ /tmp/old.txt │ /tmp/new.txt │ │ sec/op │ sec/op vs base │ NewLoggerConfig/with_no_options-14 2.961n ± 6% 3.091n ± 6% ~ (p=0.132 n=6) NewLoggerConfig/with_an_instrumentation_version-14 24.75n ± 4% 25.04n ± 5% ~ (p=0.126 n=6) NewLoggerConfig/with_a_schema_url-14 24.97n ± 6% 24.79n ± 4% ~ (p=0.974 n=6) NewLoggerConfig/with_instrumentation_attribute-14 55.32n ± 4% 25.32n ± 4% -54.23% (p=0.002 n=6) NewLoggerConfig/with_instrumentation_attribute_set-14 24.77n ± 3% 24.96n ± 4% ~ (p=0.394 n=6) geomean 19.05n 16.47n -13.52% │ /tmp/old.txt │ /tmp/new.txt │ │ B/op │ B/op vs base │ NewLoggerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewLoggerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewLoggerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewLoggerConfig/with_instrumentation_attribute-14 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6) NewLoggerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ geomean ² ? ² ³ ¹ all samples are equal ² summaries must be >0 to compute geomean ³ ratios must be >0 to compute geomean │ /tmp/old.txt │ /tmp/new.txt │ │ allocs/op │ allocs/op vs base │ NewLoggerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewLoggerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewLoggerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewLoggerConfig/with_instrumentation_attribute-14 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.002 n=6) NewLoggerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ geomean ² ? ² ³ ¹ all samples are equal ² summaries must be >0 to compute geomean ³ ratios must be >0 to compute geomean pkg: go.opentelemetry.io/otel/metric │ /tmp/old.txt │ /tmp/new.txt │ │ sec/op │ sec/op vs base │ NewMeterConfig/with_no_options-14 3.255n ± 2% 3.045n ± 4% -6.42% (p=0.002 n=6) NewMeterConfig/with_an_instrumentation_version-14 22.84n ± 6% 23.14n ± 3% ~ (p=0.818 n=6) NewMeterConfig/with_a_schema_url-14 24.71n ± 5% 25.29n ± 4% ~ (p=0.132 n=6) NewMeterConfig/with_instrumentation_attribute-14 61.30n ± 5% 25.36n ± 7% -58.63% (p=0.002 n=6) NewMeterConfig/with_instrumentation_attribute_set-14 25.93n ± 5% 26.24n ± 4% ~ (p=0.485 n=6) geomean 19.64n 16.40n -16.49% │ /tmp/old.txt │ /tmp/new.txt │ │ B/op │ B/op vs base │ NewMeterConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewMeterConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewMeterConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewMeterConfig/with_instrumentation_attribute-14 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6) NewMeterConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ geomean ² ? ² ³ ¹ all samples are equal ² summaries must be >0 to compute geomean ³ ratios must be >0 to compute geomean │ /tmp/old.txt │ /tmp/new.txt │ │ allocs/op │ allocs/op vs base │ NewMeterConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewMeterConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewMeterConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewMeterConfig/with_instrumentation_attribute-14 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.002 n=6) NewMeterConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ geomean ² ? ² ³ ¹ all samples are equal ² summaries must be >0 to compute geomean ³ ratios must be >0 to compute geomean pkg: go.opentelemetry.io/otel/trace │ /tmp/old.txt │ /tmp/new.txt │ │ sec/op │ sec/op vs base │ NewTracerConfig/with_no_options-14 2.980n ± 5% 2.948n ± 3% ~ (p=0.240 n=6) NewTracerConfig/with_an_instrumentation_version-14 24.44n ± 4% 23.54n ± 1% -3.70% (p=0.002 n=6) NewTracerConfig/with_a_schema_url-14 24.47n ± 5% 23.95n ± 7% ~ (p=0.180 n=6) NewTracerConfig/with_instrumentation_attribute-14 58.39n ± 7% 25.54n ± 6% -56.25% (p=0.002 n=6) NewTracerConfig/with_instrumentation_attribute_set-14 25.70n ± 3% 26.55n ± 6% ~ (p=0.310 n=6) NewSpanStartConfig/with_no_options-14 2.670n ± 7% 2.838n ± 6% ~ (p=0.093 n=6) NewSpanStartConfig/with_attributes-14 60.65n ± 20% 51.84n ± 8% ~ (p=0.240 n=6) NewSpanStartConfig/with_attributes_set_multiple_times-14 115.4n ± 10% 110.0n ± 7% -4.68% (p=0.004 n=6) NewSpanStartConfig/with_a_timestamp-14 18.03n ± 3% 17.77n ± 4% ~ (p=0.937 n=6) NewSpanStartConfig/with_links-14 66.63n ± 8% 75.60n ± 8% +13.47% (p=0.009 n=6) NewSpanStartConfig/with_links_set_multiple_times-14 155.2n ± 4% 162.8n ± 18% ~ (p=0.485 n=6) NewSpanStartConfig/with_new_root-14 26.59n ± 19% 23.04n ± 4% -13.32% (p=0.004 n=6) NewSpanStartConfig/with_span_kind-14 24.02n ± 4% 23.72n ± 9% ~ (p=0.589 n=6) NewSpanEndConfig/with_no_options-14 2.673n ± 10% 2.765n ± 7% ~ (p=0.485 n=6) NewSpanEndConfig/with_a_timestamp-14 17.37n ± 9% 18.04n ± 4% ~ (p=0.093 n=6) NewSpanEndConfig/with_stack_trace-14 16.70n ± 3% 16.59n ± 4% ~ (p=0.937 n=6) NewEventConfig/with_no_options-14 37.14n ± 6% 36.63n ± 3% ~ (p=0.818 n=6) NewEventConfig/with_attributes-14 117.15n ± 9% 98.92n ± 14% -15.56% (p=0.009 n=6) NewEventConfig/with_attributes_set_multiple_times-14 172.6n ± 5% 168.1n ± 9% ~ (p=0.333 n=6) NewEventConfig/with_a_timestamp-14 25.41n ± 3% 26.66n ± 3% +4.92% (p=0.002 n=6) NewEventConfig/with_a_stacktrace-14 51.01n ± 15% 52.45n ± 2% ~ (p=0.093 n=6) geomean 28.82n 27.38n -4.98% │ /tmp/old.txt │ /tmp/new.txt │ │ B/op │ B/op vs base │ NewTracerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewTracerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewTracerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewTracerConfig/with_instrumentation_attribute-14 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6) NewTracerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_attributes-14 64.00 ± 0% 64.00 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_attributes_set_multiple_times-14 192.0 ± 0% 192.0 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_links-14 96.00 ± 0% 96.00 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_links_set_multiple_times-14 272.0 ± 0% 272.0 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_new_root-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_span_kind-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanEndConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanEndConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanEndConfig/with_stack_trace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_attributes-14 64.00 ± 0% 64.00 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_attributes_set_multiple_times-14 192.0 ± 0% 192.0 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_a_stacktrace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ geomean ² ? ² ³ ¹ all samples are equal ² summaries must be >0 to compute geomean ³ ratios must be >0 to compute geomean │ /tmp/old.txt │ /tmp/new.txt │ │ allocs/op │ allocs/op vs base │ NewTracerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewTracerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewTracerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewTracerConfig/with_instrumentation_attribute-14 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.002 n=6) NewTracerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_attributes-14 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_attributes_set_multiple_times-14 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_links-14 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_links_set_multiple_times-14 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_new_root-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanStartConfig/with_span_kind-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanEndConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanEndConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewSpanEndConfig/with_stack_trace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_attributes-14 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_attributes_set_multiple_times-14 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ NewEventConfig/with_a_stacktrace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹ geomean ² ? ² ³ ¹ all samples are equal ² summaries must be >0 to compute geomean ³ ratios must be >0 to compute geomean ``` </details> --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Flc゛ <four_leaf_clover@foxmail.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> |
||
|
|
07a91dd2b0 |
trace,metric,log: add WithInstrumentationAttributeSet option (#7287)
Per https://github.com/open-telemetry/opentelemetry-go/pull/7266#issuecomment-3237027300 Related to https://github.com/open-telemetry/opentelemetry-go/issues/7217 ## What This PR adds `WithInstrumentationAttributeSet` option functions to the `log`, `metric`, and `trace` packages as suggested in https://github.com/open-telemetry/opentelemetry-go/pull/7266#issuecomment-3237027300. These new functions provide a more concurrent-safe alternative to the existing `WithInstrumentationAttributes` functions by accepting a pre-constructed `attribute.Set` instead of variadic `attribute.KeyValue` parameters. ## Why As discussed in #7266, the existing `WithInstrumentationAttributes` functions can lead to data races when used concurrently because `attribute.NewSet()` may mutate the passed slice in-place. While the issue was partially addressed by moving the `attribute.NewSet()` call outside the closure, the best long-term solution is to provide an alternative that accepts an immutable `attribute.Set`. **Benefits:** 1. **Concurrent Safety**: Since `attribute.Set` is immutable, these functions are inherently safe for concurrent use 2. **Performance**: Avoids repeated calls to `attribute.NewSet()` when the same attributes are used multiple times 3. **Consistency**: Matches the existing pattern used in `metric.WithAttributeSet()` 4. **Flexibility**: Allows users to pre-compute attribute sets and reuse them Deprecating `WithInstrumentationAttributes` is out of scope. See https://github.com/open-telemetry/opentelemetry-go/pull/7287#issuecomment-3245820459. ## Benchmarks ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/trace cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkNewTracerConfig/with_no_options-20 280298306 4.268 ns/op 0 B/op 0 allocs/op BenchmarkNewTracerConfig/with_an_instrumentation_version-20 33389427 30.84 ns/op 0 B/op 0 allocs/op BenchmarkNewTracerConfig/with_a_schema_url-20 35441077 30.46 ns/op 0 B/op 0 allocs/op BenchmarkNewTracerConfig/with_instrumentation_attribute-20 17607649 88.23 ns/op 64 B/op 1 allocs/op BenchmarkNewTracerConfig/with_instrumentation_attribute_set-20 38336211 31.30 ns/op 0 B/op 0 allocs/op ``` ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/metric cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkNewMeterConfig/with_no_options-20 262998199 4.525 ns/op 0 B/op 0 allocs/op BenchmarkNewMeterConfig/with_an_instrumentation_version-20 40483780 29.31 ns/op 0 B/op 0 allocs/op BenchmarkNewMeterConfig/with_a_schema_url-20 39162420 30.58 ns/op 0 B/op 0 allocs/op BenchmarkNewMeterConfig/with_instrumentation_attribute-20 19900275 77.50 ns/op 64 B/op 1 allocs/op BenchmarkNewMeterConfig/with_instrumentation_attribute_set-20 37519020 31.93 ns/op 0 B/op 0 allocs/op ``` ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/log cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkNewLoggerConfig/with_no_options-20 271100760 4.322 ns/op 0 B/op 0 allocs/op BenchmarkNewLoggerConfig/with_an_instrumentation_version-20 38392390 30.77 ns/op 0 B/op 0 allocs/op BenchmarkNewLoggerConfig/with_a_schema_url-20 39615074 30.25 ns/op 0 B/op 0 allocs/op BenchmarkNewLoggerConfig/with_instrumentation_attribute-20 17108463 82.51 ns/op 64 B/op 1 allocs/op BenchmarkNewLoggerConfig/with_instrumentation_attribute_set-20 37746534 31.70 ns/op 0 B/op 0 allocs/op ``` |
||
|
|
dcf14aa937 |
trace,metric,log: WithInstrumentationAttributes options to merge attributes (#7300)
## What Fix `WithInstrumentationAttributes` options in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/metric`, and `go.opentelemetry.io/otel/log` to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. ## Why Per https://github.com/open-telemetry/opentelemetry-go/pull/7287#pullrequestreview-3181379062 and https://github.com/open-telemetry/opentelemetry-go/pull/7287#issuecomment-3250085450 Not that this does not address https://github.com/open-telemetry/opentelemetry-go/issues/7217. This is left to a seperate PR to not scope creep this one. CC @axw --------- Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
0174808b2b |
Fix schema urls (#7288)
The 1.0.0 schema now returns a 404 on opentelemetry.io. |
||
|
|
8ab8e421a5 | Drop support for Go 1.23 (#7274) | ||
|
|
84e3f3ac8b |
Release v1.38.0 (#7271)
This release is the last to support [Go 1.23]. The next release will require at least [Go 1.24]. ### Added - Add native histogram exemplar support in `go.opentelemetry.io/otel/exporters/prometheus`. (#6772) - Add template attribute functions to the `go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6939) - `ContainerLabel` - `DBOperationParameter` - `DBSystemParameter` - `HTTPRequestHeader` - `HTTPResponseHeader` - `K8SCronJobAnnotation` - `K8SCronJobLabel` - `K8SDaemonSetAnnotation` - `K8SDaemonSetLabel` - `K8SDeploymentAnnotation` - `K8SDeploymentLabel` - `K8SJobAnnotation` - `K8SJobLabel` - `K8SNamespaceAnnotation` - `K8SNamespaceLabel` - `K8SNodeAnnotation` - `K8SNodeLabel` - `K8SPodAnnotation` - `K8SPodLabel` - `K8SReplicaSetAnnotation` - `K8SReplicaSetLabel` - `K8SStatefulSetAnnotation` - `K8SStatefulSetLabel` - `ProcessEnvironmentVariable` - `RPCConnectRPCRequestMetadata` - `RPCConnectRPCResponseMetadata` - `RPCGRPCRequestMetadata` - `RPCGRPCResponseMetadata` - Add `ErrorType` attribute helper function to the `go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6962) - Add `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` which can be used to disable deduplication for log records. (#6968) - Add `WithCardinalityLimit` option to configure the cardinality limit in `go.opentelemetry.io/otel/sdk/metric`. (#6996, #7065, #7081, #7164, #7165, #7179) - Add `Clone` method to `Record` in `go.opentelemetry.io/otel/log` that returns a copy of the record with no shared state. (#7001) - Add experimental self-observability span and batch span processor metrics in `go.opentelemetry.io/otel/sdk/trace`. Check the `go.opentelemetry.io/otel/sdk/trace/internal/x` package documentation for more information. (#7027, #6393, #7209) - The `go.opentelemetry.io/otel/semconv/v1.36.0` package. The package contains semantic conventions from the `v1.36.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.36.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.34.0.`(#7032, #7041) - Add support for configuring Prometheus name translation using `WithTranslationStrategy` option in `go.opentelemetry.io/otel/exporters/prometheus`. The current default translation strategy when UTF-8 mode is enabled is `NoUTF8EscapingWithSuffixes`, but a future release will change the default strategy to `UnderscoreEscapingWithSuffixes` for compliance with the specification. (#7111) - Add experimental self-observability log metrics in `go.opentelemetry.io/otel/sdk/log`. Check the `go.opentelemetry.io/otel/sdk/log/internal/x` package documentation for more information. (#7121) - Add experimental self-observability trace exporter metrics in `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. Check the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x` package documentation for more information. (#7133) - Support testing of [Go 1.25]. (#7187) - The `go.opentelemetry.io/otel/semconv/v1.37.0` package. The package contains semantic conventions from the `v1.37.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.37.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.36.0.`(#7254) ### Changed - Optimize `TraceIDFromHex` and `SpanIDFromHex` in `go.opentelemetry.io/otel/sdk/trace`. (#6791) - Change `AssertEqual` in `go.opentelemetry.io/otel/log/logtest` to accept `TestingT` in order to support benchmarks and fuzz tests. (#6908) - Change `DefaultExemplarReservoirProviderSelector` in `go.opentelemetry.io/otel/sdk/metric` to use `runtime.GOMAXPROCS(0)` instead of `runtime.NumCPU()` for the `FixedSizeReservoirProvider` default size. (#7094) ### Fixed - `SetBody` method of `Record` in `go.opentelemetry.io/otel/sdk/log` now deduplicates key-value collections (`log.Value` of `log.KindMap` from `go.opentelemetry.io/otel/log`). (#7002) - Fix `go.opentelemetry.io/otel/exporters/prometheus` to not append a suffix if it's already present in metric name. (#7088) - Fix the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` self-observability component type and name. (#7195) - Fix partial export count metric in `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7199) ### Deprecated - Deprecate `WithoutUnits` and `WithoutCounterSuffixes` options, preferring `WithTranslationStrategy` instead. (#7111) - Deprecate support for `OTEL_GO_X_CARDINALITY_LIMIT` environment variable in `go.opentelemetry.io/otel/sdk/metric`. Use `WithCardinalityLimit` option instead. (#7166) |
||
|
|
25d02741f7 |
fix(deps): update module github.com/stretchr/testify to v1.11.1 (#7261)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [github.com/stretchr/testify](https://redirect.github.com/stretchr/testify) | `v1.11.0` -> `v1.11.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>stretchr/testify (github.com/stretchr/testify)</summary> ### [`v1.11.1`](https://redirect.github.com/stretchr/testify/releases/tag/v1.11.1) [Compare Source](https://redirect.github.com/stretchr/testify/compare/v1.11.0...v1.11.1) This release fixes [#​1785](https://redirect.github.com/stretchr/testify/issues/1785) introduced in v1.11.0 where expected argument values implementing the stringer interface (`String() string`) with a method which mutates their value, when passed to mock.Mock.On (`m.On("Method", <expected>).Return()`) or actual argument values passed to mock.Mock.Called may no longer match one another where they previously did match. The behaviour prior to v1.11.0 where the stringer is always called is restored. Future testify releases may not call the stringer method at all in this case. #### What's Changed - Backport [#​1786](https://redirect.github.com/stretchr/testify/issues/1786) to release/1.11: mock: revert to pre-v1.11.0 argument matching behavior for mutating stringers by [@​brackendawson](https://redirect.github.com/brackendawson) in [#​1788](https://redirect.github.com/stretchr/testify/pull/1788) **Full Changelog**: <https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1> </details> --- ### Configuration 📅 **Schedule**: 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:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: dmathieu <damien.mathieu@elastic.co> |
||
|
|
713a1d9a2a |
fix(deps): update module github.com/stretchr/testify to v1.11.0 (#7242)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [github.com/stretchr/testify](https://redirect.github.com/stretchr/testify) | `v1.10.0` -> `v1.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>stretchr/testify (github.com/stretchr/testify)</summary> ### [`v1.11.0`](https://redirect.github.com/stretchr/testify/releases/tag/v1.11.0) [Compare Source](https://redirect.github.com/stretchr/testify/compare/v1.10.0...v1.11.0) #### What's Changed ##### Functional Changes v1.11.0 Includes a number of performance improvements. - Call stack perf change for CallerInfo by [@​mikeauclair](https://redirect.github.com/mikeauclair) in [#​1614](https://redirect.github.com/stretchr/testify/pull/1614) - Lazily render mock diff output on successful match by [@​mikeauclair](https://redirect.github.com/mikeauclair) in [#​1615](https://redirect.github.com/stretchr/testify/pull/1615) - assert: check early in Eventually, EventuallyWithT, and Never by [@​cszczepaniak](https://redirect.github.com/cszczepaniak) in [#​1427](https://redirect.github.com/stretchr/testify/pull/1427) - assert: add IsNotType by [@​bartventer](https://redirect.github.com/bartventer) in [#​1730](https://redirect.github.com/stretchr/testify/pull/1730) - assert.JSONEq: shortcut if same strings by [@​dolmen](https://redirect.github.com/dolmen) in [#​1754](https://redirect.github.com/stretchr/testify/pull/1754) - assert.YAMLEq: shortcut if same strings by [@​dolmen](https://redirect.github.com/dolmen) in [#​1755](https://redirect.github.com/stretchr/testify/pull/1755) - assert: faster and simpler isEmpty using reflect.Value.IsZero by [@​dolmen](https://redirect.github.com/dolmen) in [#​1761](https://redirect.github.com/stretchr/testify/pull/1761) - suite: faster methods filtering (internal refactor) by [@​dolmen](https://redirect.github.com/dolmen) in [#​1758](https://redirect.github.com/stretchr/testify/pull/1758) ##### Fixes - assert.ErrorAs: log target type by [@​craig65535](https://redirect.github.com/craig65535) in [#​1345](https://redirect.github.com/stretchr/testify/pull/1345) - Fix failure message formatting for Positive and Negative asserts in [#​1062](https://redirect.github.com/stretchr/testify/pull/1062) - Improve ErrorIs message when error is nil but an error was expected by [@​tsioftas](https://redirect.github.com/tsioftas) in [#​1681](https://redirect.github.com/stretchr/testify/pull/1681) - fix Subset/NotSubset when calling with mixed input types by [@​siliconbrain](https://redirect.github.com/siliconbrain) in [#​1729](https://redirect.github.com/stretchr/testify/pull/1729) - Improve ErrorAs failure message when error is nil by [@​ccoVeille](https://redirect.github.com/ccoVeille) in [#​1734](https://redirect.github.com/stretchr/testify/pull/1734) - mock.AssertNumberOfCalls: improve error msg by [@​3scalation](https://redirect.github.com/3scalation) in [#​1743](https://redirect.github.com/stretchr/testify/pull/1743) ##### Documentation, Build & CI - docs: Fix typo in README by [@​alexandear](https://redirect.github.com/alexandear) in [#​1688](https://redirect.github.com/stretchr/testify/pull/1688) - Replace deprecated io/ioutil with io and os by [@​alexandear](https://redirect.github.com/alexandear) in [#​1684](https://redirect.github.com/stretchr/testify/pull/1684) - Document consequences of calling t.FailNow() by [@​greg0ire](https://redirect.github.com/greg0ire) in [#​1710](https://redirect.github.com/stretchr/testify/pull/1710) - chore: update docs for Unset [#​1621](https://redirect.github.com/stretchr/testify/issues/1621) by [@​techfg](https://redirect.github.com/techfg) in [#​1709](https://redirect.github.com/stretchr/testify/pull/1709) - README: apply gofmt to examples by [@​alexandear](https://redirect.github.com/alexandear) in [#​1687](https://redirect.github.com/stretchr/testify/pull/1687) - refactor: use %q and %T to simplify fmt.Sprintf by [@​alexandear](https://redirect.github.com/alexandear) in [#​1674](https://redirect.github.com/stretchr/testify/pull/1674) - Propose Christophe Colombier (ccoVeille) as approver by [@​brackendawson](https://redirect.github.com/brackendawson) in [#​1716](https://redirect.github.com/stretchr/testify/pull/1716) - Update documentation for the Error function in assert or require package by [@​architagr](https://redirect.github.com/architagr) in [#​1675](https://redirect.github.com/stretchr/testify/pull/1675) - assert: remove deprecated build constraints by [@​alexandear](https://redirect.github.com/alexandear) in [#​1671](https://redirect.github.com/stretchr/testify/pull/1671) - assert: apply gofumpt to internal test suite by [@​ccoVeille](https://redirect.github.com/ccoVeille) in [#​1739](https://redirect.github.com/stretchr/testify/pull/1739) - CI: fix shebang in .ci.\*.sh scripts by [@​dolmen](https://redirect.github.com/dolmen) in [#​1746](https://redirect.github.com/stretchr/testify/pull/1746) - assert,require: enable parallel testing on (almost) all top tests by [@​dolmen](https://redirect.github.com/dolmen) in [#​1747](https://redirect.github.com/stretchr/testify/pull/1747) - suite.Passed: add one more status test report by [@​Ararsa-Derese](https://redirect.github.com/Ararsa-Derese) in [#​1706](https://redirect.github.com/stretchr/testify/pull/1706) - Add Helper() method in internal mocks and assert.CollectT by [@​dolmen](https://redirect.github.com/dolmen) in [#​1423](https://redirect.github.com/stretchr/testify/pull/1423) - assert.Same/NotSame: improve usage of Sprintf by [@​ccoVeille](https://redirect.github.com/ccoVeille) in [#​1742](https://redirect.github.com/stretchr/testify/pull/1742) - mock: enable parallel testing on internal testsuite by [@​dolmen](https://redirect.github.com/dolmen) in [#​1756](https://redirect.github.com/stretchr/testify/pull/1756) - suite: cleanup use of 'testing' internals at runtime by [@​dolmen](https://redirect.github.com/dolmen) in [#​1751](https://redirect.github.com/stretchr/testify/pull/1751) - assert: check test failure message for Empty and NotEmpty by [@​ccoVeille](https://redirect.github.com/ccoVeille) in [#​1745](https://redirect.github.com/stretchr/testify/pull/1745) - deps: fix dependency cycle with objx (again) by [@​dolmen](https://redirect.github.com/dolmen) in [#​1567](https://redirect.github.com/stretchr/testify/pull/1567) - assert.Empty: comprehensive doc of "Empty"-ness rules by [@​dolmen](https://redirect.github.com/dolmen) in [#​1753](https://redirect.github.com/stretchr/testify/pull/1753) - doc: improve godoc of top level 'testify' package by [@​dolmen](https://redirect.github.com/dolmen) in [#​1760](https://redirect.github.com/stretchr/testify/pull/1760) - assert.ErrorAs: simplify retrieving the type name by [@​ccoVeille](https://redirect.github.com/ccoVeille) in [#​1740](https://redirect.github.com/stretchr/testify/pull/1740) - assert.EqualValues: improve test coverage to 100% by [@​dolmen](https://redirect.github.com/dolmen) in [#​1763](https://redirect.github.com/stretchr/testify/pull/1763) - suite.Run: simplify running of Setup/TeardownSuite by [@​renzoarreaza](https://redirect.github.com/renzoarreaza) in [#​1769](https://redirect.github.com/stretchr/testify/pull/1769) - assert.CallerInfo: micro optimization by using LastIndexByte by [@​dolmen](https://redirect.github.com/dolmen) in [#​1767](https://redirect.github.com/stretchr/testify/pull/1767) - assert.CallerInfo: micro cleanup by [@​dolmen](https://redirect.github.com/dolmen) in [#​1768](https://redirect.github.com/stretchr/testify/pull/1768) - assert: refactor Test*FileExists and Test*DirExists tests to enable parallel testing by [@​dolmen](https://redirect.github.com/dolmen) in [#​1766](https://redirect.github.com/stretchr/testify/pull/1766) - suite.Run: refactor handling of stats for improved readability by [@​dolmen](https://redirect.github.com/dolmen) in [#​1764](https://redirect.github.com/stretchr/testify/pull/1764) - tests: improve captureTestingT helper by [@​ccoVeille](https://redirect.github.com/ccoVeille) in [#​1741](https://redirect.github.com/stretchr/testify/pull/1741) - build(deps): bump actions/checkout from 4 to 5 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1778](https://redirect.github.com/stretchr/testify/pull/1778) #### New Contributors - [@​greg0ire](https://redirect.github.com/greg0ire) made their first contribution in [#​1710](https://redirect.github.com/stretchr/testify/pull/1710) - [@​techfg](https://redirect.github.com/techfg) made their first contribution in [#​1709](https://redirect.github.com/stretchr/testify/pull/1709) - [@​mikeauclair](https://redirect.github.com/mikeauclair) made their first contribution in [#​1614](https://redirect.github.com/stretchr/testify/pull/1614) - [@​cszczepaniak](https://redirect.github.com/cszczepaniak) made their first contribution in [#​1427](https://redirect.github.com/stretchr/testify/pull/1427) - [@​architagr](https://redirect.github.com/architagr) made their first contribution in [#​1675](https://redirect.github.com/stretchr/testify/pull/1675) - [@​tsioftas](https://redirect.github.com/tsioftas) made their first contribution in [#​1681](https://redirect.github.com/stretchr/testify/pull/1681) - [@​siliconbrain](https://redirect.github.com/siliconbrain) made their first contribution in [#​1729](https://redirect.github.com/stretchr/testify/pull/1729) - [@​bartventer](https://redirect.github.com/bartventer) made their first contribution in [#​1730](https://redirect.github.com/stretchr/testify/pull/1730) - [@​Ararsa-Derese](https://redirect.github.com/Ararsa-Derese) made their first contribution in [#​1706](https://redirect.github.com/stretchr/testify/pull/1706) - [@​renzoarreaza](https://redirect.github.com/renzoarreaza) made their first contribution in [#​1769](https://redirect.github.com/stretchr/testify/pull/1769) - [@​3scalation](https://redirect.github.com/3scalation) made their first contribution in [#​1743](https://redirect.github.com/stretchr/testify/pull/1743) **Full Changelog**: <https://github.com/stretchr/testify/compare/v1.10.0...v1.11.0> </details> --- ### Configuration 📅 **Schedule**: 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:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: flc1125 <four_leaf_clover@foxmail.com> |
||
|
|
d464abf1f3 |
chore: enable unused-parameter rule from revive (#7122)
#### Description Enable and fixes [unused-parameter](https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#unused-parameter) rule from revive Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com> |
||
|
|
5e1c62a2d5 |
Modernize (#7089)
Use https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize to update code to new style. --------- Co-authored-by: Flc゛ <four_leaf_clover@foxmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
1737ab8666 |
docs: unify doc comments for functions returning bool (#7064)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7063 If also fixes Go Doc comment for `SpanID.IsEmpty`. The pattern is based on the way the Go standard library documents functions returning a boolean. |
||
|
|
291140b0d8 |
log: Add Record.Clone (#7001)
Fixes #6986 This PR adds a `Clone()` method to the `log.Record` type. The `Clone` method returns a copy of the record with no shared state, allowing both the original and the clone to be modified independently. This functionality mirrors the existing `sdk/log.Record.Clone()` behavior and includes a corresponding unit test (`TestRecordClone`) to ensure correctness. --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
bd5e1346ce | log/logtest: improve Transform usage in the example (#6938) | ||
|
|
186bd18db4 | log/logtest: change AssertEqual to accept TestingT for benchmark support (#6908) | ||
|
|
69e81088ad |
Release 1.37.0/0.59.0/0.13.0 (#6925)
### Added - The `go.opentelemetry.io/otel/semconv/v1.33.0` package. The package contains semantic conventions from the `v1.33.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.33.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.32.0.`(#6799) - The `go.opentelemetry.io/otel/semconv/v1.34.0` package. The package contains semantic conventions from the `v1.34.0` version of the OpenTelemetry Semantic Conventions. (#6812) - Add metric's schema URL as `otel_scope_schema_url` label in `go.opentelemetry.io/otel/exporters/prometheus`. (#5947) - Add metric's scope attributes as `otel_scope_[attribute]` labels in `go.opentelemetry.io/otel/exporters/prometheus`. (#5947) - Add `EventName` to `EnabledParameters` in `go.opentelemetry.io/otel/log`. (#6825) - Add `EventName` to `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. (#6825) - Changed handling of `go.opentelemetry.io/otel/exporters/prometheus` metric renaming to add unit suffixes when it doesn't match one of the pre-defined values in the unit suffix map. (#6839) ### Changed - The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/bridge/opentracing`. (#6827) - The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/exporters/zipkin`. (#6829) - The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/metric`. (#6832) - The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/sdk/resource`. (#6834) - The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/sdk/trace`. (#6835) - The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/trace`. (#6836) - `Record.Resource` now returns `*resource.Resource` instead of `resource.Resource` in `go.opentelemetry.io/otel/sdk/log`. (#6864) - Retry now shows error cause for context timeout in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6898) ### Fixed - Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#6710) - Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#6710) - Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#6710) - Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#6710) - Validate exponential histogram scale range for Prometheus compatibility in `go.opentelemetry.io/otel/exporters/prometheus`. (#6822) - Context cancellation during metric pipeline produce does not corrupt data in `go.opentelemetry.io/otel/sdk/metric`. (#6914) ### Removed - `go.opentelemetry.io/otel/exporters/prometheus` no longer exports `otel_scope_info` metric. (#6770) |
||
|
|
261ed77ee2 | fix(deps): update module github.com/go-logr/logr to v1.4.3 (#6842) | ||
|
|
65b8067f18 |
log,sdk/log: add EventName to EnabledParameters (#6825)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6771 |
||
|
|
0fc383a3ac |
Release log/v0.12.2 (#6806)
Resolve #6803 - Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` module that contains invalid dependencies. (#6804) - Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` module that contains invalid dependencies. (#6804) - Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/stdout/stdoutlog` module that contains invalid dependencies. (#6804) --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
355c8ccc26 |
Release experimental logs 0.12.1 (#6802)
# Overview ### Fixes - Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#6800) - Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6800) - Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. (#6800) |
||
|
|
a85ae98dce |
Release v1.36.0/v0.58.0/v0.12.0 (#6793)
# Overview Closes https://github.com/open-telemetry/opentelemetry-go/issues/6786 ### Added - Add exponential histogram support in `go.opentelemetry.io/otel/exporters/prometheus`. (#6421) - The `go.opentelemetry.io/otel/semconv/v1.31.0` package. The package contains semantic conventions from the `v1.31.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.31.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.30.0`. (#6479) - Add `Recording`, `Scope`, and `Record` types in `go.opentelemetry.io/otel/log/logtest`. (#6507) - Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#6751) - Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#6752) - Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6688) - Add `ValuesGetter` in `go.opentelemetry.io/otel/propagation`, a `TextMapCarrier` that supports retrieving multiple values for a single key. (#5973) - Add `Values` method to `HeaderCarrier` to implement the new `ValuesGetter` interface in `go.opentelemetry.io/otel/propagation`. (#5973) - Update `Baggage` in `go.opentelemetry.io/otel/propagation` to retrieve multiple values for a key when the carrier implements `ValuesGetter`. (#5973) - Add `AssertEqual` function in `go.opentelemetry.io/otel/log/logtest`. (#6662) - The `go.opentelemetry.io/otel/semconv/v1.32.0` package. The package contains semantic conventions from the `v1.32.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.32.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.31.0`(#6782) - Add `Transform` option in `go.opentelemetry.io/otel/log/logtest`. (#6794) - Add `Desc` option in `go.opentelemetry.io/otel/log/logtest`. (#6796) ### Removed - Drop support for [Go 1.22]. (#6381, #6418) - Remove `Resource` field from `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. (#6494) - Remove `RecordFactory` type from `go.opentelemetry.io/otel/log/logtest`. (#6492) - Remove `ScopeRecords`, `EmittedRecord`, and `RecordFactory` types from `go.opentelemetry.io/otel/log/logtest`. (#6507) - Remove `AssertRecordEqual` function in `go.opentelemetry.io/otel/log/logtest`, use `AssertEqual` instead. (#6662) ### Changed - ⚠️ Update `github.com/prometheus/client_golang` to `v1.21.1`, which changes the `NameValidationScheme` to `UTF8Validation`. This allows metrics names to keep original delimiters (e.g. `.`), rather than replacing with underscores. This can be reverted by setting `github.com/prometheus/common/model.NameValidationScheme` to `LegacyValidation` in `github.com/prometheus/common/model`. (#6433) - Initialize map with `len(keys)` in `NewAllowKeysFilter` and `NewDenyKeysFilter` to avoid unnecessary allocations in `go.opentelemetry.io/otel/attribute`. (#6455) - `go.opentelemetry.io/otel/log/logtest` is now a separate Go module. (#6465) - `go.opentelemetry.io/otel/sdk/log/logtest` is now a separate Go module. (#6466) - `Recorder` in `go.opentelemetry.io/otel/log/logtest` no longer separately stores records emitted by loggers with the same instrumentation scope. (#6507) - Improve performance of `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` by not exporting when exporter cannot accept more. (#6569, #6641) ### Deprecated - Deprecate support for `model.LegacyValidation` for `go.opentelemetry.io/otel/exporters/prometheus`. (#6449) ### Fixes - Stop percent encoding header environment variables in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6392) - Ensure the `noopSpan.tracerProvider` method is not inlined in `go.opentelemetry.io/otel/trace` so the `go.opentelemetry.io/auto` instrumentation can instrument non-recording spans. (#6456) - Use a `sync.Pool` instead of allocating `metricdata.ResourceMetrics` in `go.opentelemetry.io/otel/exporters/prometheus`. (#6472) --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
3f85c35038 |
logtest: add Desc (#6796)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6490 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6341 |
||
|
|
fe523bd15a |
logtest: add Transform (#6794)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6491 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6489 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 Per https://github.com/open-telemetry/opentelemetry-go/pull/6774#discussion_r2091424563 |
||
|
|
bf7ffa3900 |
log/logtest: Add AssertEqual and remove AssertRecordEqual (#6662)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6487 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6488 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6464 Replace `AssertRecordEqual` with `AssertEqual` which accepts options and can work not only with `Record` but most importantly, whole `Recording`. The changes between the previous approach are inspired by the design of https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest. Thanks to it we continue to use the "assert" pattern, but are not impacted by downsides of `testify`. The main issue is that with `testify` we cannot force `[]log.KeyValue` to sort slices before comparing (unordered collection equality). This can make the tests too much "white-boxed" and can easy break during refactoring. Moreover, empty and nil slices are seen not equal which in this case is not relevant. Here is an example of how the current tests of log bridges can be improved: - https://github.com/open-telemetry/opentelemetry-go-contrib/pull/6953 |
||
|
|
84d02c0f39 |
Do not discourage direct usage of Logs API (#6675)
Fixes #6572 ## What - Update documentation in `log/doc.go`. - Fix naming of the Logs API in several documentation files `(Logs Bridge API -> Logs API)`. --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
ba37ae0f8b |
log/logtest: Change Recorder.Result (#6507)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6486 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 `Recorder` in `go.opentelemetry.io/otel/log/logtest` no longer separately stores records emitted by loggers with the same instrumentation scope. Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6464 |
||
|
|
7512a2be2e |
Add the golines golangci-lint formatter (#6513)
Ensure consistent line wrapping (<= 120 characters) within the project. |
||
|
|
590bcee71b |
fix(deps): update module github.com/golangci/golangci-lint to v2 (#6499)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/golangci/golangci-lint](https://redirect.github.com/golangci/golangci-lint) | `v1.64.8` -> `v2.0.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>golangci/golangci-lint (github.com/golangci/golangci-lint)</summary> ### [`v2.0.2`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v202) [Compare Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.0.1...v2.0.2) 1. Misc. - Fixes flags parsing for formatters - Fixes the filepath used by the exclusion `source` option 2. Documentation - Adds a section about flags migration - Cleaning pages with v1 options ### [`v2.0.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v201) [Compare Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.0.0...v2.0.1) 1. Linters/formatters bug fixes - `golines`: fix settings during linter load 2. Misc. - Validates the `version` field before the configuration - `forbidigo`: fix migration ### [`v2.0.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v200) [Compare Source](https://redirect.github.com/golangci/golangci-lint/compare/v1.64.8...v2.0.0) 1. Enhancements - 🌟 New `golangci-lint fmt` command with dedicated formatter configuration (https://golangci-lint.run/welcome/quick-start/#formatting) - ♻️ New `golangci-lint migrate` command to help migration from v1 to v2 (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#command-migrate)) - ⚠️ New default values (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/)) - ⚠️ No exclusions by default (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#issuesexclude-use-default)) - ⚠️ New default sort order (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#outputsort-order)) - 🌟 New option `run.relative-path-mode` (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#runrelative-path-mode)) - 🌟 New linters configuration (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#linters)) - 🌟 New output format configuration (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#output)) - 🌟 New `--fast-only` flag (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#lintersfast)) - 🌟 New option `linters.exclusions.warn-unused` to log a warning if an exclusion rule is unused. 2. New linters/formatters - Add `golines` formatter https://github.com/segmentio/golines 3. Linters new features - ⚠️ Merge `staticcheck`, `stylecheck`, `gosimple` into one linter (`staticcheck`) (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#lintersenablestylecheckgosimplestaticcheck)) - `go-critic`: from 0.12.0 to 0.13.0 - `gomodguard`: from 1.3.5 to 1.4.1 (block explicit indirect dependencies) - `nilnil`: from 1.0.1 to 1.1.0 (new option: `only-two`) - `perfsprint`: from 0.8.2 to 0.9.1 (checker name in the diagnostic message) - `staticcheck`: new `quickfix` set of rules - `testifylint`: from 1.5.2 to 1.6.0 (new options: `equal-values`, `suite-method-signature`, `require-string-msg`) - `wsl`: from 4.5.0 to 4.6.0 (new option: `allow-cuddle-used-in-block`) 4. Linters bug fixes - `bidichk`: from 0.3.2 to 0.3.3 - `errchkjson`: from 0.4.0 to 0.4.1 - `errname`: from 1.0.0 to 1.1.0 - `funlen`: fix `ignore-comments` option - `gci`: from 0.13.5 to 0.13.6 - `gosmopolitan`: from 1.2.2 to 1.3.0 - `inamedparam`: from 0.1.3 to 0.2.0 - `intrange`: from 0.3.0 to 0.3.1 - `protogetter`: from 0.3.9 to 0.3.12 - `unparam`: from [`8a5130c`](https://redirect.github.com/golangci/golangci-lint/commit/8a5130ca722f) to [`0df0534`](https://redirect.github.com/golangci/golangci-lint/commit/0df0534333a4) 5. Misc. - 🧹 Configuration options renaming (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/)) - 🧹 Remove options (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/)) - 🧹 Remove flags (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/)) - 🧹 Remove alternative names (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/#alternative-linter-names)) - 🧹 Remove or replace deprecated elements (cf. [Migration guide](https://golangci-lint.run/product/migration-guide/)) - Adds an option to display some commands as JSON: - `golangci-lint config path --json` - `golangci-lint help linters --json` - `golangci-lint help formatters --json` - `golangci-lint linters --json` - `golangci-lint formatters --json` - `golangci-lint version --json` 6. Documentation - [Migration guide](https://golangci-lint.run/product/migration-guide/) </details> --- ### Configuration 📅 **Schedule**: 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 this update 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tyler Yahn <codingalias@gmail.com> |
||
|
|
dbc3bce6fa |
log/logtest: Remove RecordFactory (#6492)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6485 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 `RecordFactory` is unused. |
||
|
|
1b8fe16bea |
log/logtest: new module (#6465)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/6378 |