Skip to content

Conversation

@MrAlias
Copy link
Contributor

@MrAlias MrAlias commented Mar 20, 2025

  • 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:

🛑 Breaking changes 🛑

  • code: code.function.name value should contain the fully qualified function name, code.namespace is now deprecated (#1677)

  • gen-ai: Introduce gen_ai.output.typeand deprecate gen_ai.openai.request.response_format (#1757)

  • mobile: Rework device.app.lifecycle mobile event. (#1880)
    The device.app.lifecycle event has been reworked to use attributes instead
    of event body fields. The ios.app.state and android.app.state attributes
    have been reintroduced to the attribute registry.

  • system: Move CPU-related system.cpu.* metrics to CPU namespace (#1873)

  • k8s: Change k8s.replication_controller metrics to k8s.replicationcontroller (#1848)

  • db: Rename db.system to db.system.name in database metrics, and update the values to be consistent with database spans. (#1581)

  • session: Move session.id and session.previous_id from body fields to event attributes, and yamlize session.start and session.end events. (#1845)
    As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, the session.start and session.end events have been redefined.

💡 Enhancements 💡

  • code: Mark code.* semantic conventions as release candidate (#1377)

  • gen-ai: Added AI Agent Semantic Convention (#1732, #1739)

  • db: 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. (#1863, #1573)

  • gen-ai: Adds gen_ai.request.choice.count span attribute (#1888)
    Enables recording target number of completions to generate

  • enduser: Undeprecate 'enduser.id' and introduce new attribute enduser.pseudo.id (#1104)
    The new attribute enduser.pseudo.id is intended to provide a unique identifier of a pseudonymous enduser.

  • k8s: Add k8s.hpa, k8s.resourcequota and k8s.replicationcontroller attributes and resources (#1656)

  • k8s: How to populate resource attributes based on attributes, labels and transformation (#236)

  • process: Adjust the semantic expectations for process.executable.name (#1736)

  • otel: Adds SDK self-monitoring metrics for span processing (#1631)

  • cicd: Adds a new attribute cicd.pipeline.run.url.full and corrects the attribute description of cicd.pipeline.task.run.url.full (#1796)

  • user-agent: Add user_agent.os.name and user_agent.os.version attributes (#1433)

🧰 Bug fixes 🧰

  • process: Fix units of process.open_file_descriptor.count and process.context_switches (#1662)

@MrAlias

This comment was marked as resolved.

@MrAlias MrAlias force-pushed the semconv-1.31.0 branch 2 times, most recently from 91f7e2b to 67d55e4 Compare March 21, 2025 15:59
MrAlias added 4 commits March 21, 2025 09:00
Correct capitalization of ResourceQuota and ReplicationController.
@MrAlias MrAlias marked this pull request as ready for review March 24, 2025 19:54
@pellared pellared merged commit 95e5bba into open-telemetry:main Mar 26, 2025
30 checks passed
@MrAlias MrAlias added this to the v1.36.0 milestone Mar 27, 2025
dmathieu added a commit that referenced this pull request May 21, 2025
# Overview

Closes #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 <[email protected]>
Co-authored-by: Robert Pająk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants