mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2026-06-03 18:35:08 +02:00
b64535e2dfc06fc146d5c9bd2b14fb264acedcd7
998 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b64535e2df |
Retract v0.12.0 for log exporters (#6804)
Part of #6803. This needs to be released for that issue to be resolved. |
||
|
|
4c7da64bb1 | Fix broken link in changelog (#6805) | ||
|
|
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> |
||
|
|
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 |
||
|
|
2d4c9dc115 |
Add semconv/v1.32.0 (#6782)
- Add the new metric API package structure prototyped in https://github.com/MrAlias/semconv-go Prototypes of new metric API use: - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6136 - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6135 - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6134 - Generate `semconv/v1.32.0` - Drop the `kestrel` metric namespace as this is a Java specific technology ## [`v1.32.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.32.0): <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><p>📣 This release is the second release candidate for the Database Semantic Conventions, with <strong>db conventions stability planned to be declared in the subsequent release</strong>.</p> <h3>🛑 Breaking changes 🛑</h3> <ul> <li><code>device</code>: Change the definition of <code>device.id</code> and make it opt-in. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1874" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1874/hovercard">#1874</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1951" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1951/hovercard">#1951</a>)</li> <li><code>feature_flag</code>: Rename <code>evaluation</code> to <code>result</code> for feature flag evaluation result attributes (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1989" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1989/hovercard">#1989</a>)</li> </ul> <h3>🚀 New components 🚀</h3> <ul> <li><code>app</code>: Create <code>app.installation.id</code> attribute (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1874" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1874/hovercard">#1874</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1897" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1897/hovercard">#1897</a>)</li> <li><code>cpython</code>: Add CPython runtime garbage collector metrics (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1930" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1930/hovercard">#1930</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li><code>vcs</code>: Add owner and provider name to VCS attribute registry (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1452" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1452/hovercard">#1452</a>)</li> <li><code>vcs</code>: Remove fallback value for VCS provider name attribute (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2020" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2020/hovercard">#2020</a>)</li> <li><code>db</code>: Truncate <code>db.query.summary</code> to 255 characters if parsed from the query (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1978" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1978/hovercard">#1978</a>)</li> <li><code>db</code>: Normalize spaces in <code>db.operation.name</code> (if any) (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2028" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2028/hovercard">#2028</a>)</li> <li><code>db</code>: <code>db.operation.parameter.<key></code> should not be captured for batch operations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2026" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2026/hovercard">#2026</a>)</li> <li><code>db</code>: Add <code>db.stored_procedure.name</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1491" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1491/hovercard">#1491</a>)</li> <li><code>gcp</code>: Adds GCP AppHub labels for resource. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2006" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2006/hovercard">#2006</a>)</li> <li><code>error</code>: Add <code>error.message</code> property for human-readable error message on events. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1992" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1992/hovercard">#1992</a>)</li> <li><code>profile</code>: Extend the list of known frame types with a value for Go and Rust (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2003" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2003/hovercard">#2003</a>)</li> <li><code>otel</code>: Adds SDK self-monitoring metrics for log processing (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1921" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1921/hovercard">#1921</a>)</li> </ul> |
||
|
|
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 |
||
|
|
f410084b21 |
propagation: extract of multiple header values (#5973)
* Add `ValuesGetter` interface, an optional `TextMapCarrier` feature that adds `Values(string) []string`. * `HeaderCarrier` implements `ValuesGetter`. * Change `Baggage` to use the `Values()` method if it's implemented. Notable comment: https://github.com/open-telemetry/opentelemetry-go/pull/5973#discussion_r2074894706 Adds tests extracting requests with multiple 'baggage' headers set. Does not introduce any breaking changes or alter any existing tests. Spec issue: https://github.com/open-telemetry/opentelemetry-specification/issues/433 Corresponding Java prototype: https://github.com/open-telemetry/opentelemetry-java/pull/6852 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: dmathieu <42@dmathieu.com> |
||
|
|
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 |
||
|
|
5cd1611cda |
otlptracehttp: Add WithHTTPClient option (#6751)
Follows https://github.com/open-telemetry/opentelemetry-go/pull/6688 Towards (for OTLP trace exporter): - https://github.com/open-telemetry/opentelemetry-go/issues/4536 - https://github.com/open-telemetry/opentelemetry-go/issues/5129 - https://github.com/open-telemetry/opentelemetry-go/issues/2632 |
||
|
|
b66542529a |
otlpmetrichttp: Add WithHTTPClient option (#6752)
Follows https://github.com/open-telemetry/opentelemetry-go/pull/6688 Towards (for OTLP metric exporter): - https://github.com/open-telemetry/opentelemetry-go/issues/4536 - https://github.com/open-telemetry/opentelemetry-go/issues/5129 - https://github.com/open-telemetry/opentelemetry-go/issues/2632 |
||
|
|
cf8179a373 |
otlploghttp: Add WithHTTPClient option (#6688)
Towards (for OTLP logs exporter): - https://github.com/open-telemetry/opentelemetry-go/issues/4536 - https://github.com/open-telemetry/opentelemetry-go/issues/5129 - https://github.com/open-telemetry/opentelemetry-go/issues/2632 Per https://github.com/open-telemetry/opentelemetry-go/pull/6362/files#r1978191352 Providing `WithHTTPClient` option allows easy interoperability e.g. with https://pkg.go.dev/golang.org/x/oauth2/clientcredentials#Config.Client and also see https://github.com/open-telemetry/opentelemetry-go/issues/2632. The options is also similar to: https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc#WithGRPCConn I favor this over https://github.com/open-telemetry/opentelemetry-go/pull/6686 The option for OTLP span and metrics exporters will be added in separate PRs. |
||
|
|
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 |
||
|
|
a6e302fa86 |
sdk/log: remove unnecessary b.q.Len() call (#6641)
Addresses https://github.com/open-telemetry/opentelemetry-go/pull/6569#discussion_r2037896972 |
||
|
|
a5abd88e1d |
Optimize Logs SDK BatchProcessor (#6569)
Towards: https://github.com/open-telemetry/opentelemetry-go/issues/6382 This PR optimizes Logs SDK BatchProcessor. ## Why? <!-- was i so blind --> Batch processor does not check if buffer exporter is full, instead it clones records to buffer, then tries to push them to buffer exporter, and then buffer exporter will return false from EnqueueExport if it is full. It does not cause any performance issues when using NOOP exporter, because it "exports" instantly. -> Buffer exporter input channel will almost never be full. But actual implementations of exporters are not going to act that way, they need some time for export operation. And so buffer exporter will get full fairly frequently. Each export attempt to buffer exporter costs us copying entire queue inside of batch processor. In order to catch this or similar performance bottleneck in the future, new benchmark (`BatchSimulateExport`) was added which will use exporter that will simulate non-instant export by sleeping for 5ms. ## Benchmarks ```sh goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/log cpu: AMD Ryzen 9 7900X 12-Core Processor │ base.txt │ new.txt │ │ sec/op │ sec/op vs base │ Processor/Simple-24 340.9n ± 2% 343.5n ± 5% ~ (p=0.971 n=10) Processor/Batch-24 667.6n ± 2% 666.3n ± 4% ~ (p=0.896 n=10) Processor/BatchSimulateExport-24 4441.5n ± 5% 526.4n ± 4% -88.15% (p=0.000 n=10) Processor/SetTimestampSimple-24 360.0n ± 4% 351.0n ± 1% ~ (p=0.247 n=10) Processor/SetTimestampBatch-24 669.8n ± 3% 647.0n ± 5% ~ (p=0.052 n=10) Processor/AddAttributesSimple-24 383.9n ± 1% 386.6n ± 5% ~ (p=0.138 n=10) Processor/AddAttributesBatch-24 759.9n ± 6% 734.5n ± 5% ~ (p=0.481 n=10) Processor/SetAttributesSimple-24 369.9n ± 2% 372.4n ± 3% ~ (p=0.643 n=10) Processor/SetAttributesBatch-24 684.2n ± 4% 674.0n ± 8% ~ (p=0.529 n=10) geomean 639.9n 499.9n -21.88% │ base.txt │ new.txt │ │ B/op │ B/op vs base │ Processor/Simple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/Batch-24 1.153Ki ± 2% 1.125Ki ± 1% -2.41% (p=0.001 n=10) Processor/BatchSimulateExport-24 649.0 ± 1% 473.0 ± 0% -27.12% (p=0.000 n=10) Processor/SetTimestampSimple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetTimestampBatch-24 1.145Ki ± 2% 1.122Ki ± 2% -2.01% (p=0.003 n=10) Processor/AddAttributesSimple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/AddAttributesBatch-24 1.169Ki ± 2% 1.148Ki ± 1% -1.80% (p=0.000 n=10) Processor/SetAttributesSimple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetAttributesBatch-24 1.141Ki ± 2% 1.128Ki ± 2% -1.11% (p=0.030 n=10) geomean 719.3 688.7 -4.24% ¹ all samples are equal │ base.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ Processor/Simple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/Batch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/BatchSimulateExport-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetTimestampSimple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetTimestampBatch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/AddAttributesSimple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/AddAttributesBatch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetAttributesSimple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetAttributesBatch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ geomean 1.000 1.000 +0.00% ¹ all samples are equal ``` ## Benchmarks from issue (external) ```sh goos: linux goarch: amd64 pkg: github.com/pellared/spanevents-vs-logs cpu: AMD Ryzen 9 7900X 12-Core Processor │ spanevents.txt │ logs.base.txt │ logs.new.txt │ │ sec/op │ sec/op vs base │ sec/op vs base │ /OTLP-24 41.40µ ± 3% 2935.15µ ± 9% +6989.05% (p=0.000 n=10) 84.19µ ± 4% +103.34% (p=0.000 n=10) /STDOUT-24 39.55µ ± 4% 623.45µ ± 1% +1476.21% (p=0.000 n=10) 89.51µ ± 3% +126.29% (p=0.000 n=10) /NOOP-24 13.179µ ± 2% 4.950µ ± 1% -62.44% (p=0.000 n=10) 4.932µ ± 1% -62.58% (p=0.000 n=10) geomean 27.84µ 208.4µ +648.68% 33.37µ +19.86% │ spanevents.txt │ logs.base.txt │ logs.new.txt │ │ B/op │ B/op vs base │ B/op vs base │ /OTLP-24 98.90Ki ± 8% 210.44Ki ± 0% +112.79% (p=0.000 n=10) 52.01Ki ± 0% -47.41% (p=0.000 n=10) /STDOUT-24 91.01Ki ± 0% 286.62Ki ± 0% +214.93% (p=0.000 n=10) 81.67Ki ± 1% -10.27% (p=0.000 n=10) /NOOP-24 29840.0 ± 0% 240.0 ± 0% -99.20% (p=0.000 n=10) 240.0 ± 0% -99.20% (p=0.000 n=10) geomean 64.01Ki 24.18Ki -62.23% 9.985Ki -84.40% │ spanevents.txt │ logs.base.txt │ logs.new.txt │ │ allocs/op │ allocs/op vs base │ allocs/op vs base │ /OTLP-24 699.0 ± 20% 2174.5 ± 1% +211.09% (p=0.000 n=10) 249.5 ± 1% -64.31% (p=0.000 n=10) /STDOUT-24 646.5 ± 1% 4912.5 ± 0% +659.86% (p=0.000 n=10) 872.5 ± 2% +34.96% (p=0.000 n=10) /NOOP-24 303.000 ± 0% 3.000 ± 0% -99.01% (p=0.000 n=10) 3.000 ± 0% -99.01% (p=0.000 n=10) geomean 515.4 317.6 -38.37% 86.76 -83.17% ``` ```sh goos: linux goarch: amd64 pkg: github.com/pellared/spanevents-vs-logs cpu: AMD Ryzen 9 7900X 12-Core Processor │ logs.base.txt │ logs.new.txt │ │ sec/op │ sec/op vs base │ /OTLP-24 2935.15µ ± 9% 84.19µ ± 4% -97.13% (p=0.000 n=10) /STDOUT-24 623.45µ ± 1% 89.51µ ± 3% -85.64% (p=0.000 n=10) /NOOP-24 4.950µ ± 1% 4.932µ ± 1% ~ (p=0.342 n=10) geomean 208.4µ 33.37µ -83.99% │ logs.base.txt │ logs.new.txt │ │ B/op │ B/op vs base │ /OTLP-24 210.44Ki ± 0% 52.01Ki ± 0% -75.28% (p=0.000 n=10) /STDOUT-24 286.62Ki ± 0% 81.67Ki ± 1% -71.51% (p=0.000 n=10) /NOOP-24 240.0 ± 0% 240.0 ± 0% ~ (p=1.000 n=10) ¹ geomean 24.18Ki 9.985Ki -58.70% ¹ all samples are equal │ logs.base.txt │ logs.new.txt │ │ allocs/op │ allocs/op vs base │ /OTLP-24 2174.5 ± 1% 249.5 ± 1% -88.53% (p=0.000 n=10) /STDOUT-24 4912.5 ± 0% 872.5 ± 2% -82.24% (p=0.000 n=10) /NOOP-24 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹ geomean 317.6 86.76 -72.69% ¹ all samples are equal ``` --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
9d8b6161dd |
Remove prometheus legacy validation warning (#6590)
I have been chatting with @bwplotka, who wouldn't recommend removing the support for the legacy scheme now. Indeed, some system don't support the new scheme yet (such as cortex). So removing this will entirely prevent those users form upgrading their SDK. They are going to remove the deprecation from the legacy method on common, at least until the new scheme can be used in enough systems. --------- Co-authored-by: Sam Xie <sam@samxie.me> |
||
|
|
75973eccbf |
exporters: prometheus: add exponential (native) histogram support (#6421)
Almost closes 5777. Adding native (exponential) histogram support to the Prometheus exporter. I tested it with a toy program, and the result looks good. I added a unit test. --------- Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com> Co-authored-by: Sam Xie <sam@samxie.me> |
||
|
|
905684c58a |
Ignore deprecation warnings about NameValidationScheme (#6449)
In 0.63.0, prometheus deprecates the `model.NameValidationScheme` attribute. https://github.com/open-telemetry/opentelemetry-go/actions/runs/13885046847/job/38848614767?pr=6442 > Error: exporter_test.go:478:6: SA1019: model.NameValidationScheme is deprecated: This variable should not be used and might be removed in the far future. If you wish to stick to the legacy name validation use `IsValidLegacyMetricName()` and `LabelName.IsValidLegacy()` methods instead. This variable is here as an escape hatch for emergency cases, given the recent change from `LegacyValidation` to `UTF8Validation`, e.g., to delay UTF-8 migrations in time or aid in debugging unforeseen results of the change. In such a case, a temporary assignment to `LegacyValidation` value in the `init()` function in your main.go or so, could be considered. (staticcheck) We probably want to keep supporting this scheme in the near future though. So this ignores those deprecations, so we can upgrade the package. Unblocks https://github.com/open-telemetry/opentelemetry-go/pull/6442 |
||
|
|
95e5bbab98 |
Generate v1.31.0 semconv (#6479)
- Generate `semconv/v1.31.0` - Stop generating deprecated metric semconv similar to all other generation - Fix acronyms: - `ReplicationController` - `ResourceQuota` ## [`v1.31.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.31.0): <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>code</code>: <code>code.function.name</code> value should contain the fully qualified function name, <code>code.namespace</code> is now deprecated (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1677" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1677/hovercard">#1677</a>)</p> </li> <li> <p><code>gen-ai</code>: Introduce <code>gen_ai.output.type</code>and deprecate <code>gen_ai.openai.request.response_format</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1757" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1757/hovercard">#1757</a>)</p> </li> <li> <p><code>mobile</code>: Rework <code>device.app.lifecycle</code> mobile event. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1880" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1880/hovercard">#1880</a>)<br> The <code>device.app.lifecycle</code> event has been reworked to use attributes instead<br> of event body fields. The <code>ios.app.state</code> and <code>android.app.state</code> attributes<br> have been reintroduced to the attribute registry.</p> </li> <li> <p><code>system</code>: Move CPU-related system.cpu.* metrics to CPU namespace (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1873" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1873/hovercard">#1873</a>)</p> </li> <li> <p><code>k8s</code>: Change k8s.replication_controller metrics to k8s.replicationcontroller (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1848" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1848/hovercard">#1848</a>)</p> </li> <li> <p><code>db</code>: Rename <code>db.system</code> to <code>db.system.name</code> in database metrics, and update the values to be consistent with database spans. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1581" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1581/hovercard">#1581</a>)</p> </li> <li> <p><code>session</code>: Move <code>session.id</code> and <code>session.previous_id</code> from body fields to event attributes, and yamlize <code>session.start</code> and <code>session.end</code> events. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1845" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1845/hovercard">#1845</a>)<br> As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, the <code>session.start</code> and <code>session.end</code> events have been redefined.</p> </li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>code</code>: Mark <code>code.*</code> semantic conventions as release candidate (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1377" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1377/hovercard">#1377</a>)</p> </li> <li> <p><code>gen-ai</code>: Added AI Agent Semantic Convention (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1732" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1732/hovercard">#1732</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1739" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1739/hovercard">#1739</a>)</p> </li> <li> <p><code>db</code>: Add database-specific notes on db.operation.name and db.collection.name for Cassandra, Cosmos DB, HBase, MongoDB, and Redis, covering their batch/bulk terms and lack of cross-table queries. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1863" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1863/hovercard">#1863</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1573" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1573/hovercard">#1573</a>)</p> </li> <li> <p><code>gen-ai</code>: Adds <code>gen_ai.request.choice.count</code> span attribute (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1888" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1888/hovercard">#1888</a>)<br> Enables recording target number of completions to generate</p> </li> <li> <p><code>enduser</code>: Undeprecate 'enduser.id' and introduce new attribute <code>enduser.pseudo.id</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1104" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1104/hovercard">#1104</a>)<br> The new attribute <code>enduser.pseudo.id</code> is intended to provide a unique identifier of a pseudonymous enduser.</p> </li> <li> <p><code>k8s</code>: Add <code>k8s.hpa</code>, <code>k8s.resourcequota</code> and <code>k8s.replicationcontroller</code> attributes and resources (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1656" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1656/hovercard">#1656</a>)</p> </li> <li> <p><code>k8s</code>: How to populate resource attributes based on attributes, labels and transformation (<a href="https://github.com/open-telemetry/semantic-conventions/issues/236" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/236/hovercard">#236</a>)</p> </li> <li> <p><code>process</code>: Adjust the semantic expectations for <code>process.executable.name</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1736" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1736/hovercard">#1736</a>)</p> </li> <li> <p><code>otel</code>: Adds SDK self-monitoring metrics for span processing (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1631" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1631/hovercard">#1631</a>)</p> </li> <li> <p><code>cicd</code>: Adds a new attribute <code>cicd.pipeline.run.url.full</code> and corrects the attribute description of <code>cicd.pipeline.task.run.url.full</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1796" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1796/hovercard">#1796</a>)</p> </li> <li> <p><code>user-agent</code>: Add <code>user_agent.os.name</code> and <code>user_agent.os.version</code> attributes (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1433" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1433/hovercard">#1433</a>)</p> </li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>process</code>: Fix units of process.open_file_descriptor.count and process.context_switches (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1662" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1662/hovercard">#1662</a>)</li> </ul> --------- Co-authored-by: Robert Pająk <pellared@hotmail.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. |
||
|
|
84ff4da7ab |
sdk/log: remove EnabledParameters.Resource (#6494)
Per https://github.com/open-telemetry/opentelemetry-specification/pull/4439#discussion_r1980165954 |
||
|
|
f39f16c6ca |
sdk/log/logtest: new module (#6466)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6378 |
||
|
|
f556bd3211 |
prometheus: use a sync.Pool instead of allocating metricdata.ResourceMetrics in Collect (#6472)
Fix #3047 Use a `sync.Pool` instead of allocating `metricdata.ResourceMetrics` in `go.opentelemetry.io/otel/exporters/prometheus` ```shell goos: darwin goarch: arm64 pkg: go.opentelemetry.io/otel/exporters/prometheus cpu: Apple M3 │ before.txt │ after.txt │ │ sec/op │ sec/op vs base │ Collect1-8 8.273µ ± 0% 8.013µ ± 5% ~ (p=0.065 n=6) Collect10-8 23.84µ ± 0% 22.40µ ± 3% -6.02% (p=0.002 n=6) Collect100-8 148.0µ ± 0% 139.4µ ± 0% -5.84% (p=0.002 n=6) Collect1000-8 1.326m ± 0% 1.244m ± 1% -6.14% (p=0.002 n=6) Collect10000-8 15.90m ± 1% 14.51m ± 1% -8.77% (p=0.002 n=6) geomean 227.9µ 214.3µ -6.00% │ before.txt │ after.txt │ │ B/op │ B/op vs base │ Collect1-8 35.65Ki ± 0% 34.49Ki ± 0% -3.24% (p=0.002 n=6) Collect10-8 55.78Ki ± 0% 45.57Ki ± 0% -18.31% (p=0.002 n=6) Collect100-8 260.8Ki ± 0% 174.1Ki ± 0% -33.23% (p=0.002 n=6) Collect1000-8 2.307Mi ± 0% 1.537Mi ± 1% -33.38% (p=0.002 n=6) Collect10000-8 22.47Mi ± 0% 14.75Mi ± 4% -34.36% (p=0.002 n=6) geomean 489.8Ki 365.3Ki -25.42% │ before.txt │ after.txt │ │ allocs/op │ allocs/op vs base │ Collect1-8 72.00 ± 0% 66.00 ± 0% -8.33% (p=0.002 n=6) Collect10-8 398.0 ± 0% 375.0 ± 0% -5.78% (p=0.002 n=6) Collect100-8 3.662k ± 0% 3.491k ± 0% -4.67% (p=0.002 n=6) Collect1000-8 36.15k ± 0% 34.62k ± 0% -4.24% (p=0.002 n=6) Collect10000-8 361.0k ± 0% 345.7k ± 0% -4.25% (p=0.002 n=6) geomean 4.239k 4.008k -5.47% ``` |
||
|
|
1b8fe16bea |
log/logtest: new module (#6465)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/6378 |
||
|
|
90a9d1d936 |
Do not inline noopSpan.tracerProvider (#6456)
Currently, the `noopSpan.tracerProvider` is inlined into `noopSpan.TracerProvider` for binaries built with standard tooling. This function is needed in the ELF file for auto-instrumentation. Ensure this, and the other required methods are always kept isolated. cc @open-telemetry/go-instrumentation-approvers --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
8dc08e26b4 |
attribute: preallocate map in NewAllowKeysFilter and NewDenyKeysFilter (#6455)
preallocate map in `NewAllowKeysFilter` and `NewDenyKeysFilter` to avoid necessary allocations |
||
|
|
921e0e679e |
chore(deps): update github.com/prometheus/client_golang to v1.21.1 (#6433)
There are changes in how testutil.GatherAndCompare behaves in tests, this PR updates the testcases and bumps the `github.com/prometheus/client_golang` dependency to `v1.21.1` Signed-off-by: ajatprabha <ajat.prabha.leo@gmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
efe325aa95 |
Stop percent-encoding the header environment variables in otlplog exporters (#6392)
Bugfixes for #5623 Based on the conversation https://github.com/open-telemetry/opentelemetry-go/issues/5623#issuecomment-2331089315, only OTLP log exporters need bugfixes. --------- Co-authored-by: Damien Mathieu <42@dmathieu.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
838643a3a5 |
Bump Go version for schema (#6418)
Fix https://github.com/open-telemetry/opentelemetry-go/actions/runs/13696022593/job/38298512564 > * schema/go.mod#L0C0:0: As of Go 1.21, toolchain versions [must use the 1.N.P syntax](https://go.dev/doc/> toolchain#version). > > `1.22` in `schema/go.mod` does not match this syntax and there is no additional `toolchain` directive, which may cause some `go` commands to fail. |
||
|
|
09ff8b107a | Drop support for Go 1.22 (#6381) | ||
|
|
5ba5e7a449 |
Release v1.35.0/v0.57.0/v0.11.0 (#6407)
## Overview This release is the last to support [Go 1.22]. The next release will require at least [Go 1.23]. ### Added - Add `ValueFromAttribute` and `KeyValueFromAttribute` in `go.opentelemetry.io/otel/log`. (#6180) - Add `EventName` and `SetEventName` to `Record` in `go.opentelemetry.io/otel/log`. (#6187) - Add `EventName` to `RecordFactory` in `go.opentelemetry.io/otel/log/logtest`. (#6187) - `AssertRecordEqual` in `go.opentelemetry.io/otel/log/logtest` checks `Record.EventName`. (#6187) - Add `EventName` and `SetEventName` to `Record` in `go.opentelemetry.io/otel/sdk/log`. (#6193) - Add `EventName` to `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`. (#6193) - Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#6211) - Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6211) - Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog` (#6210) - The `go.opentelemetry.io/otel/semconv/v1.28.0` package. The package contains semantic conventions from the `v1.28.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.28.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.27.0`(#6236) - The `go.opentelemetry.io/otel/semconv/v1.30.0` package. The package contains semantic conventions from the `v1.30.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.30.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.28.0`(#6240) - Document the pitfalls of using `Resource` as a comparable type. `Resource.Equal` and `Resource.Equivalent` should be used instead. (#6272) - Support [Go 1.24]. (#6304) - Add `FilterProcessor` and `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. It replaces `go.opentelemetry.io/otel/sdk/log/internal/x.FilterProcessor`. Compared to previous version it additionally gives the possibility to filter by resource and instrumentation scope. (#6317) ### Changed - Update `github.com/prometheus/common` to v0.62.0., which changes the `NameValidationScheme` to `NoEscaping`. This allows metrics names to keep original delimiters (e.g. `.`), rather than replacing with underscores. This is controlled by the `Content-Type` header, or can be reverted by setting `NameValidationScheme` to `LegacyValidation` in `github.com/prometheus/common/model`. (#6198) ### Fixes - Eliminate goroutine leak for the processor returned by `NewSimpleSpanProcessor` when `Shutdown` is called and the passed `ctx` is canceled and `SpanExporter.Shutdown` has not returned. (#6368) - Eliminate goroutine leak for the processor returned by `NewBatchSpanProcessor` when `ForceFlush` is called and the passed `ctx` is canceled and `SpanExporter.Export` has not returned. (#6369) [Go 1.23]: https://go.dev/doc/go1.23 [Go 1.22]: https://go.dev/doc/go1.22 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> |
||
|
|
9be18c14cb |
sdk/trace: Fix gorountine leak in batchSpanProcessor.ForceFlush (#6369)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6360 Per https://github.com/open-telemetry/opentelemetry-go/issues/6360#issuecomment-2678080742: > So I'd fix this issue with the first proposed solution, and open an issue to change the behavior in a separate PR. ``` $ go test -run=TestBatchSpanProcessorForceFlushTimeout -count=1000 PASS ok go.opentelemetry.io/otel/sdk/trace 1.701s $ go test -run=TestBatchSpanProcessorForceFlushTimeout -count=1000 -race PASS ok go.opentelemetry.io/otel/sdk/trace 4.056s ``` @peterbourgon, thank you for your contribution 🏅 |
||
|
|
44d50457d9 |
sdk/trace: Fix goroutine leak in simpleSpanProcessor.Shutdown (#6368)
Side-effect when working towards https://github.com/open-telemetry/opentelemetry-go/issues/6360 - Fix goroutine leaks from tests in places where batch processor was not shut down - Fix goroutine leak in simpleSpanProcessor.Shutdown |
||
|
|
1ee7c79b73 |
sdk/log: Add FilterProcessor and EnabledParameters (#6317)
Per https://github.com/open-telemetry/opentelemetry-go/pull/6271#issuecomment-2657554647 > We agreed that we can move `FilterProcessor` directly to `sdk/log` as Logs SDK does not look to be stabilized soon. - Add the possibility to filter based on the resource and scope which is available for the SDK. The scope information is the most important as it gives the possibility to e.g. filter out logs emitted for a given logger. Thus e.g. https://github.com/open-telemetry/opentelemetry-specification/issues/4364 is not necessary. See https://github.com/open-telemetry/opentelemetry-specification/pull/4290#discussion_r1927546170 for more context. - It is going be an example for https://github.com/open-telemetry/opentelemetry-specification/issues/4363 There is a little overhead (IMO totally acceptable) because of data transformation. Most importantly, there is no new heap allocation. ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/log cpu: 13th Gen Intel(R) Core(TM) i7-13800H │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ LoggerEnabled-20 4.589n ± 1% 319.750n ± 16% +6867.75% (p=0.000 n=10) │ old.txt │ new.txt │ │ B/op │ B/op vs base │ LoggerEnabled-20 0.000Ki ± 0% 1.093Ki ± 13% ? (p=0.000 n=10) │ old.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ LoggerEnabled-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ¹ all samples are equal ``` `Logger.Enabled` is still more efficient than `Logger.Emit` (benchmarks from https://github.com/open-telemetry/opentelemetry-go/pull/6315). ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/log cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkLoggerEmit/5_attributes-20 559934 2391 ns/op 39088 B/op 1 allocs/op BenchmarkLoggerEmit/10_attributes-20 1000000 5910 ns/op 49483 B/op 5 allocs/op BenchmarkLoggerEnabled-20 1605697 968.7 ns/op 1272 B/op 0 allocs/op PASS ok go.opentelemetry.io/otel/sdk/log 10.789s ``` Prior art: - https://github.com/open-telemetry/opentelemetry-go/pull/6271 - https://github.com/open-telemetry/opentelemetry-go/pull/6286 I also created for tracking purposes: - https://github.com/open-telemetry/opentelemetry-go/issues/6328 |
||
|
|
44ea53bad8 |
Add support for Go 1.24 (#6304)
Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
3c1286a9ea |
Document and check resource comparability (#6272)
Ensure backwards compatibility by adding a compile-time check that the Resource remains comparable. Document the shortcomings of direct comparison of a Resource. --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
fa5a782c57 |
Generate semconv/v1.30.0 (#6240)
Resolve #6227 Generates the v1.30.0 version of semantic conventions in the added go.opentelemetry.io/otel/semconv/v1.30.0 package. Note: `v1.29.0` is skipped (https://github.com/open-telemetry/opentelemetry-go/issues/6228) ## Key differences from `v1.28.0` ### Deprecated and dropped in `v1.30.0` - `CodeColumn` - `CodeColumnKey` - `CodeFunction` - `CodeFunctionKey` - `DBCassandraConsistencyLevelAll` - `DBCassandraConsistencyLevelAny` - `DBCassandraConsistencyLevelEachQuorum` - `DBCassandraConsistencyLevelKey` - `DBCassandraConsistencyLevelLocalOne` - `DBCassandraConsistencyLevelLocalQuorum` - `DBCassandraConsistencyLevelLocalSerial` - `DBCassandraConsistencyLevelOne` - `DBCassandraConsistencyLevelQuorum` - `DBCassandraConsistencyLevelSerial` - `DBCassandraConsistencyLevelThree` - `DBCassandraConsistencyLevelTwo` - `DBCassandraCoordinatorDC` - `DBCassandraCoordinatorDCKey` - `DBCassandraCoordinatorID` - `DBCassandraCoordinatorIDKey` - `DBCassandraIdempotence` - `DBCassandraIdempotenceKey` - `DBCassandraPageSize` - `DBCassandraPageSizeKey` - `DBCassandraSpeculativeExecutionCount` - `DBCassandraSpeculativeExecutionCountKey` - `DBCosmosDBClientID` - `DBCosmosDBClientIDKey` - `DBCosmosDBConnectionModeDirect` - `DBCosmosDBConnectionModeGateway` - `DBCosmosDBConnectionModeKey` - `DBCosmosDBOperationTypeBatch` - `DBCosmosDBOperationTypeCreate` - `DBCosmosDBOperationTypeDelete` - `DBCosmosDBOperationTypeExecute` - `DBCosmosDBOperationTypeExecuteJavascript` - `DBCosmosDBOperationTypeHead` - `DBCosmosDBOperationTypeHeadFeed` - `DBCosmosDBOperationTypeInvalid` - `DBCosmosDBOperationTypeKey` - `DBCosmosDBOperationTypePatch` - `DBCosmosDBOperationTypeQuery` - `DBCosmosDBOperationTypeQueryPlan` - `DBCosmosDBOperationTypeRead` - `DBCosmosDBOperationTypeReadFeed` - `DBCosmosDBOperationTypeReplace` - `DBCosmosDBOperationTypeUpsert` - `DBCosmosDBRequestCharge` - `DBCosmosDBRequestChargeKey` - `DBCosmosDBRequestContentLength` - `DBCosmosDBRequestContentLengthKey` - `DBCosmosDBSubStatusCode` - `DBCosmosDBSubStatusCodeKey` - `DBElasticsearchNodeName` - `DBElasticsearchNodeNameKey` - `DBSystemAdabas` - `DBSystemCache` - `DBSystemCassandra` - `DBSystemClickhouse` - `DBSystemCloudscape` - `DBSystemCockroachdb` - `DBSystemColdfusion` - `DBSystemCosmosDB` - `DBSystemCouchDB` - `DBSystemCouchbase` - `DBSystemDb2` - `DBSystemDerby` - `DBSystemDynamoDB` - `DBSystemEDB` - `DBSystemElasticsearch` - `DBSystemFilemaker` - `DBSystemFirebird` - `DBSystemFirstSQL` - `DBSystemGeode` - `DBSystemH2` - `DBSystemHBase` - `DBSystemHSQLDB` - `DBSystemHanaDB` - `DBSystemHive` - `DBSystemInfluxdb` - `DBSystemInformix` - `DBSystemIngres` - `DBSystemInstantDB` - `DBSystemInterbase` - `DBSystemIntersystemsCache` - `DBSystemKey` - `DBSystemMSSQL` - `DBSystemMariaDB` - `DBSystemMaxDB` - `DBSystemMemcached` - `DBSystemMongoDB` - `DBSystemMssqlcompact` - `DBSystemMySQL` - `DBSystemNeo4j` - `DBSystemNetezza` - `DBSystemOpensearch` - `DBSystemOracle` - `DBSystemOtherSQL` - `DBSystemPervasive` - `DBSystemPointbase` - `DBSystemPostgreSQL` - `DBSystemProgress` - `DBSystemRedis` - `DBSystemRedshift` - `DBSystemSpanner` - `DBSystemSqlite` - `DBSystemSybase` - `DBSystemTeradata` - `DBSystemTrino` - `DBSystemVertica` - `EventName` - `EventNameKey` - `ExceptionEscaped` - `ExceptionEscapedKey` - `GenAIOpenaiRequestSeed` - `GenAIOpenaiRequestSeedKey` - `ProcessExecutableBuildIDProfiling` - `ProcessExecutableBuildIDProfilingKey` - `SystemNetworkStateClose` - `SystemNetworkStateCloseWait` - `SystemNetworkStateClosing` - `SystemNetworkStateDelete` - `SystemNetworkStateEstablished` - `SystemNetworkStateFinWait1` - `SystemNetworkStateFinWait2` - `SystemNetworkStateKey` - `SystemNetworkStateLastAck` - `SystemNetworkStateListen` - `SystemNetworkStateSynRecv` - `SystemNetworkStateSynSent` - `SystemNetworkStateTimeWait` - `VCSRepositoryChangeID` - `VCSRepositoryChangeIDKey` - `VCSRepositoryChangeTitle` - `VCSRepositoryChangeTitleKey` - `VCSRepositoryRefName` - `VCSRepositoryRefNameKey` - `VCSRepositoryRefRevision` - `VCSRepositoryRefRevisionKey` - `VCSRepositoryRefTypeBranch` - `VCSRepositoryRefTypeKey` - `VCSRepositoryRefTypeTag` ### Added in `v1.30.0` - `AWSExtendedRequestID` - `AWSExtendedRequestIDKey` - `AzureClientID` - `AzureClientIDKey` - `AzureCosmosDBClientActiveInstanceCountDescription` - `AzureCosmosDBClientActiveInstanceCountName` - `AzureCosmosDBClientActiveInstanceCountUnit` - `AzureCosmosDBClientOperationRequestChargeDescription` - `AzureCosmosDBClientOperationRequestChargeName` - `AzureCosmosDBClientOperationRequestChargeUnit` - `AzureCosmosDBConnectionModeDirect` - `AzureCosmosDBConnectionModeGateway` - `AzureCosmosDBConnectionModeKey` - `AzureCosmosDBConsistencyLevelBoundedStaleness` - `AzureCosmosDBConsistencyLevelConsistentPrefix` - `AzureCosmosDBConsistencyLevelEventual` - `AzureCosmosDBConsistencyLevelKey` - `AzureCosmosDBConsistencyLevelSession` - `AzureCosmosDBConsistencyLevelStrong` - `AzureCosmosDBOperationContactedRegions` - `AzureCosmosDBOperationContactedRegionsKey` - `AzureCosmosDBOperationRequestCharge` - `AzureCosmosDBOperationRequestChargeKey` - `AzureCosmosDBRequestBodySize` - `AzureCosmosDBRequestBodySizeKey` - `AzureCosmosDBResponseSubStatusCode` - `AzureCosmosDBResponseSubStatusCodeKey` - `CICDPipelineResultCancellation` - `CICDPipelineResultError` - `CICDPipelineResultFailure` - `CICDPipelineResultKey` - `CICDPipelineResultSkip` - `CICDPipelineResultSuccess` - `CICDPipelineResultTimeout` - `CICDPipelineRunActiveDescription` - `CICDPipelineRunActiveName` - `CICDPipelineRunActiveUnit` - `CICDPipelineRunDurationDescription` - `CICDPipelineRunDurationName` - `CICDPipelineRunDurationUnit` - `CICDPipelineRunErrorsDescription` - `CICDPipelineRunErrorsName` - `CICDPipelineRunErrorsUnit` - `CICDPipelineRunStateExecuting` - `CICDPipelineRunStateFinalizing` - `CICDPipelineRunStateKey` - `CICDPipelineRunStatePending` - `CICDSystemComponent` - `CICDSystemComponentKey` - `CICDSystemErrorsDescription` - `CICDSystemErrorsName` - `CICDSystemErrorsUnit` - `CICDWorkerCountDescription` - `CICDWorkerCountName` - `CICDWorkerCountUnit` - `CICDWorkerStateAvailable` - `CICDWorkerStateBusy` - `CICDWorkerStateKey` - `CICDWorkerStateOffline` - `CassandraConsistencyLevelAll` - `CassandraConsistencyLevelAny` - `CassandraConsistencyLevelEachQuorum` - `CassandraConsistencyLevelKey` - `CassandraConsistencyLevelLocalOne` - `CassandraConsistencyLevelLocalQuorum` - `CassandraConsistencyLevelLocalSerial` - `CassandraConsistencyLevelOne` - `CassandraConsistencyLevelQuorum` - `CassandraConsistencyLevelSerial` - `CassandraConsistencyLevelThree` - `CassandraConsistencyLevelTwo` - `CassandraCoordinatorDC` - `CassandraCoordinatorDCKey` - `CassandraCoordinatorID` - `CassandraCoordinatorIDKey` - `CassandraPageSize` - `CassandraPageSizeKey` - `CassandraQueryIdempotent` - `CassandraQueryIdempotentKey` - `CassandraSpeculativeExecutionCount` - `CassandraSpeculativeExecutionCountKey` - `CloudPlatformOracleCloudCompute` - `CloudPlatformOracleCloudOke` - `CloudProviderOracleCloud` - `CodeColumnNumber` - `CodeColumnNumberKey` - `CodeFunctionName` - `CodeFunctionNameKey` - `ContainerUptimeDescription` - `ContainerUptimeName` - `ContainerUptimeUnit` - `DBClientCosmosDBActiveInstanceCountDescription` - `DBClientCosmosDBActiveInstanceCountName` - `DBClientCosmosDBActiveInstanceCountUnit` - `DBClientCosmosDBOperationRequestChargeDescription` - `DBClientCosmosDBOperationRequestChargeName` - `DBClientCosmosDBOperationRequestChargeUnit` - `DBClientResponseReturnedRowsDescription` - `DBClientResponseReturnedRowsName` - `DBClientResponseReturnedRowsUnit` - `DBQuerySummary` - `DBQuerySummaryKey` - `DBResponseReturnedRows` - `DBResponseReturnedRowsKey` - `DBSystemNameAWSDynamoDB` - `DBSystemNameAWSRedshift` - `DBSystemNameActianIngres` - `DBSystemNameAzureCosmosDB` - `DBSystemNameCassandra` - `DBSystemNameClickhouse` - `DBSystemNameCockroachdb` - `DBSystemNameCouchDB` - `DBSystemNameCouchbase` - `DBSystemNameDerby` - `DBSystemNameElasticsearch` - `DBSystemNameFirebirdsql` - `DBSystemNameGCPSpanner` - `DBSystemNameGeode` - `DBSystemNameH2database` - `DBSystemNameHBase` - `DBSystemNameHSQLDB` - `DBSystemNameHive` - `DBSystemNameIbmDb2` - `DBSystemNameIbmInformix` - `DBSystemNameIbmNetezza` - `DBSystemNameInfluxdb` - `DBSystemNameInstantDB` - `DBSystemNameIntersystemsCache` - `DBSystemNameKey` - `DBSystemNameMariaDB` - `DBSystemNameMemcached` - `DBSystemNameMicrosoftSQLServer` - `DBSystemNameMongoDB` - `DBSystemNameMySQL` - `DBSystemNameNeo4j` - `DBSystemNameOpensearch` - `DBSystemNameOracleDB` - `DBSystemNameOtherSQL` - `DBSystemNamePostgreSQL` - `DBSystemNameRedis` - `DBSystemNameSapHana` - `DBSystemNameSapMaxDB` - `DBSystemNameSoftwareagAdabas` - `DBSystemNameSqlite` - `DBSystemNameTeradata` - `DBSystemNameTrino` - `ElasticsearchNodeName` - `ElasticsearchNodeNameKey` - `FeatureFlagContextID` - `FeatureFlagContextIDKey` - `FeatureFlagEvaluationErrorMessage` - `FeatureFlagEvaluationErrorMessageKey` - `FeatureFlagEvaluationReasonCached` - `FeatureFlagEvaluationReasonDefault` - `FeatureFlagEvaluationReasonDisabled` - `FeatureFlagEvaluationReasonError` - `FeatureFlagEvaluationReasonKey` - `FeatureFlagEvaluationReasonSplit` - `FeatureFlagEvaluationReasonStale` - `FeatureFlagEvaluationReasonStatic` - `FeatureFlagEvaluationReasonTargetingMatch` - `FeatureFlagEvaluationReasonUnknown` - `FeatureFlagSetID` - `FeatureFlagSetIDKey` - `FeatureFlagVersion` - `FeatureFlagVersionKey` - `GenAIOpenaiResponseSystemFingerprint` - `GenAIOpenaiResponseSystemFingerprintKey` - `GenAIOperationNameEmbeddings` - `GenAIRequestEncodingFormats` - `GenAIRequestEncodingFormatsKey` - `GenAIRequestSeed` - `GenAIRequestSeedKey` - `GenAISystemAWSBedrock` - `GenAISystemAzAIInference` - `GenAISystemAzAIOpenai` - `GenAISystemDeepseek` - `GenAISystemGemini` - `GenAISystemGroq` - `GenAISystemIbmWatsonxAI` - `GenAISystemMistralAI` - `GenAISystemPerplexity` - `GenAISystemXai` - `GeoContinentCodeAf` - `GeoContinentCodeAn` - `GeoContinentCodeAs` - `GeoContinentCodeEu` - `GeoContinentCodeKey` - `GeoContinentCodeNa` - `GeoContinentCodeOc` - `GeoContinentCodeSa` - `GeoCountryIsoCode` - `GeoCountryIsoCodeKey` - `GeoLocalityName` - `GeoLocalityNameKey` - `GeoLocationLat` - `GeoLocationLatKey` - `GeoLocationLon` - `GeoLocationLonKey` - `GeoPostalCode` - `GeoPostalCodeKey` - `GeoRegionIsoCode` - `GeoRegionIsoCodeKey` - `K8SCronJobActiveJobsDescription` - `K8SCronJobActiveJobsName` - `K8SCronJobActiveJobsUnit` - `K8SDaemonSetCurrentScheduledNodesDescription` - `K8SDaemonSetCurrentScheduledNodesName` - `K8SDaemonSetCurrentScheduledNodesUnit` - `K8SDaemonSetDesiredScheduledNodesDescription` - `K8SDaemonSetDesiredScheduledNodesName` - `K8SDaemonSetDesiredScheduledNodesUnit` - `K8SDaemonSetMisscheduledNodesDescription` - `K8SDaemonSetMisscheduledNodesName` - `K8SDaemonSetMisscheduledNodesUnit` - `K8SDaemonSetReadyNodesDescription` - `K8SDaemonSetReadyNodesName` - `K8SDaemonSetReadyNodesUnit` - `K8SDeploymentAvailablePodsDescription` - `K8SDeploymentAvailablePodsName` - `K8SDeploymentAvailablePodsUnit` - `K8SDeploymentDesiredPodsDescription` - `K8SDeploymentDesiredPodsName` - `K8SDeploymentDesiredPodsUnit` - `K8SHpaCurrentPodsDescription` - `K8SHpaCurrentPodsName` - `K8SHpaCurrentPodsUnit` - `K8SHpaDesiredPodsDescription` - `K8SHpaDesiredPodsName` - `K8SHpaDesiredPodsUnit` - `K8SHpaMaxPodsDescription` - `K8SHpaMaxPodsName` - `K8SHpaMaxPodsUnit` - `K8SHpaMinPodsDescription` - `K8SHpaMinPodsName` - `K8SHpaMinPodsUnit` - `K8SJobActivePodsDescription` - `K8SJobActivePodsName` - `K8SJobActivePodsUnit` - `K8SJobDesiredSuccessfulPodsDescription` - `K8SJobDesiredSuccessfulPodsName` - `K8SJobDesiredSuccessfulPodsUnit` - `K8SJobFailedPodsDescription` - `K8SJobFailedPodsName` - `K8SJobFailedPodsUnit` - `K8SJobMaxParallelPodsDescription` - `K8SJobMaxParallelPodsName` - `K8SJobMaxParallelPodsUnit` - `K8SJobSuccessfulPodsDescription` - `K8SJobSuccessfulPodsName` - `K8SJobSuccessfulPodsUnit` - `K8SNamespacePhaseActive` - `K8SNamespacePhaseDescription` - `K8SNamespacePhaseKey` - `K8SNamespacePhaseName` - `K8SNamespacePhaseTerminating` - `K8SNamespacePhaseUnit` - `K8SNodeNetworkErrorsDescription` - `K8SNodeNetworkErrorsName` - `K8SNodeNetworkErrorsUnit` - `K8SNodeNetworkIoDescription` - `K8SNodeNetworkIoName` - `K8SNodeNetworkIoUnit` - `K8SNodeUptimeDescription` - `K8SNodeUptimeName` - `K8SNodeUptimeUnit` - `K8SPodNetworkErrorsDescription` - `K8SPodNetworkErrorsName` - `K8SPodNetworkErrorsUnit` - `K8SPodNetworkIoDescription` - `K8SPodNetworkIoName` - `K8SPodNetworkIoUnit` - `K8SPodUptimeDescription` - `K8SPodUptimeName` - `K8SPodUptimeUnit` - `K8SReplicaSetAvailablePodsDescription` - `K8SReplicaSetAvailablePodsName` - `K8SReplicaSetAvailablePodsUnit` - `K8SReplicaSetDesiredPodsDescription` - `K8SReplicaSetDesiredPodsName` - `K8SReplicaSetDesiredPodsUnit` - `K8SReplicationControllerAvailablePodsDescription` - `K8SReplicationControllerAvailablePodsName` - `K8SReplicationControllerAvailablePodsUnit` - `K8SReplicationControllerDesiredPodsDescription` - `K8SReplicationControllerDesiredPodsName` - `K8SReplicationControllerDesiredPodsUnit` - `K8SStatefulSetCurrentPodsDescription` - `K8SStatefulSetCurrentPodsName` - `K8SStatefulSetCurrentPodsUnit` - `K8SStatefulSetDesiredPodsDescription` - `K8SStatefulSetDesiredPodsName` - `K8SStatefulSetDesiredPodsUnit` - `K8SStatefulSetReadyPodsDescription` - `K8SStatefulSetReadyPodsName` - `K8SStatefulSetReadyPodsUnit` - `K8SStatefulSetUpdatedPodsDescription` - `K8SStatefulSetUpdatedPodsName` - `K8SStatefulSetUpdatedPodsUnit` - `NetworkConnectionStateCloseWait` - `NetworkConnectionStateClosed` - `NetworkConnectionStateClosing` - `NetworkConnectionStateEstablished` - `NetworkConnectionStateFinWait1` - `NetworkConnectionStateFinWait2` - `NetworkConnectionStateKey` - `NetworkConnectionStateLastAck` - `NetworkConnectionStateListen` - `NetworkConnectionStateSynReceived` - `NetworkConnectionStateSynSent` - `NetworkConnectionStateTimeWait` - `NetworkInterfaceName` - `NetworkInterfaceNameKey` - `ProcessExecutableBuildIDHtlhash` - `ProcessExecutableBuildIDHtlhashKey` - `ProcessLinuxCgroup` - `ProcessLinuxCgroupKey` - `ProfileFrameTypeBeam` - `SecurityRuleCategory` - `SecurityRuleCategoryKey` - `SecurityRuleDescription` - `SecurityRuleDescriptionKey` - `SecurityRuleLicense` - `SecurityRuleLicenseKey` - `SecurityRuleName` - `SecurityRuleNameKey` - `SecurityRuleReference` - `SecurityRuleReferenceKey` - `SecurityRuleRulesetName` - `SecurityRuleRulesetNameKey` - `SecurityRuleUUID` - `SecurityRuleUUIDKey` - `SecurityRuleVersion` - `SecurityRuleVersionKey` - `SystemUptimeDescription` - `SystemUptimeName` - `SystemUptimeUnit` - `UserAgentSyntheticTypeBot` - `UserAgentSyntheticTypeKey` - `UserAgentSyntheticTypeTest` - `VCSChangeCountDescription` - `VCSChangeCountName` - `VCSChangeCountUnit` - `VCSChangeDurationDescription` - `VCSChangeDurationName` - `VCSChangeDurationUnit` - `VCSChangeID` - `VCSChangeIDKey` - `VCSChangeStateClosed` - `VCSChangeStateKey` - `VCSChangeStateMerged` - `VCSChangeStateOpen` - `VCSChangeStateWip` - `VCSChangeTimeToApprovalDescription` - `VCSChangeTimeToApprovalName` - `VCSChangeTimeToApprovalUnit` - `VCSChangeTimeToMergeDescription` - `VCSChangeTimeToMergeName` - `VCSChangeTimeToMergeUnit` - `VCSChangeTitle` - `VCSChangeTitleKey` - `VCSContributorCountDescription` - `VCSContributorCountName` - `VCSContributorCountUnit` - `VCSLineChangeTypeAdded` - `VCSLineChangeTypeKey` - `VCSLineChangeTypeRemoved` - `VCSRefBaseName` - `VCSRefBaseNameKey` - `VCSRefBaseRevision` - `VCSRefBaseRevisionKey` - `VCSRefBaseTypeBranch` - `VCSRefBaseTypeKey` - `VCSRefBaseTypeTag` - `VCSRefCountDescription` - `VCSRefCountName` - `VCSRefCountUnit` - `VCSRefHeadName` - `VCSRefHeadNameKey` - `VCSRefHeadRevision` - `VCSRefHeadRevisionKey` - `VCSRefHeadTypeBranch` - `VCSRefHeadTypeKey` - `VCSRefHeadTypeTag` - `VCSRefLinesDeltaDescription` - `VCSRefLinesDeltaName` - `VCSRefLinesDeltaUnit` - `VCSRefRevisionsDeltaDescription` - `VCSRefRevisionsDeltaName` - `VCSRefRevisionsDeltaUnit` - `VCSRefTimeDescription` - `VCSRefTimeName` - `VCSRefTimeUnit` - `VCSRefTypeBranch` - `VCSRefTypeKey` - `VCSRefTypeTag` - `VCSRepositoryCountDescription` - `VCSRepositoryCountName` - `VCSRepositoryCountUnit` - `VCSRepositoryName` - `VCSRepositoryNameKey` - `VCSRevisionDeltaDirectionAhead` - `VCSRevisionDeltaDirectionBehind` - `VCSRevisionDeltaDirectionKey` |
||
|
|
27aaa7aacb |
Generate the semconv/v1.28.0 package (#6236)
Resolve #6226 Generates the `v1.28.0` version of semantic conventions in the added `go.opentelemetry.io/otel/semconv/v1.28.0` package. ## Key differences from `v1.27.0` ### Added to `v1.28.0` - `AzNamespace` - `AzNamespaceKey` - `CloudfoundryAppID` - `CloudfoundryAppIDKey` - `CloudfoundryAppInstanceID` - `CloudfoundryAppInstanceIDKey` - `CloudfoundryAppName` - `CloudfoundryAppNameKey` - `CloudfoundryOrgID` - `CloudfoundryOrgIDKey` - `CloudfoundryOrgName` - `CloudfoundryOrgNameKey` - `CloudfoundryProcessID` - `CloudfoundryProcessIDKey` - `CloudfoundryProcessType` - `CloudfoundryProcessTypeKey` - `CloudfoundrySpaceID` - `CloudfoundrySpaceIDKey` - `CloudfoundrySpaceName` - `CloudfoundrySpaceNameKey` - `CloudfoundrySystemID` - `CloudfoundrySystemIDKey` - `CloudfoundrySystemInstanceID` - `CloudfoundrySystemInstanceIDKey` - `ContainerCPUUsageDescription` - `ContainerCPUUsageName` - `ContainerCPUUsageUnit` - `ContainerCsiPluginName` - `ContainerCsiPluginNameKey` - `ContainerCsiVolumeID` - `ContainerCsiVolumeIDKey` - `DBResponseStatusCode` - `DBResponseStatusCodeKey` - `FileAccessed` - `FileAccessedKey` - `FileAttributes` - `FileAttributesKey` - `FileChanged` - `FileChangedKey` - `FileCreated` - `FileCreatedKey` - `FileForkName` - `FileForkNameKey` - `FileGroupID` - `FileGroupIDKey` - `FileGroupName` - `FileGroupNameKey` - `FileInode` - `FileInodeKey` - `FileMode` - `FileModeKey` - `FileModified` - `FileModifiedKey` - `FileOwnerID` - `FileOwnerIDKey` - `FileOwnerName` - `FileOwnerNameKey` - `FileSymbolicLinkTargetPath` - `FileSymbolicLinkTargetPathKey` - `GenAIOpenaiRequestResponseFormatJSONObject` - `GenAIOpenaiRequestResponseFormatJSONSchema` - `GenAIOpenaiRequestResponseFormatKey` - `GenAIOpenaiRequestResponseFormatText` - `GenAIOpenaiRequestSeed` - `GenAIOpenaiRequestSeedKey` - `GenAIOpenaiRequestServiceTierAuto` - `GenAIOpenaiRequestServiceTierDefault` - `GenAIOpenaiRequestServiceTierKey` - `GenAIOpenaiResponseServiceTier` - `GenAIOpenaiResponseServiceTierKey` - `HwEnergyDescription` - `HwEnergyName` - `HwEnergyUnit` - `HwErrorsDescription` - `HwErrorsName` - `HwErrorsUnit` - `HwID` - `HwIDKey` - `HwName` - `HwNameKey` - `HwParent` - `HwParentKey` - `HwPowerDescription` - `HwPowerName` - `HwPowerUnit` - `HwStateDegraded` - `HwStateFailed` - `HwStateKey` - `HwStateOk` - `HwStatusDescription` - `HwStatusName` - `HwStatusUnit` - `HwTypeBattery` - `HwTypeCPU` - `HwTypeDiskController` - `HwTypeEnclosure` - `HwTypeFan` - `HwTypeGpu` - `HwTypeKey` - `HwTypeLogicalDisk` - `HwTypeMemory` - `HwTypeNetwork` - `HwTypePhysicalDisk` - `HwTypePowerSupply` - `HwTypeTapeDrive` - `HwTypeTemperature` - `HwTypeVoltage` - `K8SNodeCPUTimeDescription` - `K8SNodeCPUTimeName` - `K8SNodeCPUTimeUnit` - `K8SNodeCPUUsageDescription` - `K8SNodeCPUUsageName` - `K8SNodeCPUUsageUnit` - `K8SNodeMemoryUsageDescription` - `K8SNodeMemoryUsageName` - `K8SNodeMemoryUsageUnit` - `K8SPodCPUTimeDescription` - `K8SPodCPUTimeName` - `K8SPodCPUTimeUnit` - `K8SPodCPUUsageDescription` - `K8SPodCPUUsageName` - `K8SPodCPUUsageUnit` - `K8SPodMemoryUsageDescription` - `K8SPodMemoryUsageName` - `K8SPodMemoryUsageUnit` - `K8SVolumeName` - `K8SVolumeNameKey` - `K8SVolumeTypeConfigMap` - `K8SVolumeTypeDownwardAPI` - `K8SVolumeTypeEmptyDir` - `K8SVolumeTypeKey` - `K8SVolumeTypeLocal` - `K8SVolumeTypePersistentVolumeClaim` - `K8SVolumeTypeSecret` - `MessagingClientSentMessagesDescription` - `MessagingClientSentMessagesName` - `MessagingClientSentMessagesUnit` - `MessagingOperationTypeSend` - `ProcessArgsCount` - `ProcessArgsCountKey` - `ProcessExecutableBuildIDGnu` - `ProcessExecutableBuildIDGnuKey` - `ProcessExecutableBuildIDGo` - `ProcessExecutableBuildIDGoKey` - `ProcessExecutableBuildIDProfiling` - `ProcessExecutableBuildIDProfilingKey` - `ProcessTitle` - `ProcessTitleKey` - `ProcessUptimeDescription` - `ProcessUptimeName` - `ProcessUptimeUnit` - `ProcessWorkingDirectory` - `ProcessWorkingDirectoryKey` - `ProfileFrameTypeCpython` - `ProfileFrameTypeDotnet` - `ProfileFrameTypeJVM` - `ProfileFrameTypeKernel` - `ProfileFrameTypeKey` - `ProfileFrameTypeNative` - `ProfileFrameTypePHP` - `ProfileFrameTypePerl` - `ProfileFrameTypeRuby` - `ProfileFrameTypeV8JS` - `SystemDiskLimitDescription` - `SystemDiskLimitName` - `SystemDiskLimitUnit` - `SystemFilesystemLimitDescription` - `SystemFilesystemLimitName` - `SystemFilesystemLimitUnit` - `SystemFilesystemUsageDescription` ### Dropped deprecations - `AndroidStateBackground` - `AndroidStateCreated` - `AndroidStateForeground` - `AndroidStateKey` - `DBCosmosDBStatusCode` - `DBCosmosDBStatusCodeKey` - `GenAICompletion` - `GenAICompletionKey` - `GenAIPrompt` - `GenAIPromptKey` ### Dropping the `aspnetcore` namespace - `ASPNETCoreDiagnosticsExceptionResultAborted` - `ASPNETCoreDiagnosticsExceptionResultHandled` - `ASPNETCoreDiagnosticsExceptionResultKey` - `ASPNETCoreDiagnosticsExceptionResultSkipped` - `ASPNETCoreDiagnosticsExceptionResultUnhandled` - `ASPNETCoreDiagnosticsHandlerType` - `ASPNETCoreDiagnosticsHandlerTypeKey` - `ASPNETCoreRateLimitingPolicy` - `ASPNETCoreRateLimitingPolicyKey` - `ASPNETCoreRateLimitingResultAcquired` - `ASPNETCoreRateLimitingResultEndpointLimiter` - `ASPNETCoreRateLimitingResultGlobalLimiter` - `ASPNETCoreRateLimitingResultKey` - `ASPNETCoreRateLimitingResultRequestCanceled` - `ASPNETCoreRequestIsUnhandled` - `ASPNETCoreRequestIsUnhandledKey` - `ASPNETCoreRoutingIsFallback` - `ASPNETCoreRoutingIsFallbackKey` - `ASPNETCoreRoutingMatchStatusFailure` - `ASPNETCoreRoutingMatchStatusKey` - `ASPNETCoreRoutingMatchStatusSuccess` - `AspnetcoreDiagnosticsExceptionsDescription` - `AspnetcoreDiagnosticsExceptionsName` - `AspnetcoreDiagnosticsExceptionsUnit` - `AspnetcoreRateLimitingActiveRequestLeasesDescription` - `AspnetcoreRateLimitingActiveRequestLeasesName` - `AspnetcoreRateLimitingActiveRequestLeasesUnit` - `AspnetcoreRateLimitingQueuedRequestsDescription` - `AspnetcoreRateLimitingQueuedRequestsName` - `AspnetcoreRateLimitingQueuedRequestsUnit` - `AspnetcoreRateLimitingRequestLeaseDurationDescription` - `AspnetcoreRateLimitingRequestLeaseDurationName` - `AspnetcoreRateLimitingRequestLeaseDurationUnit` - `AspnetcoreRateLimitingRequestTimeInQueueDescription` - `AspnetcoreRateLimitingRequestTimeInQueueName` - `AspnetcoreRateLimitingRequestTimeInQueueUnit` - `AspnetcoreRateLimitingRequestsDescription` - `AspnetcoreRateLimitingRequestsName` - `AspnetcoreRateLimitingRequestsUnit` - `AspnetcoreRoutingMatchAttemptsDescription` - `AspnetcoreRoutingMatchAttemptsName` - `AspnetcoreRoutingMatchAttemptsUnit` ### Dropping the `jvm` namespace - `JVMBufferPoolName` - `JVMBufferPoolNameKey` - `JVMGCAction` - `JVMGCActionKey` - `JVMGCName` - `JVMGCNameKey` - `JVMMemoryPoolName` - `JVMMemoryPoolNameKey` - `JVMMemoryTypeHeap` - `JVMMemoryTypeKey` - `JVMMemoryTypeNonHeap` - `JVMThreadDaemon` - `JVMThreadDaemonKey` - `JVMThreadStateBlocked` - `JVMThreadStateKey` - `JVMThreadStateNew` - `JVMThreadStateRunnable` - `JVMThreadStateTerminated` - `JVMThreadStateTimedWaiting` - `JVMThreadStateWaiting` - `JvmBufferCountDescription` - `JvmBufferCountName` - `JvmBufferCountUnit` - `JvmBufferMemoryLimitDescription` - `JvmBufferMemoryLimitName` - `JvmBufferMemoryLimitUnit` - `JvmBufferMemoryUsageDescription` - `JvmBufferMemoryUsageName` - `JvmBufferMemoryUsageUnit` - `JvmBufferMemoryUsedDescription` - `JvmBufferMemoryUsedName` - `JvmBufferMemoryUsedUnit` - `JvmCPUCountDescription` - `JvmCPUCountName` - `JvmCPUCountUnit` - `JvmCPURecentUtilizationDescription` - `JvmCPURecentUtilizationName` - `JvmCPURecentUtilizationUnit` - `JvmCPUTimeDescription` - `JvmCPUTimeName` - `JvmCPUTimeUnit` - `JvmClassCountDescription` - `JvmClassCountName` - `JvmClassCountUnit` - `JvmClassLoadedDescription` - `JvmClassLoadedName` - `JvmClassLoadedUnit` - `JvmClassUnloadedDescription` - `JvmClassUnloadedName` - `JvmClassUnloadedUnit` - `JvmGcDurationDescription` - `JvmGcDurationName` - `JvmGcDurationUnit` - `JvmMemoryCommittedDescription` - `JvmMemoryCommittedName` - `JvmMemoryCommittedUnit` - `JvmMemoryInitDescription` - `JvmMemoryInitName` - `JvmMemoryInitUnit` - `JvmMemoryLimitDescription` - `JvmMemoryLimitName` - `JvmMemoryLimitUnit` - `JvmMemoryUsedAfterLastGcDescription` - `JvmMemoryUsedAfterLastGcName` - `JvmMemoryUsedAfterLastGcUnit` - `JvmMemoryUsedDescription` - `JvmMemoryUsedName` - `JvmMemoryUsedUnit` - `JvmSystemCPULoad1mDescription` - `JvmSystemCPULoad1mName` - `JvmSystemCPULoad1mUnit` - `JvmSystemCPUUtilizationDescription` - `JvmSystemCPUUtilizationName` - `JvmSystemCPUUtilizationUnit` - `JvmThreadCountDescription` - `JvmThreadCountName` - `JvmThreadCountUnit` ### Dropping the `nodejs` namespace - `NodejsEventloopDelayMaxDescription` - `NodejsEventloopDelayMaxName` - `NodejsEventloopDelayMaxUnit` - `NodejsEventloopDelayMeanDescription` - `NodejsEventloopDelayMeanName` - `NodejsEventloopDelayMeanUnit` - `NodejsEventloopDelayMinDescription` - `NodejsEventloopDelayMinName` - `NodejsEventloopDelayMinUnit` - `NodejsEventloopDelayP50Description` - `NodejsEventloopDelayP50Name` - `NodejsEventloopDelayP50Unit` - `NodejsEventloopDelayP90Description` - `NodejsEventloopDelayP90Name` - `NodejsEventloopDelayP90Unit` - `NodejsEventloopDelayP99Description` - `NodejsEventloopDelayP99Name` - `NodejsEventloopDelayP99Unit` - `NodejsEventloopDelayStddevDescription` - `NodejsEventloopDelayStddevName` - `NodejsEventloopDelayStddevUnit` - `NodejsEventloopUtilizationDescription` - `NodejsEventloopUtilizationName` - `NodejsEventloopUtilizationUnit` ### Dropping the `v8js` namespace - `V8JSGCTypeIncremental` - `V8JSGCTypeKey` - `V8JSGCTypeMajor` - `V8JSGCTypeMinor` - `V8JSGCTypeWeakcb` - `V8JSHeapSpaceNameCodeSpace` - `V8JSHeapSpaceNameKey` - `V8JSHeapSpaceNameLargeObjectSpace` - `V8JSHeapSpaceNameMapSpace` - `V8JSHeapSpaceNameNewSpace` - `V8JSHeapSpaceNameOldSpace` - `V8jsGcDurationDescription` - `V8jsGcDurationName` - `V8jsGcDurationUnit` - `V8jsHeapSpaceAvailableSizeDescription` - `V8jsHeapSpaceAvailableSizeName` - `V8jsHeapSpaceAvailableSizeUnit` - `V8jsHeapSpacePhysicalSizeDescription` - `V8jsHeapSpacePhysicalSizeName` - `V8jsHeapSpacePhysicalSizeUnit` - `V8jsMemoryHeapLimitDescription` - `V8jsMemoryHeapLimitName` - `V8jsMemoryHeapLimitUnit` - `V8jsMemoryHeapUsedDescription` - `V8jsMemoryHeapUsedName` - `V8jsMemoryHeapUsedUnit` ### Fixed Acronyms/Initialisms - `DB2` -> `Db2` ([this is the industry usage](https://www.ibm.com/db2)) - `Ai` -> `AI` - `Gc` -> `GC` | `v1.28.0` | `v1.27.0` | | --- | --- | | DBSystemDb2 | DBSystemDB2| | GenAIClientOperationDurationDescription | GenAiClientOperationDurationDescription| | GenAIClientOperationDurationName | GenAiClientOperationDurationName| | GenAIClientOperationDurationUnit | GenAiClientOperationDurationUnit| | GenAIClientTokenUsageDescription | GenAiClientTokenUsageDescription| | GenAIClientTokenUsageName | GenAiClientTokenUsageName| | GenAIClientTokenUsageUnit | GenAiClientTokenUsageUnit| | GenAIServerRequestDurationDescription | GenAiServerRequestDurationDescription| | GenAIServerRequestDurationName | GenAiServerRequestDurationName| | GenAIServerRequestDurationUnit | GenAiServerRequestDurationUnit| | GenAIServerTimePerOutputTokenDescription | GenAiServerTimePerOutputTokenDescription| | GenAIServerTimePerOutputTokenName | GenAiServerTimePerOutputTokenName| | GenAIServerTimePerOutputTokenUnit | GenAiServerTimePerOutputTokenUnit| | GenAIServerTimeToFirstTokenDescription | GenAiServerTimeToFirstTokenDescription| | GenAIServerTimeToFirstTokenName | GenAiServerTimeToFirstTokenName| | GenAIServerTimeToFirstTokenUnit | GenAiServerTimeToFirstTokenUnit| | GoMemoryGCGoalDescription | GoMemoryGcGoalDescription| | GoMemoryGCGoalName | GoMemoryGcGoalName| | GoMemoryGCGoalUnit | GoMemoryGcGoalUnit| ## Build notes ### Skip the `dotnet` namespace The [`dotnet` namespace is added in `v1.28.0`](https://github.com/open-telemetry/semantic-conventions/tree/v1.28.0/model/dotnet). None of the semantic conventions for this namespace are generated. ### Required semantic convention changes Related to https://github.com/open-telemetry/weaver/issues/584, this was not generated with a direct copy of the [semantic-conventions repository](https://github.com/open-telemetry/semantic-conventions) checked-out at `v1.28.0`. The latest (v0.12.0) version of `weaver` does not work with that version of semantic-conventions. The semantic-conventions repository was updated using the following command first: ``` $ rm model/{telemetry/resources-experimental.yaml,service/resources-experimental.yaml,feature-flag/events.yaml} ``` This removes name conflicts. These name conflicts are for things we are not generating, but the still block the generation tooling when it first validates the semantic-conventions. |
||
|
|
d10a36beba |
stdoutlog: Emit Record.EventName field (#6210)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6192 |
||
|
|
ae7ac48ebf |
otlplog: Emit Record.EventName field (#6211)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6185 |
||
|
|
0c9714820e |
Update module github.com/prometheus/common to v0.62.0 and fix tests (#6198)
Supersedes https://github.com/open-telemetry/opentelemetry-go/pull/6171 The update to prometheus/common changes the default escaping scheme to NoEscaping. Use of underscores vs original UTF-8 is still determined by content negotiation. |
||
|
|
62e4225a42 |
sdk/log: Add EventName (#6193)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6183 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6184 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6181 Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6018 |
||
|
|
185547c846 |
log: Add EventName (#6187)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6182 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6184 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6181 Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6018 |
||
|
|
d7ebb7aa85 |
log: Add ValueFromAttribute and KeyValueFromAttribute (#6180)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6158 Related spec PR: https://github.com/open-telemetry/opentelemetry-specification/pull/4373 Benchmark results: ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/log cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkKeyValueFromAttribute/Empty-20 72029505 16.47 ns/op 0 B/op 0 allocs/op BenchmarkKeyValueFromAttribute/Bool-20 68560222 16.99 ns/op 0 B/op 0 allocs/op BenchmarkKeyValueFromAttribute/BoolSlice-20 14647401 76.21 ns/op 50 B/op 2 allocs/op BenchmarkKeyValueFromAttribute/Int64-20 70737378 16.92 ns/op 0 B/op 0 allocs/op BenchmarkKeyValueFromAttribute/Int64Slice-20 16780069 96.87 ns/op 64 B/op 2 allocs/op BenchmarkKeyValueFromAttribute/Float64-20 59299638 16.93 ns/op 0 B/op 0 allocs/op BenchmarkKeyValueFromAttribute/Float64Slice-20 12691222 106.2 ns/op 64 B/op 2 allocs/op BenchmarkKeyValueFromAttribute/String-20 63837711 16.97 ns/op 0 B/op 0 allocs/op BenchmarkKeyValueFromAttribute/StringSlice-20 9251001 114.7 ns/op 80 B/op 2 allocs/op PASS ok go.opentelemetry.io/otel/log 14.776s ``` |
||
|
|
edc378fa8d |
Release v1.34.0/v0.56.0/v0.10.0 (#6174)
## Overview ### Changed - Remove the notices from `Logger` to make the whole Logs API user-facing in `go.opentelemetry.io/otel/log`. (#6167) ### Fixed - Relax minimum Go version to 1.22.0 in various modules. (#6073) - The `Type` name logged for the `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` client is corrected from `otlphttpgrpc` to `otlptracegrpc`. (#6143) - The `Type` name logged for the `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlphttpgrpc` client is corrected from `otlphttphttp` to `otlptracehttp`. (#6143) |
||
|
|
e18299f7b7 |
log: Make whole Logs API user-facing (#6167)
Reason: https://github.com/open-telemetry/opentelemetry-specification/pull/4352 Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6018 Support for `EventName` field will be added in separate PRs. |
||
|
|
64838d6aa6 |
Fix otlptrace client types (#6143)
Use the correct package name. |
||
|
|
0b00bfb105 |
Minimum go version dependency downgraded back to 1.22.0 in various packages (#6073)
This is pulling in a change to opentelemetry-proto-go that allows us to set the minimum go version back down to 1.22.0. This depends on https://github.com/open-telemetry/opentelemetry-proto-go/pull/224 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/5969 --------- Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
278fb8b291 |
[chore] Move the changelog guard (#6100)
Something missed in the last release. |