mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2026-06-03 18:35:08 +02:00
5982f16d244fafebffcfc92b4673dbeb565b4e7b
351 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5982f16d24 |
fix(deps): update module golang.org/x/sys to v0.39.0 (#7684)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | golang.org/x/sys | `v0.38.0` -> `v0.39.0` |  |  | --- > [!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 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> Co-authored-by: dmathieu <42@dmathieu.com> |
||
|
|
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> |
||
|
|
d1ebd7b9ff |
fix(deps): update golang.org/x (#7590)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | golang.org/x/sync | `v0.17.0` -> `v0.18.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/sys | `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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
1935e6012b |
Fix typos and linguistic errors in documentation / hacktoberfest (#7494)
Fix typos and linguistic errors in documentation. It's not much, but I'm happy to help --------- Signed-off-by: Sebastien Dionne <survivant00@gmail.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> |
||
|
|
0c97dfd6bd |
fix(deps): update golang.org/x (#7475)
This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | |---|---|---|---|---|---| | golang.org/x/sys | `v0.36.0` -> `v0.37.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/sys | `v0.36.0` -> `v0.37.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | golang.org/x/telemetry | `4eae98a` -> `badf71c` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | digest | --- > [!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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
88d3fedf1a |
Optimize the return type of ExportSpans (#7405)
Do not allocate a return function from `ExportSpans` to the heap. Use
the added `ExportOp` type instead.
### Benchmarks
#### `stdouttrace`
```terminal
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdouttrace
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
│ main.bmark.results │ stdouttrace-optimize-end.bmark.results │
│ sec/op │ sec/op vs base │
ExporterExportSpans/Observability-8 23.37µ ± 2% 22.79µ ± 3% -2.50% (p=0.025 n=10)
ExporterExportSpans/NoObservability-8 23.07µ ± 7% 22.29µ ± 1% -3.38% (p=0.000 n=10)
geomean 23.22µ 22.54µ -2.94%
│ main.bmark.results │ stdouttrace-optimize-end.bmark.results │
│ B/op │ B/op vs base │
ExporterExportSpans/Observability-8 4.253Ki ± 0% 4.190Ki ± 0% -1.47% (p=0.000 n=10)
ExporterExportSpans/NoObservability-8 3.975Ki ± 0% 3.975Ki ± 0% ~ (p=0.474 n=10)
geomean 4.111Ki 4.081Ki -0.74%
│ main.bmark.results │ stdouttrace-optimize-end.bmark.results │
│ allocs/op │ allocs/op vs base │
ExporterExportSpans/Observability-8 67.00 ± 0% 66.00 ± 0% -1.49% (p=0.000 n=10)
ExporterExportSpans/NoObservability-8 64.00 ± 0% 64.00 ± 0% ~ (p=1.000 n=10) ¹
geomean 65.48 64.99 -0.75%
¹ all samples are equal
```
#### `stdouttrace/internal/observ`
```terminal
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/observ
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
│ main.bmark.results │ stdouttrace-optimize-end.bmark.results │
│ sec/op │ sec/op vs base │
InstrumentationExportSpans/NoError-8 197.9n ± 7% 153.3n ± 5% -22.51% (p=0.000 n=10)
InstrumentationExportSpans/PartialError-8 754.4n ± 6% 663.2n ± 6% -12.08% (p=0.001 n=10)
InstrumentationExportSpans/FullError-8 772.8n ± 4% 669.2n ± 4% -13.39% (p=0.000 n=10)
geomean 486.8n 408.3n -16.13%
│ main.bmark.results │ stdouttrace-optimize-end.bmark.results │
│ B/op │ B/op vs base │
InstrumentationExportSpans/NoError-8 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.000 n=10)
InstrumentationExportSpans/PartialError-8 280.0 ± 0% 216.0 ± 0% -22.86% (p=0.000 n=10)
InstrumentationExportSpans/FullError-8 280.0 ± 0% 216.0 ± 0% -22.86% (p=0.000 n=10)
geomean 171.2 ? ¹ ²
¹ summaries must be >0 to compute geomean
² ratios must be >0 to compute geomean
│ main.bmark.results │ stdouttrace-optimize-end.bmark.results │
│ allocs/op │ allocs/op vs base │
InstrumentationExportSpans/NoError-8 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=10)
InstrumentationExportSpans/PartialError-8 3.000 ± 0% 2.000 ± 0% -33.33% (p=0.000 n=10)
InstrumentationExportSpans/FullError-8 3.000 ± 0% 2.000 ± 0% -33.33% (p=0.000 n=10)
geomean 2.080 ? ¹ ²
¹ summaries must be >0 to compute geomean
² ratios must be >0 to compute geomean
```
|
||
|
|
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> |
||
|
|
666f95c114 |
Fix the typo in test names (#7369)
- `Observabilty` ->`Observability` |
||
|
|
7e4006aac8 |
chore: generate feature flag files from shared (#7361)
Given the observed facts, multiple components need to depend on the x package together. To reduce duplication and unify style management, this PR is added. PS: Currently only `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` is supported; other components will be supplemented after this PR is merged. --------- 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> |
||
|
|
7fdebbe3ed |
Rename Self-Observability as just Observability (#7302)
Self-Observability is a redundant term, the self being instrumented is always the self that observability is being provided for. Remove this redundancy. Continue to provide backwards compatibility for any users already using `OTEL_GO_X_SELF_OBSERVABILITY` to enable the feature. --------- Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
9b6585ae54 |
Encapsulate stdouttrace.Exporter instrumentation in internal package (#7307)
[Follow guidelines](https://github.com/open-telemetry/opentelemetry-go/blob/a5dcd68ebb2f3669f7685ac7b0f3f1624251a381/CONTRIBUTING.md#encapsulation) and move instrumentation into its own type. |
||
|
|
8ac554a28b |
fix(deps): update golang.org/x (#7320)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | golang.org/x/sync | `v0.16.0` -> `v0.17.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/sys | `v0.35.0` -> `v0.36.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:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
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) |
||
|
|
5358fd737d |
Upgrade semconv dependencies to v1.37.0 (#7260)
Resolve https://github.com/open-telemetry/opentelemetry-go/issues/7255 |
||
|
|
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> |
||
|
|
41f03302cd |
Amortize measurement option allocations (#7215)
This is not a performance critical exporter, but it is acting as the
foundation for all other self-observability work. We want to ensure
performance is considered for all this other work.
- Do not allocate the add and record measurement option slices.
- Do not allocate the `metric.attrOpt` to head when on default path
(i.e. `WithAttributeSet` or `WithAttributes`)
There are three additional allocations in the self-observability. It
appears these are added in the error scenario where we need to
dynamically build the attributes that are being recorded.
### Benchmarks
```terminal
$ benchstat main-49be00144.txt amortize-opts-stdouttrace.txt
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdouttrace
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
│ main-49be00144.txt │ amortize-opts-stdouttrace.txt │
│ sec/op │ sec/op vs base │
ExporterExportSpans/SelfObservability-8 26.89µ ± 3% 27.40µ ± 3% ~ (p=0.143 n=10)
ExporterExportSpans/NoObservability-8 25.99µ ± 3% 27.22µ ± 2% +4.76% (p=0.004 n=10)
│ main-49be00144.txt │ amortize-opts-stdouttrace.txt │
│ B/op │ B/op vs base │
ExporterExportSpans/SelfObservability-8 5.459Ki ± 0% 4.081Ki ± 0% -25.24% (p=0.000 n=10)
ExporterExportSpans/NoObservability-8 3.873Ki ± 0% 3.873Ki ± 0% ~ (p=1.000 n=10)
│ main-49be00144.txt │ amortize-opts-stdouttrace.txt │
│ allocs/op │ allocs/op vs base │
ExporterExportSpans/SelfObservability-8 80.00 ± 0% 67.00 ± 0% -16.25% (p=0.000 n=10)
ExporterExportSpans/NoObservability-8 65.00 ± 0% 65.00 ± 0% ~ (p=1.000 n=10) ¹
¹ all samples are equal
```
## Follow-up
- Investigate if the `semconv` helper packages can be updated to accept
some of this complexity (e.g. add a `AddSet` method that accepts an
`attribute.Set` instead of just `...attribute.KeyValue`).
## Alternatives
A cleaner version is found in
https://github.com/open-telemetry/opentelemetry-go/pull/7226. That
relies on an external [`bind`](https://github.com/MrAlias/bind) package
and the clean up mentioned above.
|
||
|
|
691b4b46e1 | fix: correct package import paths (#7244) | ||
|
|
4b2bef6dd9 |
[chore] Upgrade semconv pkg use to v1.36.0 (#7237)
Fix #7236 |
||
|
|
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> |
||
|
|
c2a6172739 |
feat(stdouttrace): generate counter implementation via templates (#7231)
Use templates to generate the counter implementation for `stdouttrace`, so it can be easily reused in other modules. --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> |
||
|
|
44a0d621ee |
Pool attribute slices in stdouttrace self-observability (#7201)
### Benchmarks
```terminal
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdouttrace
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
│ main.txt │ stdouttrace-pool-obs-attrs.txt │
│ sec/op │ sec/op vs base │
ExporterExportSpans-8 30.55µ ± 2% 31.76µ ± 3% +3.96% (p=0.000 n=10)
│ main.txt │ stdouttrace-pool-obs-attrs.txt │
│ B/op │ B/op vs base │
ExporterExportSpans-8 6.538Ki ± 0% 6.353Ki ± 0% -2.84% (p=0.000 n=10)
│ main.txt │ stdouttrace-pool-obs-attrs.txt │
│ allocs/op │ allocs/op vs base │
ExporterExportSpans-8 135.0 ± 0% 134.0 ± 0% -0.74% (p=0.000 n=10)
```
|
||
|
|
907d93b8e1 |
Handle partial export counts in stdouttrace observability (#7199)
Do not fail all exported metric counts if only some of them failed. |
||
|
|
3ca7996db3 |
Use t.Cleanup instead of defer in stdouttrace (#7204)
Let the testing system ensure proper cleanup ordering and execution. |
||
|
|
796aa3cc33 | Fix minor grammatical error in stdouttrace (#7202) | ||
|
|
e799586d10 |
Restructure component ID counting in stdouttrace (#7196)
Use a resettable counter so tests can have deterministic component IDs that do not depend on previous state. |
||
|
|
cdd18ab3a1 |
Fix component name for stdouttrace (#7195)
The STDOUT exporter not a standardized type. Use the [semantic convention recommendation of a "language-defined name of the type"](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/registry/attributes/otel.md#otel-component-type). |
||
|
|
ee6d57b7cf |
Flatten stdouttrace Exporter.initSelfObservability into Exporter.New (#7197)
- Do not use [side-effect programming](https://en.wikipedia.org/wiki/Side_effect_(computer_science)) to setup an exporter. Make the setup explicit, unique, and local. - Report instrument creation errors back to the user instead of passing them to `otel.Handle`. |
||
|
|
2ab7d4dc14 |
Use the context passed to ExportSpans for measurements in stdouttrace (#7198)
Without this the measurements are receiving broken context. |
||
|
|
0a834865f6 |
feat(stdouttrace): add experimental self-observability metrics (#7133)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7008 |
||
|
|
68841fa6db |
chore: enable unused-receiver rule from revive (#7130)
#### Description Enable and fixes [unused-receiver](https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#unused-receiver) rule from revive Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com> |
||
|
|
05bc453d3f | fix(deps): update golang.org/x (#7138) | ||
|
|
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> |
||
|
|
1bae8f7347 |
chore: enable extra-rules from gofumpt (#7114)
#### Description Enable extra rules from [gofumpt](https://golangci-lint.run/usage/formatters/#gofumpt) that also fixes paramTypeCombine from go-critic Also defines `go.opentelemetry.io/otel` as in https://github.com/open-telemetry/opentelemetry-go-contrib/pull/7637 Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.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> |
||
|
|
186def7c56 |
sdk/trace: self-observability: span metrics (#7027)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7003 Implement following self-observability metrics from https://github.com/open-telemetry/semantic-conventions/blob/v1.36.0/docs/otel/sdk-metrics.md for https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace: - `otel.sdk.span.live` - `otel.sdk.span.started` |
||
|
|
73b2cd39b0 |
fix(deps): update golang.org/x (#6989)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | golang.org/x/mod | `v0.25.0` -> `v0.26.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/sync | `v0.15.0` -> `v0.16.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/sys | `v0.33.0` -> `v0.34.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/text | `v0.26.0` -> `v0.27.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
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) |
||
|
|
a99f9b56ce |
sdk/log: Record.Resource to return *resource.Resource (#6864)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6863 From https://pkg.go.dev/go.opentelemetry.io/otel/sdk/resource#Resource: > Resource is an immutable object > [...] > Resources should be passed and stored as pointers (`*resource.Resource`) In all other places the exported API uses `*resource.Resource` and not `resource.Resource`. |
||
|
|
3b28a1b0bb | Upgrade semconv to 1.34.0 in exporters/stdout (#6830) | ||
|
|
261ed77ee2 | fix(deps): update module github.com/go-logr/logr to v1.4.3 (#6842) | ||
|
|
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> |
||
|
|
b64535e2df |
Retract v0.12.0 for log exporters (#6804)
Part of #6803. This needs to be released for that issue to be resolved. |
||
|
|
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) |
||
|
|
c359e91ea2 |
Fix dependencies to unreleased sdk/logtest (#6800)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6801 `sdk/log/logtest`, which is exported into its own module, is also not released. Yet the package upgrade turned it into its own version, which went unseen because the local import is using a replace statement. For some reason, this also wasn't triggered when I [checked the contrib repo](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/RELEASING.md#verify-otel-changes). I believe we need to cut 0.12.1 for those three modules. --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
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> |
||
|
|
caf4740a7d |
fix(deps): update golang.org/x (#6746)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | golang.org/x/crypto | `v0.37.0` -> `v0.38.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/net | `v0.39.0` -> `v0.40.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/sync | `v0.13.0` -> `v0.14.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/sys | `v0.32.0` -> `v0.33.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/sys | `v0.32.0` -> `v0.33.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | golang.org/x/telemetry | `06ef541` -> `f36df2b` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | digest | | golang.org/x/text | `v0.24.0` -> `v0.25.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | --- > [!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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
a58d9a5667 |
fix(deps): update golang.org/x (#6615)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | golang.org/x/sync | `v0.12.0` -> `v0.13.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/sys | `v0.31.0` -> `v0.32.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | | golang.org/x/sys | `v0.31.0` -> `v0.32.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | golang.org/x/telemetry | `97abc5d` -> `f593ada` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | digest | | golang.org/x/text | `v0.23.0` -> `v0.24.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | indirect | minor | --- > [!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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
7512a2be2e |
Add the golines golangci-lint formatter (#6513)
Ensure consistent line wrapping (<= 120 characters) within the project. |