prometheus: handle schema URL and scope attributes#4505
Merged
carlosalberto merged 14 commits intoopen-telemetry:mainfrom Jun 5, 2025
Merged
prometheus: handle schema URL and scope attributes#4505carlosalberto merged 14 commits intoopen-telemetry:mainfrom
carlosalberto merged 14 commits intoopen-telemetry:mainfrom
Conversation
Member
Author
|
@open-telemetry/prometheus-interoperability, @jade-guiton-dd, @aknuds1, @ywwg: PTAL |
Co-authored-by: Jade Guiton <jade.guiton@datadoghq.com>
lmolkova
reviewed
May 13, 2025
ArthurSens
reviewed
May 14, 2025
dashpole
reviewed
May 16, 2025
ringerc
reviewed
May 20, 2025
dashpole
approved these changes
May 22, 2025
Contributor
dashpole
left a comment
There was a problem hiding this comment.
I'm OK with cleaning up configuration options in a separate PR.
ArthurSens
approved these changes
May 27, 2025
Member
ArthurSens
left a comment
There was a problem hiding this comment.
LGTM, thanks for the help and guidance on this work :)
carlosalberto
approved these changes
Jun 3, 2025
jsuereth
approved these changes
Jun 3, 2025
lmolkova
approved these changes
Jun 3, 2025
Member
Author
|
@carlosalberto, here is the PR that is supposed to fix the hyperlinks: #4542 |
Merged
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Jun 12, 2025
### Metrics - Prometheus receiver can expect `otel_scope_schema_url` and `otel_scope_[attribute]` labels on all metrics. ([#4505](#4505)) - Prometheus receiver no longer expects `otel_scope_info` metric. ([#4505](#4505)) - Prometheus exporter adds `otel_scope_schema_url` and `otel_scope_[attribute]` labels on all metrics. ([#4505](#4505)) - Prometheus exporter no longer exports `otel_scope_info` metric. ([#4505](#4505)) ### Entities - Define rules for setting identifying attributes. ([#4498](#4498)) - Define rules for entity-resource referencing model. ([#4499](#4499)) ### Common - Move Instrumentation Scope definition from glossary to a dedicated document and use normative language. ([#4488](#4488))
github-merge-queue Bot
pushed a commit
to jaegertracing/jaeger
that referenced
this pull request
Apr 10, 2026
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/open-telemetry/opentelemetry-collector-contrib/cmd/schemagen](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | | [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.148.0` → `v0.149.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/5586) for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/cmd/schemagen)</summary> ### [`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0) ##### 🛑 Breaking changes 🛑 - `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode ([#​46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900)) Use [processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor) v0.36.2 or later for `host.os.type` enrichment - `receiver/prometheus`: Remove the deprecated `report_extra_scrape_metrics` receiver configuration option and obsolete extra scrape metric feature gates. ([#​44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181)) `report_extra_scrape_metrics` is no longer accepted in `prometheusreceiver` configuration. Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead. ##### 🚩 Deprecations 🚩 - `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp\_v1) in favor of encoding extensions. ([#​45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830)) Use the aws\_logs\_encoding extension (format: cloudwatch) instead of cwlogs, and the awscloudwatchmetricstreams\_encoding extension instead of cwmetrics (format: json) or otlp\_v1 (format: opentelemetry1.0). - `receiver/file_log`: Rename `filelog` receiver to `file_log` with deprecated alias `filelog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/kafka`: Deprecate the built-in `azure_resource_logs` encoding in favour of `azureencodingextension`. ([#​46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267)) The built-in `azure_resource_logs` encoding does not support all timestamp formats emitted by Azure services (e.g. US-format timestamps from Azure Functions). Users should migrate to the [`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension), which provides full control over time formats and is actively maintained. ##### 💡 Enhancements 💡 - `cmd/opampsupervisor`: Add configuration validation before applying remote config to prevent collector downtime ([#​41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068)) Validates collector configurations before applying them, preventing downtime from invalid remote configs. Disabled by default. Enable via `agent.validate_config: true`. May produce false positives when resources like ports are temporarily unavailable during validation. - `connector/datadog`: Document datadog connector is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `connector/signal_to_metrics`: Add `keys_expression` support in `include_resource_attributes` and `attributes` for dynamic attribute key resolution at runtime ([#​46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884)) The `keys_expression` field allows specifying an OTTL value expression that resolves to a list of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime data such as client metadata. Exactly one of `key` or `keys_expression` must be set per entry. - `connector/signal_to_metrics`: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. ([#​47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197)) - `connector/signal_to_metrics`: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. ([#​47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183)) Pre-computing the collector key avoids a string allocation on every signal processed. - `exporter/datadog`: Document datadog exporter is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass midpoint approximation for histogram metrics ([#​47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150)) - `exporter/elasticsearch`: Cache metric attribute set per bulk session instead of recomputing it for every document ([#​47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170)) `syncBulkIndexerSession.Add()` was calling `getAttributesFromMetadataKeys` + `attribute.NewSet` + `metric.WithAttributeSet` on every document in the hot path. The attribute set is derived from the request context metadata, which is constant for the lifetime of a session, so it is now computed once in `StartSession` and reused across all `Add()` calls in that session. - `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping mode ([#​46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936)) \_doc\_count is a special metadata field in Elasticsearch used when a document represents pre-aggregated data (like histograms or aggregate metrics). Currently, elasticsearchexporter only populates this field for otel mapping mode (native otel field structure). This change adds support for ECS mapping mode (native ECS field structure) so that we have consistent behavior for both mapping modes. - `exporter/elasticsearch`: Encode `require_data_stream` in Elasticsearch bulk action metadata instead of the bulk request query string. ([#​46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970)) This preserves existing endpoint query parameters while moving `require_data_stream` to the per-document action line expected by newer bulk workflows. Benchmarks show a stable \~27 bytes/item NDJSON payload overhead before compression. - `exporter/elasticsearch`: Improve performance of Elasticsearch exporter document serialisation ([#​47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171)) - `exporter/elasticsearch`: Add metric for docs retried because of request errors ([#​46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215)) - `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook to reduce per-export allocations ([#​47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186)) `OnBrokerE2E` previously rebuilt `attribute.NewSet` + `metric.WithAttributeSet` on every call. The set of distinct (nodeID, host, outcome) combinations is bounded by 2 × number-of-brokers, so the computed `MeasurementOption` is now cached per key. - `exporter/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the exporter explicitly panic if used in aix/ppc64 environments. - `extension/datadog`: Document datadog extension is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `extension/db_storage`: Make dbstorage work in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) sqlite support is offered via modernC, which doesn't support the AIX ppc64 compilation target. We carve out support for sqlite in AIX environments so contrib can compile for this compilation target. - `extension/health_check`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/healthcheckv2`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/sigv4auth`: Add support for External IDs when assuming roles in cross-account authentication scenarios ([#​44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930)) Added external\_id field to the AssumeRole configuration, allowing users to specify an External ID when assuming roles for enhanced cross-account security. - `internal/datadog`: Do not compute host metadata in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `pkg/stanza`: Ensure router operator does not split batches of entries ([#​42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393)) - `pkg/stanza`: Parse all Windows Event XML fields into the log body, including RenderingInfo (with Culture, Channel, Provider, Task, Opcode, Keywords, Message), UserData, ProcessingErrorData, DebugData, and BinaryEventData. ([#​46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943)) Previously, RenderingInfo was only used to derive the top-level level/task/opcode/keywords/message fields. It is now also emitted as a top-level `rendering_info` key containing all fields including `culture`, `channel`, and `provider`. UserData (an alternative to EventData used by some providers) is now parsed into a `user_data` key. Rare schema elements ProcessingErrorData, DebugData, and BinaryEventData are also captured when present. - `processor/resourcedetection`: Added IBM Cloud VPC resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/resourcedetection`: Added IBM Cloud Classic resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/tail_sampling`: Add `sampling_strategy` config with `trace-complete` and `span-ingest` modes for tail sampling decision timing and evaluation behavior. ([#​46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600)) - `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata for S3 logs ([#​47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046)) - `receiver/azure_event_hub`: Add support for Azure Event Hubs distributed processing. This allows the receiver to automatically coordinate partition ownership and checkpointing across multiple collector instances via Azure Blob Storage. ([#​46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595)) - `receiver/docker_stats`: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. ([#​33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557)) A new optional `tls` configuration block is available in `docker_stats` receiver config (and the shared `internal/docker` package). When omitted the connection remains insecure (plain HTTP or Unix socket), preserving existing behavior. When provided it supports the standard `configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`, `insecure_skip_verify`, `min_version`, and `max_version`. A warning is now emitted when a plain `tcp://` or `http://` endpoint is used without TLS, reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0 (see <https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>). - `receiver/docker_stats`: Add "stream\_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. ([#​46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493)) When `stream_stats: true` is set, each container maintains a persistent open Docker stats stream instead of opening and closing a new connection on every scrape cycle. The scraper reads from the cached latest value, which reduces connection overhead. - `receiver/expvar`: Enable the re-aggregation feature for the expvar receiver ([#​45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396)) - `receiver/file_log`: Add `max_log_size_behavior` config option to control oversized log entry behavior ([#​44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371)) The new `max_log_size_behavior` setting controls what happens when a log entry exceeds `max_log_size`. - `split` (default): Splits oversized log entries into multiple log entries. This is the existing behavior. - `truncate`: Truncates oversized log entries and drops the remainder, emitting only a single truncated log entry. - `receiver/hostmetrics`: Enable re-aggregation for system scraper ([#​46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624)) Enabled the reaggregation feature gate for the system scraper. - `receiver/hostmetrics`: Enable re-aggregation for process scraper ([#​46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623)) Enabled the reaggregation feature gate for the process scraper and set all metric attributes (context\_switch\_type, direction, paging\_fault\_type, state) with requirement\_level recommended. - `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver metrics ([#​46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366)) - `receiver/mongodb`: Add `scheme` configuration option to support `mongodb+srv` connections ([#​36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011)) The new `scheme` field allows connecting to MongoDB clusters using SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for backward compatibility. - `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query log records, enabling users to correlate top queries with their corresponding execution plans. ([#​46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626)) - `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id` attributes to query samples. `mysql.session.status` indicates the session status (`waiting`, `running`, or `other`) at the time of the sample. `mysql.session.id` provides the unique session identifier. Both attributes provide additional context for understanding query performance and behavior. ([#​135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350)) - `receiver/mysql`: Add and tune obfuscation of sensitive properties in both V1 and V2 JSON query plans. ([#​46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629), [#​46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587)) Configure and test obfuscation for V1 and V2 plans, including tests of queries retrieved from the performance schema that are truncated and cannot be obfuscated. The importance of obfuscation can be very context dependent; sensitive PII, banking, and authorization data may reside in the same database as less sensitive data, and it can be vital to ensure that what is expected to be obfuscated is always obfuscated. Significant additional testing has been added around query plan obfuscation to ensure that this is enforced and to provide assurance and reference to users about what specifically is obfuscated and what is not. - `receiver/mysql`: Propagates W3C TraceContext from MySQL session variables to query sample log records. When a MySQL session sets `@traceparent`, the receiver extracts the TraceID and SpanID and stamps them onto the corresponding `db.server.query_sample` log record, enabling correlation between application traces and query samples. ([#​46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631)) Only samples from sessions where `@traceparent` is set will have non-zero `traceId` and `spanId` fields on the log record. - `receiver/prometheus`: Add support for reading instrumentation scope attributes from `otel_scope_<attribute-name>` labels while feature-gating deprecation of `otel_scope_info`. ([#​41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502)) Scope attributes are always extracted from `otel_scope_<attribute-name>` labels on metrics. The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate (alpha, disabled by default) controls only whether the legacy `otel_scope_info` metric is ignored for scope attribute extraction. When the gate is disabled, both mechanisms coexist to support migration. See the specification change for motivation: [open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505) - `receiver/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the receiver explicitly panic if used in aix/ppc64 environments. - `receiver/skywalking`: Add feature gate `translator.skywalking.useStableSemconv` to update semantic conventions from v1.18.0 to v1.38.0 ([#​44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796)) A feature gate `translator.skywalking.useStableSemconv` has been added to control the migration. The gate is disabled by default (Alpha stage), so existing behavior is preserved. - `receiver/sqlquery`: Add clickhouse support to sqlquery ([#​47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116)) - `receiver/sqlquery`: Add `row_condition` to metric configuration for filtering result rows by column value ([#​45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862)) Enables extracting individual metrics from pivot-style result sets where each row represents a different metric (e.g. pgbouncer's `SHOW LISTS` command). When `row_condition` is configured on a metric, only rows where the specified column equals the specified value are used; all other rows are silently skipped. - `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL Server receiver. ([#​46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379)) - `receiver/yang_grpc`: Support collecting any metric by browsing the whole metrics tree ([#​47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054)) ##### 🧰 Bug fixes 🧰 - `exporter/kafka`: Fixes the validation for `topic_from_metadata_key` to use partition keys. ([#​46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994)) - `exporter/kafka`: Fix topic routing for multi-resource batches when `topic_from_attribute` is set without resource-level partitioning ([#​46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872)) Previously, when a batch contained multiple resources with different topic attribute values, all data was silently sent to the topic of the first resource. Each resource is now correctly routed to its own topic. - `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter to preserve microseconds instead of truncating to milliseconds. ([#​47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175)) Timestamps were rounded to milliseconds before sending to Splunk HEC. The rounding has been removed, giving microsecond precision in the HEC `time` field. - `extension/bearertokenauth`: Redact bearer token from authentication error messages to prevent credential exposure in logs. ([#​46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200)) Previously, when a client presented an invalid bearer token, the full token value was included in the error message returned by the Authenticate method. This error could be propagated to log output, exposing sensitive credentials. The error message now omits the token value entirely. - `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when using env-based proxy configuration in awsutil ([#​46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892)) When no explicit proxy\_address was configured, the HTTP client manually read HTTPS\_PROXY and used http.ProxyURL which ignores NO\_PROXY. Now delegates to http.ProxyFromEnvironment which correctly handles all proxy environment variables. - `processor/deltatorate`: Append "/s" to the unit of output datapoints to reflect the per-second rate. ([#​46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841)) - `processor/filter`: Fix validation of include and exclude severity configurations so they run independently of LogConditions. ([#​46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883)) - `receiver/datadog`: Propagate Datadog trace sampling priority to all spans translated from a trace chunk. ([#​45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402)) - `receiver/file_log`: Fix data corruption after file compression ([#​46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105)) After a log file is compressed (e.g. test.log → test.log.gz), the receiver configured with `compression: auto` will now correctly decompress the content and continue reading from where the plaintext file left off. - `receiver/file_log`: Fixes bug where File Log receiver did not read the last line of gzip compressed files. ([#​45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572)) - `receiver/hostmetrics`: Align HugePages metric instrument types with the semantic conventions by emitting page\_size, reserved, and surplus as non-monotonic sums instead of gauges. ([#​42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650)) - `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper to prevent panic on zombie processes. ([#​47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095)) - `receiver/journald`: Fix emitting of historical entries on startup ([#​46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556)) When start\_at is "end" (the default), pass --lines=0 to journalctl to suppress the 10 historical entries it emits by default in follow mode. - `receiver/k8s_events`: Exclude DELETED watch events to prevent duplicate event ingestion. ([#​47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035)) - `receiver/mysql`: Remove deprecated `information_schema.processlist` JOIN from query samples template; use `thread.processlist_host` instead. ([#​47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041)) - `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when a SQL query text fails to obfuscate (e.g. due to Oracle truncating a CLOB mid-string-literal). The affected entry is now skipped with a warning log and the rest of the scrape continues normally. ([#​47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151)) - `receiver/otelarrow`: Remove assumed positions of otel arrow root payload types ([#​46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878)) - `receiver/otelarrow`: Fix OTLP fallback handlers returning codes.Unknown instead of codes.Unavailable for pipeline errors, causing upstream exporters to permanently drop data instead of retrying. ([#​46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182)) - `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending resource profiles instead of merging them. ([#​46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991)) - `receiver/prometheus_remote_write`: Count target\_info samples in PRW response stats ([#​47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108)) <!-- previous-version --> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "on friday" - 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/jaegertracing/jaeger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFuZ2Vsb2c6ZGVwZW5kZW5jaWVzIl19--> Signed-off-by: Mend Renovate <bot@renovateapp.com>
codeboten
pushed a commit
to open-telemetry/opentelemetry-collector-contrib
that referenced
this pull request
Apr 14, 2026
…ib/extension/internal/credentialsfile to v0.150.0 (#47636) > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.146.2-0.20260219223409-66996adfaaf7` → `v0.150.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/20907) for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile)</summary> ### [`v0.150.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01500) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.150.0) ##### 🛑 Breaking changes 🛑 - `pkg/ottl`: Return errors when OTTL context accessors receive values of the wrong type (part 2) ([#​40198](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40198)) Setters in OTTL contexts now validate that values are of the expected type and return descriptive errors when type mismatches occur. This is the continuation of work done in [#​43505](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43505), addressing remaining contexts: datapoint, profile, profilesample, resource, span, and spanevent. Changes include: - Slice setters (explicit\_bounds, bucket\_counts, positive.bucket\_counts, negative.bucket\_counts) now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better type handling. - SetMap now returns an error for invalid value types instead of silently ignoring them. **Note:** Users may see new errors from OTTL statements that were previously silently failing due to type mismatches. These errors indicate pre-existing issues in OTTL configurations that were not being applied as expected. - `processor/resourcedetection`: Remove feature gate processor.resourcedetection.propagateerrors ([#​45853](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45853)) - `processor/transform`: Remove the `processor.transform.ConvertBetweenSumAndGaugeMetricContext` feature gate. ([#​47358](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47358)) This feature gate has been stable for over a year and is no longer used in any code paths. - `receiver/k8s_cluster`: Kubernetes resource labels in entity events are now prefixed per OTel semantic conventions. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) Labels on Kubernetes resources emitted as entity event attributes are now prefixed with `k8s.<resource>.label.` to align with OTel semantic conventions (e.g. `k8s.pod.label.<key>`, `k8s.node.label.<key>`, `k8s.deployment.label.<key>`, etc.). Previously, label keys were emitted verbatim without any prefix. Users consuming entity event attributes by label key will need to update their configurations. - `receiver/kubeletstats`: Disable deprecated resource attributes by default ([#​47184](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47184)) The following resource attributes are deprecated and will now be disabled by default: `aws.volume.id`, `fs.type`, `gce.pd.name`, `glusterfs.endpoints.name`, `glusterfs.path`, and `partition`. All of these attributes will be removed in a future release. ##### 🚩 Deprecations 🚩 - `receiver/http_check`: Rename `httpcheck` receiver to `http_check` with deprecated alias `httpcheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/named_pipe`: Rename `namedpipe` receiver to `named_pipe` with deprecated alias `namedpipe`. ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tcp_log`: Rename `tcplog` receiver to `tcp_log` with deprecated alias `tcplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tls_check`: Rename `tlscheck` receiver to `tls_check` with deprecated alias `tlscheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/udp_log`: Rename `udplog` receiver to `udp_log` with deprecated alias `udplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/windows_event_log`: Rename `windowseventlog` receiver to `windows_event_log` with deprecated alias `windowseventlog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) ##### 🚀 New components 🚀 - `exporter/google_secops`: Add Google SecOps exporter for sending logs to the Google SecOps (Chronicle) Ingestion APIs. ([#​46148](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46148)) - `processor/spanpruning`: Add span pruning processor for aggregating repetitive leaf spans in trace data. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `receiver/osquery`: Implement osquery query scraping ([#​30375](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30375)) ##### 💡 Enhancements 💡 - `exporter/datadog`: Promote `exporter.datadogexporter.DisableAllMetricRemapping` feature gate to beta. ([#​47212](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47212)) - All metrics remappings are now handled by the Datadog backend and this should be a transparent change. If you run into any issues, please disable the feature gate by passing `--feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping` and reach out to Datadog support (<https://www.datadoghq.com/support/>). - `exporter/elasticsearch`: Add suppress\_conflict\_errors config to optionally silence document level 409 version conflict logs ([#​47248](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47248)) - `exporter/kafka`: Add `record_headers` configuration option to set static headers on outgoing records ([#​47193](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47193)) - `exporter/kafka`: Add support for partitioning kafka records ([#​46931](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46931)) Add support for RoundRobin and LeastBackup partitioning strategies, as well as custom partitioners provided by RecordPartitionerExtension implementations. Users can implement their own partitioning logic and plug it into the kafka exporter via the RecordPartitionerExtension interface. - `exporter/prometheus`: Exemplar support for exponential histograms in Prometheus exporter ([#​47159](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47159)) - `exporter/prometheus`: prevent panic on histogram with empty BucketCounts. ([#​47351](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47351)) Guard BucketCounts access with a length check in convertDoubleHistogram to avoid index-out-of-range panic when a histogram has explicit bounds but no corresponding bucket counts. - `exporter/signalfx`: Add `dimension_client::strip_k8s_label_prefix` option to strip `k8s.<resource>.label.` prefix from dimension property updates. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) The k8s cluster receiver now emits Kubernetes resource labels in entity events with the `k8s.<resource>.label.` prefix per OTel semantic conventions (e.g. `k8s.pod.label.app`). When `strip_k8s_label_prefix: true` (the default), the SignalFx exporter strips this prefix when forwarding labels as dimension properties, preserving the existing SignalFx behavior (e.g. `app`). Set `strip_k8s_label_prefix: false` to disable stripping and receive the full prefixed keys. - `exporter/sumologic`: Modify default retry settings to prevent dropping data on transient backend unavailability ([#​47503](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47503)) - `extension/datadog`: Add `gateway_service` and `gateway_destination` config fields to support gateway topology view in Fleet Automation. ([#​47471](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47471)) Gateway collectors set `gateway_service` to the k8s Service fronting them. Agent/daemonset collectors set `gateway_destination` to the k8s Service they forward telemetry to. Both fields are optional and omitted from the metadata payload when empty. - `extension/health_check`: Migrate extension.healthcheck.useComponentStatus feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `extension/sumologic`: Adding support to sumologic extension for auto discovery of services in windows ([#​47349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47349)) - `pkg/ottl`: Add Coalesce converter that returns the first non-nil value from a list of arguments. ([#​46847](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46847)) The Coalesce converter accepts a list of values and returns the first one that is not nil. This simplifies common patterns where a canonical attribute must be resolved from multiple possible sources. Example: `set(attributes["user"], Coalesce([attributes["user.id"], attributes["enduser.id"], "unknown"]))` - `pkg/stanza`: Optimizing the performance of Windows Event log unmarshalling when raw = true ([#​47164](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47164)) - `pkg/stanza`: Add new scrape model for Windows event logs using an event-driven subscription instead of polling ([#​47091](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47091)) - `pkg/stanza`: Add `on_truncate` option to fileconsumer to control behavior when a file's stored offset exceeds its current size. ([#​43693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43693)) - `processor/filter`: Add feature gate `processor.filter.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47232](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232)) - `processor/interval`: Flush remaining buffered metrics on shutdown to prevent data loss during restarts and rollouts. ([#​47238](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47238)) Previously, the interval processor would silently drop any metrics accumulated in its buffer when receiving a shutdown signal. Now it flushes the buffer to the next consumer before exiting, consistent with the batch processor behavior. - `processor/lookup`: Add DNS lookup source and LRU caching ([#​46114](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46114)) Adds a DNS source that performs reverse DNS lookups (PTR records) to resolve IP addresses to hostnames. Implements a full LRU cache with size-based eviction, TTL expiration, and negative caching. The DNS source has caching enabled by default. - `processor/spanpruning`: Add full implementation of the span pruning processor. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `processor/tail_sampling`: Add gated tail storage extension support to tailsampling processor via new tail\_storage config ([#​45250](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45250)) Introduces a new tail storage interface with in-memory default behavior and allows extension-backed storage when the processor.tailsamplingprocessor.tailstorageextension feature gate is enabled. - `processor/transform`: Add feature gate `processor.transform.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47231](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47231)) - `processor/transform`: Add support for semantic conventions 1.38.0, 1.39.0, and 1.40.0 in the `set_semconv_span_name` function. ([#​45911](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45911)) The `set_semconv_span_name` function now recognizes semantic conventions 1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using the latest rules. Support for the `rpc.system.name` attribute (introduced in 1.39.0) has been added so span names can reflect the new RPC system conventions. Backward compatibility is preserved: the `rpc.system` attribute remains supported. - `receiver/active_directory_ds`: Enables dynamic metric reaggregation in the Active Directory Domain Services receiver. This does not break existing configuration files. ([#​46346](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46346)) - `receiver/apachespark`: Enable the re-aggregation feature for the apachespark receiver ([#​46349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46349)) - `receiver/awss3`: add `tag_object_after_ingestion` flag to the s3 receiver so objects that have been processed can be identified ([#​46078](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46078)) They will be tagged with `otel-collector:status=ingested`. Operators can use that tag to define bucket lifecycle policies. - `receiver/awss3`: add zstd decompression to the s3 receiver ([#​46854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46854)) - `receiver/cloudfoundry`: Migrate cloudfoundry.resourceAttributes.allow feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `receiver/elasticsearch`: Enable dynamic attribute metric with attribute re-aggregation in configuration at runtime ([#​46353](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46353)) - `receiver/filestats`: Enable re-aggregation and set requirement levels for attributes. ([#​46355](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46355)) - `receiver/googlecloudpubsub`: Add flow control configuration ([#​44804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44804)) Add flow control configuration, giving advanced users more control over the parameters of the streaming pull control loop. - `receiver/k8s_cluster`: Emit entity references as part of metrics resources. ([#​41080](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41080)) - `receiver/k8sobjects`: Add `kube_api_qps` and `kube_api_burst` config options to control Kubernetes API request rate limits and prevent client-side throttling when watching or polling many resources ([#​44484](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44484)) The same fields are also available in `receiver/k8sevents` via the shared `internal/k8sconfig` package. Default values match the client-go defaults: `kube_api_qps=5`, `kube_api_burst=10`. - `receiver/receiver_creator`: add support for profiling signal for receiver creator ([#​46930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46930)) - `receiver/splunkenterprise`: Add custom search support to the Splunk Enterprise receiver ([#​47124](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47124)) - `receiver/windows_event_log`: Add `discover_domain_controllers` config flag to automatically discover and collect Security events from Active Directory domain controllers based on feature gate domainControllers.autodiscovery. ([#​44156](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44156), [#​44423](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44423)) When `discover_domain_controllers` in config and `domainControllers.autodiscovery` feature gate is set `true` , the receiver queries LDAP Root DSE to discover the root domain path, enumerates all domain controllers in the Active Directory forest, and creates receiver for each domain controller. Falls back to the currently joined DC if the root DN cannot be determined. ##### 🧰 Bug fixes 🧰 - `exporter/awsemf`: Fix data races in getPusher and logPusher that cause nil pointer panics and out-of-order log events ([#​47126](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47126)) - `exporter/awss3`: Use AWS SDK S3 types for StorageClass and ACL validation instead of hardcoded lists ([#​46825](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46825)) The hardcoded list of valid S3 storage classes was missing GLACIER\_IR, REDUCED\_REDUNDANCY, and EXPRESS\_ONEZONE. Replaced both StorageClass and ACL hardcoded validation maps with values from the AWS SDK s3types package to prevent this from going out of date again in the future. - `exporter/datadog`: Fix use-after-free bug causing corrupted quantile sketches when exporting ExponentialHistogram metrics with multiple attribute sets ([#​47338](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47338)) When multiple ExponentialHistogram data points were converted to Datadog sketches in a single export call, the underlying sync.Pool backing array was shared across conversions. A second conversion would reuse and overwrite the first sketch's bin memory, producing non-monotonic bin keys and inflated percentile values. This is fixed by upgrading github.com/DataDog/datadog-agent/pkg/util/quantile to commit [`bfa4eff`](https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfa4eff6c991), which deep-copies the bin slice before returning the sketch. - `exporter/elasticsearch`: Fix malformed JSON creation for numbers in exponential notation. ([#​47363](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47363)) When rendering numbers in exponential notation the exporter JSON implementation always added a radix point (e.g. 1.0 not 1). The implementation had a buffer corruption bug where it was overriding part of the buffer leading to malformed and invalid JSON numbers being created. - `exporter/prometheus`: Fix Prometheus exporter default HTTP server behavior where keep-alives and server timeouts were not using the intended defaults. ([#​47173](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47173)) This fixes default behavior where keep\_alives\_enabled was effectively false unless explicitly configured. - `exporter/prometheus`: Fix unbounded memory growth when metrics are no longer being scraped. ([#​41123](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41123)) Expired metric families now get cleaned up even when no Prometheus scraper is actively collecting, preventing memory from growing indefinitely. - `extension/aws_logs_encoding`: Add `source_region` field (27th field) to S3 server access log parser and skip unknown future fields gracefully. ([#​47149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47149)) AWS added a `source_region` field to the S3 server access log format. The parser previously returned an error ("values in log line exceed the number of available fields") when it encountered log lines with more fields than defined. This fix: - Adds `source_region` as field index 26 mapped to `aws.s3.source_region`. - Makes the parser skip any fields beyond the known schema instead of failing, providing forward compatibility with future AWS S3 access log additions. - `pkg/stanza`: Fix severity parser to work with JSON parser with `parse_ints: true` ([#​47209](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47209)) - `receiver/awss3`: Fix infinite loop and metric skew caused by SQS failing to parse and delete "s3:TestEvent" messages ([#​47045](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47045)) - `receiver/vcenter`: Fixes a nil pointer dereference panic in recordVMStats when scraping metrics from VMs with missing performance counters ([#​46977](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46977)) <!-- previous-version --> ### [`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0) ##### 🛑 Breaking changes 🛑 - `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode ([#​46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900)) Use [processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor) v0.36.2 or later for `host.os.type` enrichment - `receiver/prometheus`: Remove the deprecated `report_extra_scrape_metrics` receiver configuration option and obsolete extra scrape metric feature gates. ([#​44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181)) `report_extra_scrape_metrics` is no longer accepted in `prometheusreceiver` configuration. Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead. ##### 🚩 Deprecations 🚩 - `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp\_v1) in favor of encoding extensions. ([#​45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830)) Use the aws\_logs\_encoding extension (format: cloudwatch) instead of cwlogs, and the awscloudwatchmetricstreams\_encoding extension instead of cwmetrics (format: json) or otlp\_v1 (format: opentelemetry1.0). - `receiver/file_log`: Rename `filelog` receiver to `file_log` with deprecated alias `filelog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/kafka`: Deprecate the built-in `azure_resource_logs` encoding in favour of `azureencodingextension`. ([#​46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267)) The built-in `azure_resource_logs` encoding does not support all timestamp formats emitted by Azure services (e.g. US-format timestamps from Azure Functions). Users should migrate to the [`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension), which provides full control over time formats and is actively maintained. ##### 💡 Enhancements 💡 - `cmd/opampsupervisor`: Add configuration validation before applying remote config to prevent collector downtime ([#​41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068)) Validates collector configurations before applying them, preventing downtime from invalid remote configs. Disabled by default. Enable via `agent.validate_config: true`. May produce false positives when resources like ports are temporarily unavailable during validation. - `connector/datadog`: Document datadog connector is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `connector/signal_to_metrics`: Add `keys_expression` support in `include_resource_attributes` and `attributes` for dynamic attribute key resolution at runtime ([#​46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884)) The `keys_expression` field allows specifying an OTTL value expression that resolves to a list of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime data such as client metadata. Exactly one of `key` or `keys_expression` must be set per entry. - `connector/signal_to_metrics`: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. ([#​47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197)) - `connector/signal_to_metrics`: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. ([#​47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183)) Pre-computing the collector key avoids a string allocation on every signal processed. - `exporter/datadog`: Document datadog exporter is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass midpoint approximation for histogram metrics ([#​47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150)) - `exporter/elasticsearch`: Cache metric attribute set per bulk session instead of recomputing it for every document ([#​47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170)) `syncBulkIndexerSession.Add()` was calling `getAttributesFromMetadataKeys` + `attribute.NewSet` + `metric.WithAttributeSet` on every document in the hot path. The attribute set is derived from the request context metadata, which is constant for the lifetime of a session, so it is now computed once in `StartSession` and reused across all `Add()` calls in that session. - `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping mode ([#​46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936)) \_doc\_count is a special metadata field in Elasticsearch used when a document represents pre-aggregated data (like histograms or aggregate metrics). Currently, elasticsearchexporter only populates this field for otel mapping mode (native otel field structure). This change adds support for ECS mapping mode (native ECS field structure) so that we have consistent behavior for both mapping modes. - `exporter/elasticsearch`: Encode `require_data_stream` in Elasticsearch bulk action metadata instead of the bulk request query string. ([#​46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970)) This preserves existing endpoint query parameters while moving `require_data_stream` to the per-document action line expected by newer bulk workflows. Benchmarks show a stable \~27 bytes/item NDJSON payload overhead before compression. - `exporter/elasticsearch`: Improve performance of Elasticsearch exporter document serialisation ([#​47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171)) - `exporter/elasticsearch`: Add metric for docs retried because of request errors ([#​46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215)) - `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook to reduce per-export allocations ([#​47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186)) `OnBrokerE2E` previously rebuilt `attribute.NewSet` + `metric.WithAttributeSet` on every call. The set of distinct (nodeID, host, outcome) combinations is bounded by 2 × number-of-brokers, so the computed `MeasurementOption` is now cached per key. - `exporter/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the exporter explicitly panic if used in aix/ppc64 environments. - `extension/datadog`: Document datadog extension is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `extension/db_storage`: Make dbstorage work in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) sqlite support is offered via modernC, which doesn't support the AIX ppc64 compilation target. We carve out support for sqlite in AIX environments so contrib can compile for this compilation target. - `extension/health_check`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/healthcheckv2`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/sigv4auth`: Add support for External IDs when assuming roles in cross-account authentication scenarios ([#​44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930)) Added external\_id field to the AssumeRole configuration, allowing users to specify an External ID when assuming roles for enhanced cross-account security. - `internal/datadog`: Do not compute host metadata in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `pkg/stanza`: Ensure router operator does not split batches of entries ([#​42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393)) - `pkg/stanza`: Parse all Windows Event XML fields into the log body, including RenderingInfo (with Culture, Channel, Provider, Task, Opcode, Keywords, Message), UserData, ProcessingErrorData, DebugData, and BinaryEventData. ([#​46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943)) Previously, RenderingInfo was only used to derive the top-level level/task/opcode/keywords/message fields. It is now also emitted as a top-level `rendering_info` key containing all fields including `culture`, `channel`, and `provider`. UserData (an alternative to EventData used by some providers) is now parsed into a `user_data` key. Rare schema elements ProcessingErrorData, DebugData, and BinaryEventData are also captured when present. - `processor/resourcedetection`: Added IBM Cloud VPC resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/resourcedetection`: Added IBM Cloud Classic resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/tail_sampling`: Add `sampling_strategy` config with `trace-complete` and `span-ingest` modes for tail sampling decision timing and evaluation behavior. ([#​46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600)) - `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata for S3 logs ([#​47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046)) - `receiver/azure_event_hub`: Add support for Azure Event Hubs distributed processing. This allows the receiver to automatically coordinate partition ownership and checkpointing across multiple collector instances via Azure Blob Storage. ([#​46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595)) - `receiver/docker_stats`: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. ([#​33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557)) A new optional `tls` configuration block is available in `docker_stats` receiver config (and the shared `internal/docker` package). When omitted the connection remains insecure (plain HTTP or Unix socket), preserving existing behavior. When provided it supports the standard `configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`, `insecure_skip_verify`, `min_version`, and `max_version`. A warning is now emitted when a plain `tcp://` or `http://` endpoint is used without TLS, reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0 (see <https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>). - `receiver/docker_stats`: Add "stream\_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. ([#​46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493)) When `stream_stats: true` is set, each container maintains a persistent open Docker stats stream instead of opening and closing a new connection on every scrape cycle. The scraper reads from the cached latest value, which reduces connection overhead. - `receiver/expvar`: Enable the re-aggregation feature for the expvar receiver ([#​45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396)) - `receiver/file_log`: Add `max_log_size_behavior` config option to control oversized log entry behavior ([#​44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371)) The new `max_log_size_behavior` setting controls what happens when a log entry exceeds `max_log_size`. - `split` (default): Splits oversized log entries into multiple log entries. This is the existing behavior. - `truncate`: Truncates oversized log entries and drops the remainder, emitting only a single truncated log entry. - `receiver/hostmetrics`: Enable re-aggregation for system scraper ([#​46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624)) Enabled the reaggregation feature gate for the system scraper. - `receiver/hostmetrics`: Enable re-aggregation for process scraper ([#​46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623)) Enabled the reaggregation feature gate for the process scraper and set all metric attributes (context\_switch\_type, direction, paging\_fault\_type, state) with requirement\_level recommended. - `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver metrics ([#​46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366)) - `receiver/mongodb`: Add `scheme` configuration option to support `mongodb+srv` connections ([#​36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011)) The new `scheme` field allows connecting to MongoDB clusters using SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for backward compatibility. - `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query log records, enabling users to correlate top queries with their corresponding execution plans. ([#​46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626)) - `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id` attributes to query samples. `mysql.session.status` indicates the session status (`waiting`, `running`, or `other`) at the time of the sample. `mysql.session.id` provides the unique session identifier. Both attributes provide additional context for understanding query performance and behavior. ([#​135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350)) - `receiver/mysql`: Add and tune obfuscation of sensitive properties in both V1 and V2 JSON query plans. ([#​46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629), [#​46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587)) Configure and test obfuscation for V1 and V2 plans, including tests of queries retrieved from the performance schema that are truncated and cannot be obfuscated. The importance of obfuscation can be very context dependent; sensitive PII, banking, and authorization data may reside in the same database as less sensitive data, and it can be vital to ensure that what is expected to be obfuscated is always obfuscated. Significant additional testing has been added around query plan obfuscation to ensure that this is enforced and to provide assurance and reference to users about what specifically is obfuscated and what is not. - `receiver/mysql`: Propagates W3C TraceContext from MySQL session variables to query sample log records. When a MySQL session sets `@traceparent`, the receiver extracts the TraceID and SpanID and stamps them onto the corresponding `db.server.query_sample` log record, enabling correlation between application traces and query samples. ([#​46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631)) Only samples from sessions where `@traceparent` is set will have non-zero `traceId` and `spanId` fields on the log record. - `receiver/prometheus`: Add support for reading instrumentation scope attributes from `otel_scope_<attribute-name>` labels while feature-gating deprecation of `otel_scope_info`. ([#​41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502)) Scope attributes are always extracted from `otel_scope_<attribute-name>` labels on metrics. The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate (alpha, disabled by default) controls only whether the legacy `otel_scope_info` metric is ignored for scope attribute extraction. When the gate is disabled, both mechanisms coexist to support migration. See the specification change for motivation: [open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505) - `receiver/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the receiver explicitly panic if used in aix/ppc64 environments. - `receiver/skywalking`: Add feature gate `translator.skywalking.useStableSemconv` to update semantic conventions from v1.18.0 to v1.38.0 ([#​44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796)) A feature gate `translator.skywalking.useStableSemconv` has been added to control the migration. The gate is disabled by default (Alpha stage), so existing behavior is preserved. - `receiver/sqlquery`: Add clickhouse support to sqlquery ([#​47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116)) - `receiver/sqlquery`: Add `row_condition` to metric configuration for filtering result rows by column value ([#​45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862)) Enables extracting individual metrics from pivot-style result sets where each row represents a different metric (e.g. pgbouncer's `SHOW LISTS` command). When `row_condition` is configured on a metric, only rows where the specified column equals the specified value are used; all other rows are silently skipped. - `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL Server receiver. ([#​46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379)) - `receiver/yang_grpc`: Support collecting any metric by browsing the whole metrics tree ([#​47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054)) ##### 🧰 Bug fixes 🧰 - `exporter/kafka`: Fixes the validation for `topic_from_metadata_key` to use partition keys. ([#​46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994)) - `exporter/kafka`: Fix topic routing for multi-resource batches when `topic_from_attribute` is set without resource-level partitioning ([#​46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872)) Previously, when a batch contained multiple resources with different topic attribute values, all data was silently sent to the topic of the first resource. Each resource is now correctly routed to its own topic. - `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter to preserve microseconds instead of truncating to milliseconds. ([#​47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175)) Timestamps were rounded to milliseconds before sending to Splunk HEC. The rounding has been removed, giving microsecond precision in the HEC `time` field. - `extension/bearertokenauth`: Redact bearer token from authentication error messages to prevent credential exposure in logs. ([#​46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200)) Previously, when a client presented an invalid bearer token, the full token value was included in the error message returned by the Authenticate method. This error could be propagated to log output, exposing sensitive credentials. The error message now omits the token value entirely. - `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when using env-based proxy configuration in awsutil ([#​46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892)) When no explicit proxy\_address was configured, the HTTP client manually read HTTPS\_PROXY and used http.ProxyURL which ignores NO\_PROXY. Now delegates to http.ProxyFromEnvironment which correctly handles all proxy environment variables. - `processor/deltatorate`: Append "/s" to the unit of output datapoints to reflect the per-second rate. ([#​46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841)) - `processor/filter`: Fix validation of include and exclude severity configurations so they run independently of LogConditions. ([#​46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883)) - `receiver/datadog`: Propagate Datadog trace sampling priority to all spans translated from a trace chunk. ([#​45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402)) - `receiver/file_log`: Fix data corruption after file compression ([#​46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105)) After a log file is compressed (e.g. test.log → test.log.gz), the receiver configured with `compression: auto` will now correctly decompress the content and continue reading from where the plaintext file left off. - `receiver/file_log`: Fixes bug where File Log receiver did not read the last line of gzip compressed files. ([#​45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572)) - `receiver/hostmetrics`: Align HugePages metric instrument types with the semantic conventions by emitting page\_size, reserved, and surplus as non-monotonic sums instead of gauges. ([#​42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650)) - `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper to prevent panic on zombie processes. ([#​47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095)) - `receiver/journald`: Fix emitting of historical entries on startup ([#​46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556)) When start\_at is "end" (the default), pass --lines=0 to journalctl to suppress the 10 historical entries it emits by default in follow mode. - `receiver/k8s_events`: Exclude DELETED watch events to prevent duplicate event ingestion. ([#​47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035)) - `receiver/mysql`: Remove deprecated `information_schema.processlist` JOIN from query samples template; use `thread.processlist_host` instead. ([#​47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041)) - `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when a SQL query text fails to obfuscate (e.g. due to Oracle truncating a CLOB mid-string-literal). The affected entry is now skipped with a warning log and the rest of the scrape continues normally. ([#​47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151)) - `receiver/otelarrow`: Remove assumed positions of otel arrow root payload types ([#​46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878)) - `receiver/otelarrow`: Fix OTLP fallback handlers returning codes.Unknown instead of codes.Unavailable for pipeline errors, causing upstream exporters to permanently drop data instead of retrying. ([#​46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182)) - `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending resource profiles instead of merging them. ([#​46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991)) - `receiver/prometheus_remote_write`: Count target\_info samples in PRW response stats ([#​47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108)) <!-- previous-version --> ### [`v0.148.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01480) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.148.0) ##### 🛑 Breaking changes 🛑 - `all`: Removes the k8slog receiver after being unmaintained for 3 months ([#​46544](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46544)) - `all`: Remove deprecated SAPM exporter ([#​46555](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46555)) - `all`: Remove the datadogsemantics processor. ([#​46893](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46893)) If you need help, please contact Datadog support: <https://www.datadoghq.com/support>. - `exporter/google_cloud_storage`: `reuse_if_exists` behavior changed: now checks bucket existence instead of attempting creation ([#​45971](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45971)) Previously, `reuse_if_exists=true` would attempt bucket creation and fall back to reusing on conflict. Now, `reuse_if_exists=true` checks if bucket exists (via storage.buckets.get) and uses it, failing if it doesn't exist. Set to true when the service account lacks project-level bucket creation permissions but has bucket-level permissions. `reuse_if_exists=false` still attempts to create the bucket and fails if it already exists. - `exporter/kafka`: Remove deprecated top-level `topic` and `encoding` configuration fields ([#​46916](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46916)) The top-level `topic` and `encoding` fields were deprecated in v0.124.0. Use the per-signal fields instead: `logs::topic`, `metrics::topic`, `traces::topic`, `profiles::topic`, and the corresponding `encoding` fields under each signal section. - `exporter/kafka`: Remove kafka-local batching partitioner wiring and require explicit `sending_queue::batch::partition::metadata_keys` configuration as a superset of `include_metadata_keys` when batching is enabled. ([#​46757](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46757)) - `pkg/ottl`: `truncate_all` function now supports UTF-8 safe truncation ([#​36713](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36713)) The default `truncate_all` behavior has changed. Truncation now respects UTF-8 character boundaries by default (new optional parameter `utf8_safe`, default: `true`), so results stay valid UTF-8 and may be slightly shorter than the limit. To keep the previous byte-level truncation behavior (e.g. for non-UTF-8 data or to avoid any behavior change), set `utf8_safe` to `false` in all `truncate_all` usages. - `receiver/awsecscontainermetrics`: Add ephemeral storage metrics and fix unit strings from Megabytes to MiB ([#​46414](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46414)) Adds two new task-level gauge metrics: `ecs.task.ephemeral_storage.utilized` and `ecs.task.ephemeral_storage.reserved` (in MiB). These metrics are available on AWS Fargate Linux platform version 1.4.0+ and represent the shared ephemeral storage for the entire task. **Breaking change:** The unit string for `ecs.task.memory.utilized`, `ecs.task.memory.reserved`, `container.memory.utilized`, and `container.memory.reserved` has been corrected from `"Megabytes"` to `"MiB"`. The underlying values were already in MiB (computed via division by 1024\*1024), but the unit label was incorrect. Users relying on the exact unit string (e.g. in metric filters or dashboards) will need to update accordingly. - `receiver/mysql`: Set the default collection of query\_sample to false ([#​46902](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46902)) - `receiver/postgresql`: Disable default collection of top\_query and query\_sample events. ([#​46843](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46843)) This change is breaking because it disables the default collection of top\_query and query\_sample events. These events will need to be enabled manually if desired. - `receiver/redfish`: `system.host_name` and `base_url` resource attribute has been changed to `host.name` and `url.full` respectively. ([#​46236](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46236)) - `receiver/windowseventlog`: Change event\_data from an array of single-key maps to a flat map by default, making fields directly accessible via OTTL. The previous format is available by setting `event_data_format: array`. ([#​42565](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42565), [#​32952](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32952)) Named <Data> elements become direct keys (e.g., body\["event\_data"]\["ProcessId"]). Anonymous <Data> elements use numbered keys: param1, param2, etc. To preserve the previous array format, set event\_data\_format: array in the receiver configuration. ##### 🚩 Deprecations 🚩 - `exporter/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46722](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46722)) - `exporter/google_cloud_storage`: Introduce new snake case compliant name `google_cloud_storage` ([#​46733](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46733)) - `extension/aws_logs_encoding`: Introduce new snake case compliant name `aws_logs_encoding` ([#​46776](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46776)) - `extension/azure_auth`: Introduce new snake case compliant name `azure_auth` ([#​46775](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46775)) - `extension/cgroup_runtime`: Introduce new snake case compliant name `cgroup_runtime` ([#​46773](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46773)) - `extension/google_cloud_logentry_encoding`: Introduce new snake case compliant name `google_cloud_logentry_encoding` ([#​46778](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46778)) - `processor/metric_start_time`: Introduce new snake case compliant name `metric_start_time` ([#​46777](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46777)) - `receiver/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46721](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46721)) - `receiver/azure_monitor`: Introduce new snake case compliant name `azure_monitor` ([#​46730](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46730)) - `receiver/cisco_os`: Introduce new snake case compliant name `cisco_os` ([#​46948](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46948)) - `receiver/macos_unified_logging`: Introduce new snake case compliant name `macos_unified_logging` ([#​46729](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46729)) - `receiver/prometheus_remote_write`: Introduce new snake case compliant name `prometheus_remote_write` ([#​46726](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46726)) - `receiver/yang_grpc`: Introduce new snake case compliant name `yang_grpc` ([#​46723](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46723)) ##### 🚀 New components 🚀 - `receiver/azure_functions`: Introduce new component to receive logs from Azure Functions ([#​43507](https://github.com/open-telemetry/opentelemetry-collector-con </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "on tuesday" - 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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
songy23
pushed a commit
to open-telemetry/opentelemetry-collector-contrib
that referenced
this pull request
Apr 21, 2026
…ib/extension/storage to v0.150.0 (#47807) > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.147.0` → `v0.150.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/20907) for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage)</summary> ### [`v0.150.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01500) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.150.0) ##### 🛑 Breaking changes 🛑 - `pkg/ottl`: Return errors when OTTL context accessors receive values of the wrong type (part 2) ([#​40198](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40198)) Setters in OTTL contexts now validate that values are of the expected type and return descriptive errors when type mismatches occur. This is the continuation of work done in [#​43505](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43505), addressing remaining contexts: datapoint, profile, profilesample, resource, span, and spanevent. Changes include: - Slice setters (explicit\_bounds, bucket\_counts, positive.bucket\_counts, negative.bucket\_counts) now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better type handling. - SetMap now returns an error for invalid value types instead of silently ignoring them. **Note:** Users may see new errors from OTTL statements that were previously silently failing due to type mismatches. These errors indicate pre-existing issues in OTTL configurations that were not being applied as expected. - `processor/resourcedetection`: Remove feature gate processor.resourcedetection.propagateerrors ([#​45853](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45853)) - `processor/transform`: Remove the `processor.transform.ConvertBetweenSumAndGaugeMetricContext` feature gate. ([#​47358](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47358)) This feature gate has been stable for over a year and is no longer used in any code paths. - `receiver/k8s_cluster`: Kubernetes resource labels in entity events are now prefixed per OTel semantic conventions. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) Labels on Kubernetes resources emitted as entity event attributes are now prefixed with `k8s.<resource>.label.` to align with OTel semantic conventions (e.g. `k8s.pod.label.<key>`, `k8s.node.label.<key>`, `k8s.deployment.label.<key>`, etc.). Previously, label keys were emitted verbatim without any prefix. Users consuming entity event attributes by label key will need to update their configurations. - `receiver/kubeletstats`: Disable deprecated resource attributes by default ([#​47184](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47184)) The following resource attributes are deprecated and will now be disabled by default: `aws.volume.id`, `fs.type`, `gce.pd.name`, `glusterfs.endpoints.name`, `glusterfs.path`, and `partition`. All of these attributes will be removed in a future release. ##### 🚩 Deprecations 🚩 - `receiver/http_check`: Rename `httpcheck` receiver to `http_check` with deprecated alias `httpcheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/named_pipe`: Rename `namedpipe` receiver to `named_pipe` with deprecated alias `namedpipe`. ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tcp_log`: Rename `tcplog` receiver to `tcp_log` with deprecated alias `tcplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tls_check`: Rename `tlscheck` receiver to `tls_check` with deprecated alias `tlscheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/udp_log`: Rename `udplog` receiver to `udp_log` with deprecated alias `udplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/windows_event_log`: Rename `windowseventlog` receiver to `windows_event_log` with deprecated alias `windowseventlog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) ##### 🚀 New components 🚀 - `exporter/google_secops`: Add Google SecOps exporter for sending logs to the Google SecOps (Chronicle) Ingestion APIs. ([#​46148](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46148)) - `processor/spanpruning`: Add span pruning processor for aggregating repetitive leaf spans in trace data. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `receiver/osquery`: Implement osquery query scraping ([#​30375](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30375)) ##### 💡 Enhancements 💡 - `exporter/datadog`: Promote `exporter.datadogexporter.DisableAllMetricRemapping` feature gate to beta. ([#​47212](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47212)) - All metrics remappings are now handled by the Datadog backend and this should be a transparent change. If you run into any issues, please disable the feature gate by passing `--feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping` and reach out to Datadog support (<https://www.datadoghq.com/support/>). - `exporter/elasticsearch`: Add suppress\_conflict\_errors config to optionally silence document level 409 version conflict logs ([#​47248](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47248)) - `exporter/kafka`: Add `record_headers` configuration option to set static headers on outgoing records ([#​47193](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47193)) - `exporter/kafka`: Add support for partitioning kafka records ([#​46931](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46931)) Add support for RoundRobin and LeastBackup partitioning strategies, as well as custom partitioners provided by RecordPartitionerExtension implementations. Users can implement their own partitioning logic and plug it into the kafka exporter via the RecordPartitionerExtension interface. - `exporter/prometheus`: Exemplar support for exponential histograms in Prometheus exporter ([#​47159](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47159)) - `exporter/prometheus`: prevent panic on histogram with empty BucketCounts. ([#​47351](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47351)) Guard BucketCounts access with a length check in convertDoubleHistogram to avoid index-out-of-range panic when a histogram has explicit bounds but no corresponding bucket counts. - `exporter/signalfx`: Add `dimension_client::strip_k8s_label_prefix` option to strip `k8s.<resource>.label.` prefix from dimension property updates. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) The k8s cluster receiver now emits Kubernetes resource labels in entity events with the `k8s.<resource>.label.` prefix per OTel semantic conventions (e.g. `k8s.pod.label.app`). When `strip_k8s_label_prefix: true` (the default), the SignalFx exporter strips this prefix when forwarding labels as dimension properties, preserving the existing SignalFx behavior (e.g. `app`). Set `strip_k8s_label_prefix: false` to disable stripping and receive the full prefixed keys. - `exporter/sumologic`: Modify default retry settings to prevent dropping data on transient backend unavailability ([#​47503](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47503)) - `extension/datadog`: Add `gateway_service` and `gateway_destination` config fields to support gateway topology view in Fleet Automation. ([#​47471](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47471)) Gateway collectors set `gateway_service` to the k8s Service fronting them. Agent/daemonset collectors set `gateway_destination` to the k8s Service they forward telemetry to. Both fields are optional and omitted from the metadata payload when empty. - `extension/health_check`: Migrate extension.healthcheck.useComponentStatus feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `extension/sumologic`: Adding support to sumologic extension for auto discovery of services in windows ([#​47349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47349)) - `pkg/ottl`: Add Coalesce converter that returns the first non-nil value from a list of arguments. ([#​46847](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46847)) The Coalesce converter accepts a list of values and returns the first one that is not nil. This simplifies common patterns where a canonical attribute must be resolved from multiple possible sources. Example: `set(attributes["user"], Coalesce([attributes["user.id"], attributes["enduser.id"], "unknown"]))` - `pkg/stanza`: Optimizing the performance of Windows Event log unmarshalling when raw = true ([#​47164](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47164)) - `pkg/stanza`: Add new scrape model for Windows event logs using an event-driven subscription instead of polling ([#​47091](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47091)) - `pkg/stanza`: Add `on_truncate` option to fileconsumer to control behavior when a file's stored offset exceeds its current size. ([#​43693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43693)) - `processor/filter`: Add feature gate `processor.filter.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47232](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232)) - `processor/interval`: Flush remaining buffered metrics on shutdown to prevent data loss during restarts and rollouts. ([#​47238](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47238)) Previously, the interval processor would silently drop any metrics accumulated in its buffer when receiving a shutdown signal. Now it flushes the buffer to the next consumer before exiting, consistent with the batch processor behavior. - `processor/lookup`: Add DNS lookup source and LRU caching ([#​46114](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46114)) Adds a DNS source that performs reverse DNS lookups (PTR records) to resolve IP addresses to hostnames. Implements a full LRU cache with size-based eviction, TTL expiration, and negative caching. The DNS source has caching enabled by default. - `processor/spanpruning`: Add full implementation of the span pruning processor. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `processor/tail_sampling`: Add gated tail storage extension support to tailsampling processor via new tail\_storage config ([#​45250](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45250)) Introduces a new tail storage interface with in-memory default behavior and allows extension-backed storage when the processor.tailsamplingprocessor.tailstorageextension feature gate is enabled. - `processor/transform`: Add feature gate `processor.transform.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47231](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47231)) - `processor/transform`: Add support for semantic conventions 1.38.0, 1.39.0, and 1.40.0 in the `set_semconv_span_name` function. ([#​45911](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45911)) The `set_semconv_span_name` function now recognizes semantic conventions 1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using the latest rules. Support for the `rpc.system.name` attribute (introduced in 1.39.0) has been added so span names can reflect the new RPC system conventions. Backward compatibility is preserved: the `rpc.system` attribute remains supported. - `receiver/active_directory_ds`: Enables dynamic metric reaggregation in the Active Directory Domain Services receiver. This does not break existing configuration files. ([#​46346](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46346)) - `receiver/apachespark`: Enable the re-aggregation feature for the apachespark receiver ([#​46349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46349)) - `receiver/awss3`: add `tag_object_after_ingestion` flag to the s3 receiver so objects that have been processed can be identified ([#​46078](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46078)) They will be tagged with `otel-collector:status=ingested`. Operators can use that tag to define bucket lifecycle policies. - `receiver/awss3`: add zstd decompression to the s3 receiver ([#​46854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46854)) - `receiver/cloudfoundry`: Migrate cloudfoundry.resourceAttributes.allow feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `receiver/elasticsearch`: Enable dynamic attribute metric with attribute re-aggregation in configuration at runtime ([#​46353](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46353)) - `receiver/filestats`: Enable re-aggregation and set requirement levels for attributes. ([#​46355](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46355)) - `receiver/googlecloudpubsub`: Add flow control configuration ([#​44804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44804)) Add flow control configuration, giving advanced users more control over the parameters of the streaming pull control loop. - `receiver/k8s_cluster`: Emit entity references as part of metrics resources. ([#​41080](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41080)) - `receiver/k8sobjects`: Add `kube_api_qps` and `kube_api_burst` config options to control Kubernetes API request rate limits and prevent client-side throttling when watching or polling many resources ([#​44484](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44484)) The same fields are also available in `receiver/k8sevents` via the shared `internal/k8sconfig` package. Default values match the client-go defaults: `kube_api_qps=5`, `kube_api_burst=10`. - `receiver/receiver_creator`: add support for profiling signal for receiver creator ([#​46930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46930)) - `receiver/splunkenterprise`: Add custom search support to the Splunk Enterprise receiver ([#​47124](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47124)) - `receiver/windows_event_log`: Add `discover_domain_controllers` config flag to automatically discover and collect Security events from Active Directory domain controllers based on feature gate domainControllers.autodiscovery. ([#​44156](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44156), [#​44423](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44423)) When `discover_domain_controllers` in config and `domainControllers.autodiscovery` feature gate is set `true` , the receiver queries LDAP Root DSE to discover the root domain path, enumerates all domain controllers in the Active Directory forest, and creates receiver for each domain controller. Falls back to the currently joined DC if the root DN cannot be determined. ##### 🧰 Bug fixes 🧰 - `exporter/awsemf`: Fix data races in getPusher and logPusher that cause nil pointer panics and out-of-order log events ([#​47126](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47126)) - `exporter/awss3`: Use AWS SDK S3 types for StorageClass and ACL validation instead of hardcoded lists ([#​46825](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46825)) The hardcoded list of valid S3 storage classes was missing GLACIER\_IR, REDUCED\_REDUNDANCY, and EXPRESS\_ONEZONE. Replaced both StorageClass and ACL hardcoded validation maps with values from the AWS SDK s3types package to prevent this from going out of date again in the future. - `exporter/datadog`: Fix use-after-free bug causing corrupted quantile sketches when exporting ExponentialHistogram metrics with multiple attribute sets ([#​47338](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47338)) When multiple ExponentialHistogram data points were converted to Datadog sketches in a single export call, the underlying sync.Pool backing array was shared across conversions. A second conversion would reuse and overwrite the first sketch's bin memory, producing non-monotonic bin keys and inflated percentile values. This is fixed by upgrading github.com/DataDog/datadog-agent/pkg/util/quantile to commit [`bfa4eff`](https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfa4eff6c991), which deep-copies the bin slice before returning the sketch. - `exporter/elasticsearch`: Fix malformed JSON creation for numbers in exponential notation. ([#​47363](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47363)) When rendering numbers in exponential notation the exporter JSON implementation always added a radix point (e.g. 1.0 not 1). The implementation had a buffer corruption bug where it was overriding part of the buffer leading to malformed and invalid JSON numbers being created. - `exporter/prometheus`: Fix Prometheus exporter default HTTP server behavior where keep-alives and server timeouts were not using the intended defaults. ([#​47173](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47173)) This fixes default behavior where keep\_alives\_enabled was effectively false unless explicitly configured. - `exporter/prometheus`: Fix unbounded memory growth when metrics are no longer being scraped. ([#​41123](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41123)) Expired metric families now get cleaned up even when no Prometheus scraper is actively collecting, preventing memory from growing indefinitely. - `extension/aws_logs_encoding`: Add `source_region` field (27th field) to S3 server access log parser and skip unknown future fields gracefully. ([#​47149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47149)) AWS added a `source_region` field to the S3 server access log format. The parser previously returned an error ("values in log line exceed the number of available fields") when it encountered log lines with more fields than defined. This fix: - Adds `source_region` as field index 26 mapped to `aws.s3.source_region`. - Makes the parser skip any fields beyond the known schema instead of failing, providing forward compatibility with future AWS S3 access log additions. - `pkg/stanza`: Fix severity parser to work with JSON parser with `parse_ints: true` ([#​47209](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47209)) - `receiver/awss3`: Fix infinite loop and metric skew caused by SQS failing to parse and delete "s3:TestEvent" messages ([#​47045](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47045)) - `receiver/vcenter`: Fixes a nil pointer dereference panic in recordVMStats when scraping metrics from VMs with missing performance counters ([#​46977](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46977)) <!-- previous-version --> ### [`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0) ##### 🛑 Breaking changes 🛑 - `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode ([#​46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900)) Use [processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor) v0.36.2 or later for `host.os.type` enrichment - `receiver/prometheus`: Remove the deprecated `report_extra_scrape_metrics` receiver configuration option and obsolete extra scrape metric feature gates. ([#​44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181)) `report_extra_scrape_metrics` is no longer accepted in `prometheusreceiver` configuration. Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead. ##### 🚩 Deprecations 🚩 - `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp\_v1) in favor of encoding extensions. ([#​45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830)) Use the aws\_logs\_encoding extension (format: cloudwatch) instead of cwlogs, and the awscloudwatchmetricstreams\_encoding extension instead of cwmetrics (format: json) or otlp\_v1 (format: opentelemetry1.0). - `receiver/file_log`: Rename `filelog` receiver to `file_log` with deprecated alias `filelog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/kafka`: Deprecate the built-in `azure_resource_logs` encoding in favour of `azureencodingextension`. ([#​46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267)) The built-in `azure_resource_logs` encoding does not support all timestamp formats emitted by Azure services (e.g. US-format timestamps from Azure Functions). Users should migrate to the [`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension), which provides full control over time formats and is actively maintained. ##### 💡 Enhancements 💡 - `cmd/opampsupervisor`: Add configuration validation before applying remote config to prevent collector downtime ([#​41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068)) Validates collector configurations before applying them, preventing downtime from invalid remote configs. Disabled by default. Enable via `agent.validate_config: true`. May produce false positives when resources like ports are temporarily unavailable during validation. - `connector/datadog`: Document datadog connector is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `connector/signal_to_metrics`: Add `keys_expression` support in `include_resource_attributes` and `attributes` for dynamic attribute key resolution at runtime ([#​46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884)) The `keys_expression` field allows specifying an OTTL value expression that resolves to a list of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime data such as client metadata. Exactly one of `key` or `keys_expression` must be set per entry. - `connector/signal_to_metrics`: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. ([#​47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197)) - `connector/signal_to_metrics`: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. ([#​47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183)) Pre-computing the collector key avoids a string allocation on every signal processed. - `exporter/datadog`: Document datadog exporter is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass midpoint approximation for histogram metrics ([#​47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150)) - `exporter/elasticsearch`: Cache metric attribute set per bulk session instead of recomputing it for every document ([#​47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170)) `syncBulkIndexerSession.Add()` was calling `getAttributesFromMetadataKeys` + `attribute.NewSet` + `metric.WithAttributeSet` on every document in the hot path. The attribute set is derived from the request context metadata, which is constant for the lifetime of a session, so it is now computed once in `StartSession` and reused across all `Add()` calls in that session. - `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping mode ([#​46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936)) \_doc\_count is a special metadata field in Elasticsearch used when a document represents pre-aggregated data (like histograms or aggregate metrics). Currently, elasticsearchexporter only populates this field for otel mapping mode (native otel field structure). This change adds support for ECS mapping mode (native ECS field structure) so that we have consistent behavior for both mapping modes. - `exporter/elasticsearch`: Encode `require_data_stream` in Elasticsearch bulk action metadata instead of the bulk request query string. ([#​46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970)) This preserves existing endpoint query parameters while moving `require_data_stream` to the per-document action line expected by newer bulk workflows. Benchmarks show a stable \~27 bytes/item NDJSON payload overhead before compression. - `exporter/elasticsearch`: Improve performance of Elasticsearch exporter document serialisation ([#​47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171)) - `exporter/elasticsearch`: Add metric for docs retried because of request errors ([#​46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215)) - `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook to reduce per-export allocations ([#​47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186)) `OnBrokerE2E` previously rebuilt `attribute.NewSet` + `metric.WithAttributeSet` on every call. The set of distinct (nodeID, host, outcome) combinations is bounded by 2 × number-of-brokers, so the computed `MeasurementOption` is now cached per key. - `exporter/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the exporter explicitly panic if used in aix/ppc64 environments. - `extension/datadog`: Document datadog extension is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `extension/db_storage`: Make dbstorage work in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) sqlite support is offered via modernC, which doesn't support the AIX ppc64 compilation target. We carve out support for sqlite in AIX environments so contrib can compile for this compilation target. - `extension/health_check`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/healthcheckv2`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/sigv4auth`: Add support for External IDs when assuming roles in cross-account authentication scenarios ([#​44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930)) Added external\_id field to the AssumeRole configuration, allowing users to specify an External ID when assuming roles for enhanced cross-account security. - `internal/datadog`: Do not compute host metadata in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `pkg/stanza`: Ensure router operator does not split batches of entries ([#​42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393)) - `pkg/stanza`: Parse all Windows Event XML fields into the log body, including RenderingInfo (with Culture, Channel, Provider, Task, Opcode, Keywords, Message), UserData, ProcessingErrorData, DebugData, and BinaryEventData. ([#​46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943)) Previously, RenderingInfo was only used to derive the top-level level/task/opcode/keywords/message fields. It is now also emitted as a top-level `rendering_info` key containing all fields including `culture`, `channel`, and `provider`. UserData (an alternative to EventData used by some providers) is now parsed into a `user_data` key. Rare schema elements ProcessingErrorData, DebugData, and BinaryEventData are also captured when present. - `processor/resourcedetection`: Added IBM Cloud VPC resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/resourcedetection`: Added IBM Cloud Classic resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/tail_sampling`: Add `sampling_strategy` config with `trace-complete` and `span-ingest` modes for tail sampling decision timing and evaluation behavior. ([#​46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600)) - `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata for S3 logs ([#​47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046)) - `receiver/azure_event_hub`: Add support for Azure Event Hubs distributed processing. This allows the receiver to automatically coordinate partition ownership and checkpointing across multiple collector instances via Azure Blob Storage. ([#​46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595)) - `receiver/docker_stats`: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. ([#​33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557)) A new optional `tls` configuration block is available in `docker_stats` receiver config (and the shared `internal/docker` package). When omitted the connection remains insecure (plain HTTP or Unix socket), preserving existing behavior. When provided it supports the standard `configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`, `insecure_skip_verify`, `min_version`, and `max_version`. A warning is now emitted when a plain `tcp://` or `http://` endpoint is used without TLS, reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0 (see <https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>). - `receiver/docker_stats`: Add "stream\_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. ([#​46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493)) When `stream_stats: true` is set, each container maintains a persistent open Docker stats stream instead of opening and closing a new connection on every scrape cycle. The scraper reads from the cached latest value, which reduces connection overhead. - `receiver/expvar`: Enable the re-aggregation feature for the expvar receiver ([#​45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396)) - `receiver/file_log`: Add `max_log_size_behavior` config option to control oversized log entry behavior ([#​44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371)) The new `max_log_size_behavior` setting controls what happens when a log entry exceeds `max_log_size`. - `split` (default): Splits oversized log entries into multiple log entries. This is the existing behavior. - `truncate`: Truncates oversized log entries and drops the remainder, emitting only a single truncated log entry. - `receiver/hostmetrics`: Enable re-aggregation for system scraper ([#​46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624)) Enabled the reaggregation feature gate for the system scraper. - `receiver/hostmetrics`: Enable re-aggregation for process scraper ([#​46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623)) Enabled the reaggregation feature gate for the process scraper and set all metric attributes (context\_switch\_type, direction, paging\_fault\_type, state) with requirement\_level recommended. - `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver metrics ([#​46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366)) - `receiver/mongodb`: Add `scheme` configuration option to support `mongodb+srv` connections ([#​36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011)) The new `scheme` field allows connecting to MongoDB clusters using SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for backward compatibility. - `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query log records, enabling users to correlate top queries with their corresponding execution plans. ([#​46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626)) - `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id` attributes to query samples. `mysql.session.status` indicates the session status (`waiting`, `running`, or `other`) at the time of the sample. `mysql.session.id` provides the unique session identifier. Both attributes provide additional context for understanding query performance and behavior. ([#​135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350)) - `receiver/mysql`: Add and tune obfuscation of sensitive properties in both V1 and V2 JSON query plans. ([#​46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629), [#​46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587)) Configure and test obfuscation for V1 and V2 plans, including tests of queries retrieved from the performance schema that are truncated and cannot be obfuscated. The importance of obfuscation can be very context dependent; sensitive PII, banking, and authorization data may reside in the same database as less sensitive data, and it can be vital to ensure that what is expected to be obfuscated is always obfuscated. Significant additional testing has been added around query plan obfuscation to ensure that this is enforced and to provide assurance and reference to users about what specifically is obfuscated and what is not. - `receiver/mysql`: Propagates W3C TraceContext from MySQL session variables to query sample log records. When a MySQL session sets `@traceparent`, the receiver extracts the TraceID and SpanID and stamps them onto the corresponding `db.server.query_sample` log record, enabling correlation between application traces and query samples. ([#​46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631)) Only samples from sessions where `@traceparent` is set will have non-zero `traceId` and `spanId` fields on the log record. - `receiver/prometheus`: Add support for reading instrumentation scope attributes from `otel_scope_<attribute-name>` labels while feature-gating deprecation of `otel_scope_info`. ([#​41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502)) Scope attributes are always extracted from `otel_scope_<attribute-name>` labels on metrics. The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate (alpha, disabled by default) controls only whether the legacy `otel_scope_info` metric is ignored for scope attribute extraction. When the gate is disabled, both mechanisms coexist to support migration. See the specification change for motivation: [open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505) - `receiver/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the receiver explicitly panic if used in aix/ppc64 environments. - `receiver/skywalking`: Add feature gate `translator.skywalking.useStableSemconv` to update semantic conventions from v1.18.0 to v1.38.0 ([#​44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796)) A feature gate `translator.skywalking.useStableSemconv` has been added to control the migration. The gate is disabled by default (Alpha stage), so existing behavior is preserved. - `receiver/sqlquery`: Add clickhouse support to sqlquery ([#​47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116)) - `receiver/sqlquery`: Add `row_condition` to metric configuration for filtering result rows by column value ([#​45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862)) Enables extracting individual metrics from pivot-style result sets where each row represents a different metric (e.g. pgbouncer's `SHOW LISTS` command). When `row_condition` is configured on a metric, only rows where the specified column equals the specified value are used; all other rows are silently skipped. - `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL Server receiver. ([#​46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379)) - `receiver/yang_grpc`: Support collecting any metric by browsing the whole metrics tree ([#​47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054)) ##### 🧰 Bug fixes 🧰 - `exporter/kafka`: Fixes the validation for `topic_from_metadata_key` to use partition keys. ([#​46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994)) - `exporter/kafka`: Fix topic routing for multi-resource batches when `topic_from_attribute` is set without resource-level partitioning ([#​46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872)) Previously, when a batch contained multiple resources with different topic attribute values, all data was silently sent to the topic of the first resource. Each resource is now correctly routed to its own topic. - `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter to preserve microseconds instead of truncating to milliseconds. ([#​47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175)) Timestamps were rounded to milliseconds before sending to Splunk HEC. The rounding has been removed, giving microsecond precision in the HEC `time` field. - `extension/bearertokenauth`: Redact bearer token from authentication error messages to prevent credential exposure in logs. ([#​46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200)) Previously, when a client presented an invalid bearer token, the full token value was included in the error message returned by the Authenticate method. This error could be propagated to log output, exposing sensitive credentials. The error message now omits the token value entirely. - `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when using env-based proxy configuration in awsutil ([#​46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892)) When no explicit proxy\_address was configured, the HTTP client manually read HTTPS\_PROXY and used http.ProxyURL which ignores NO\_PROXY. Now delegates to http.ProxyFromEnvironment which correctly handles all proxy environment variables. - `processor/deltatorate`: Append "/s" to the unit of output datapoints to reflect the per-second rate. ([#​46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841)) - `processor/filter`: Fix validation of include and exclude severity configurations so they run independently of LogConditions. ([#​46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883)) - `receiver/datadog`: Propagate Datadog trace sampling priority to all spans translated from a trace chunk. ([#​45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402)) - `receiver/file_log`: Fix data corruption after file compression ([#​46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105)) After a log file is compressed (e.g. test.log → test.log.gz), the receiver configured with `compression: auto` will now correctly decompress the content and continue reading from where the plaintext file left off. - `receiver/file_log`: Fixes bug where File Log receiver did not read the last line of gzip compressed files. ([#​45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572)) - `receiver/hostmetrics`: Align HugePages metric instrument types with the semantic conventions by emitting page\_size, reserved, and surplus as non-monotonic sums instead of gauges. ([#​42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650)) - `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper to prevent panic on zombie processes. ([#​47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095)) - `receiver/journald`: Fix emitting of historical entries on startup ([#​46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556)) When start\_at is "end" (the default), pass --lines=0 to journalctl to suppress the 10 historical entries it emits by default in follow mode. - `receiver/k8s_events`: Exclude DELETED watch events to prevent duplicate event ingestion. ([#​47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035)) - `receiver/mysql`: Remove deprecated `information_schema.processlist` JOIN from query samples template; use `thread.processlist_host` instead. ([#​47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041)) - `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when a SQL query text fails to obfuscate (e.g. due to Oracle truncating a CLOB mid-string-literal). The affected entry is now skipped with a warning log and the rest of the scrape continues normally. ([#​47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151)) - `receiver/otelarrow`: Remove assumed positions of otel arrow root payload types ([#​46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878)) - `receiver/otelarrow`: Fix OTLP fallback handlers returning codes.Unknown instead of codes.Unavailable for pipeline errors, causing upstream exporters to permanently drop data instead of retrying. ([#​46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182)) - `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending resource profiles instead of merging them. ([#​46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991)) - `receiver/prometheus_remote_write`: Count target\_info samples in PRW response stats ([#​47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108)) <!-- previous-version --> ### [`v0.148.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01480) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.148.0) ##### 🛑 Breaking changes 🛑 - `all`: Removes the k8slog receiver after being unmaintained for 3 months ([#​46544](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46544)) - `all`: Remove deprecated SAPM exporter ([#​46555](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46555)) - `all`: Remove the datadogsemantics processor. ([#​46893](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46893)) If you need help, please contact Datadog support: <https://www.datadoghq.com/support>. - `exporter/google_cloud_storage`: `reuse_if_exists` behavior changed: now checks bucket existence instead of attempting creation ([#​45971](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45971)) Previously, `reuse_if_exists=true` would attempt bucket creation and fall back to reusing on conflict. Now, `reuse_if_exists=true` checks if bucket exists (via storage.buckets.get) and uses it, failing if it doesn't exist. Set to true when the service account lacks project-level bucket creation permissions but has bucket-level permissions. `reuse_if_exists=false` still attempts to create the bucket and fails if it already exists. - `exporter/kafka`: Remove deprecated top-level `topic` and `encoding` configuration fields ([#​46916](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46916)) The top-level `topic` and `encoding` fields were deprecated in v0.124.0. Use the per-signal fields instead: `logs::topic`, `metrics::topic`, `traces::topic`, `profiles::topic`, and the corresponding `encoding` fields under each signal section. - `exporter/kafka`: Remove kafka-local batching partitioner wiring and require explicit `sending_queue::batch::partition::metadata_keys` configuration as a superset of `include_metadata_keys` when batching is enabled. ([#​46757](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46757)) - `pkg/ottl`: `truncate_all` function now supports UTF-8 safe truncation ([#​36713](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36713)) The default `truncate_all` behavior has changed. Truncation now respects UTF-8 character boundaries by default (new optional parameter `utf8_safe`, default: `true`), so results stay valid UTF-8 and may be slightly shorter than the limit. To keep the previous byte-level truncation behavior (e.g. for non-UTF-8 data or to avoid any behavior change), set `utf8_safe` to `false` in all `truncate_all` usages. - `receiver/awsecscontainermetrics`: Add ephemeral storage metrics and fix unit strings from Megabytes to MiB ([#​46414](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46414)) Adds two new task-level gauge metrics: `ecs.task.ephemeral_storage.utilized` and `ecs.task.ephemeral_storage.reserved` (in MiB). These metrics are available on AWS Fargate Linux platform version 1.4.0+ and represent the shared ephemeral storage for the entire task. **Breaking change:** The unit string for `ecs.task.memory.utilized`, `ecs.task.memory.reserved`, `container.memory.utilized`, and `container.memory.reserved` has been corrected from `"Megabytes"` to `"MiB"`. The underlying values were already in MiB (computed via division by 1024\*1024), but the unit label was incorrect. Users relying on the exact unit string (e.g. in metric filters or dashboards) will need to update accordingly. - `receiver/mysql`: Set the default collection of query\_sample to false ([#​46902](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46902)) - `receiver/postgresql`: Disable default collection of top\_query and query\_sample events. ([#​46843](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46843)) This change is breaking because it disables the default collection of top\_query and query\_sample events. These events will need to be enabled manually if desired. - `receiver/redfish`: `system.host_name` and `base_url` resource attribute has been changed to `host.name` and `url.full` respectively. ([#​46236](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46236)) - `receiver/windowseventlog`: Change event\_data from an array of single-key maps to a flat map by default, making fields directly accessible via OTTL. The previous format is available by setting `event_data_format: array`. ([#​42565](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42565), [#​32952](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32952)) Named <Data> elements become direct keys (e.g., body\["event\_data"]\["ProcessId"]). Anonymous <Data> elements use numbered keys: param1, param2, etc. To preserve the previous array format, set event\_data\_format: array in the receiver configuration. ##### 🚩 Deprecations 🚩 - `exporter/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46722](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46722)) - `exporter/google_cloud_storage`: Introduce new snake case compliant name `google_cloud_storage` ([#​46733](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46733)) - `extension/aws_logs_encoding`: Introduce new snake case compliant name `aws_logs_encoding` ([#​46776](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46776)) - `extension/azure_auth`: Introduce new snake case compliant name `azure_auth` ([#​46775](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46775)) - `extension/cgroup_runtime`: Introduce new snake case compliant name `cgroup_runtime` ([#​46773](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46773)) - `extension/google_cloud_logentry_encoding`: Introduce new snake case compliant name `google_cloud_logentry_encoding` ([#​46778](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46778)) - `processor/metric_start_time`: Introduce new snake case compliant name `metric_start_time` ([#​46777](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46777)) - `receiver/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46721](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46721)) - `receiver/azure_monitor`: Introduce new snake case compliant name `azure_monitor` ([#​46730](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46730)) - `receiver/cisco_os`: Introduce new snake case compliant name `cisco_os` ([#​46948](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46948)) - `receiver/macos_unified_logging`: Introduce new snake case compliant name `macos_unified_logging` ([#​46729](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46729)) - `receiver/prometheus_remote_write`: Introduce new snake case compliant name `prometheus_remote_write` ([#​46726](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46726)) - `receiver/yang_grpc`: Introduce new snake case compliant name `yang_grpc` ([#​46723](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46723)) ##### 🚀 New components 🚀 - `receiver/azure_functions`: Introduce new component to receive logs from Azure Functions ([#​43507](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43507)) This change includes only overall structure, readme and configuration for the new component. ##### 💡 Enhance </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "on tuesday" - 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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
AndrewCharlesHay
pushed a commit
to AndrewCharlesHay/opentelemetry-collector-contrib
that referenced
this pull request
Apr 23, 2026
…ib/extension/internal/credentialsfile to v0.150.0 (open-telemetry#47636) > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.146.2-0.20260219223409-66996adfaaf7` → `v0.150.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/20907) for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile)</summary> ### [`v0.150.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01500) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.150.0) ##### 🛑 Breaking changes 🛑 - `pkg/ottl`: Return errors when OTTL context accessors receive values of the wrong type (part 2) ([#​40198](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40198)) Setters in OTTL contexts now validate that values are of the expected type and return descriptive errors when type mismatches occur. This is the continuation of work done in [#​43505](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43505), addressing remaining contexts: datapoint, profile, profilesample, resource, span, and spanevent. Changes include: - Slice setters (explicit\_bounds, bucket\_counts, positive.bucket\_counts, negative.bucket\_counts) now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better type handling. - SetMap now returns an error for invalid value types instead of silently ignoring them. **Note:** Users may see new errors from OTTL statements that were previously silently failing due to type mismatches. These errors indicate pre-existing issues in OTTL configurations that were not being applied as expected. - `processor/resourcedetection`: Remove feature gate processor.resourcedetection.propagateerrors ([#​45853](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45853)) - `processor/transform`: Remove the `processor.transform.ConvertBetweenSumAndGaugeMetricContext` feature gate. ([#​47358](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47358)) This feature gate has been stable for over a year and is no longer used in any code paths. - `receiver/k8s_cluster`: Kubernetes resource labels in entity events are now prefixed per OTel semantic conventions. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) Labels on Kubernetes resources emitted as entity event attributes are now prefixed with `k8s.<resource>.label.` to align with OTel semantic conventions (e.g. `k8s.pod.label.<key>`, `k8s.node.label.<key>`, `k8s.deployment.label.<key>`, etc.). Previously, label keys were emitted verbatim without any prefix. Users consuming entity event attributes by label key will need to update their configurations. - `receiver/kubeletstats`: Disable deprecated resource attributes by default ([#​47184](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47184)) The following resource attributes are deprecated and will now be disabled by default: `aws.volume.id`, `fs.type`, `gce.pd.name`, `glusterfs.endpoints.name`, `glusterfs.path`, and `partition`. All of these attributes will be removed in a future release. ##### 🚩 Deprecations 🚩 - `receiver/http_check`: Rename `httpcheck` receiver to `http_check` with deprecated alias `httpcheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/named_pipe`: Rename `namedpipe` receiver to `named_pipe` with deprecated alias `namedpipe`. ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tcp_log`: Rename `tcplog` receiver to `tcp_log` with deprecated alias `tcplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tls_check`: Rename `tlscheck` receiver to `tls_check` with deprecated alias `tlscheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/udp_log`: Rename `udplog` receiver to `udp_log` with deprecated alias `udplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/windows_event_log`: Rename `windowseventlog` receiver to `windows_event_log` with deprecated alias `windowseventlog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) ##### 🚀 New components 🚀 - `exporter/google_secops`: Add Google SecOps exporter for sending logs to the Google SecOps (Chronicle) Ingestion APIs. ([#​46148](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46148)) - `processor/spanpruning`: Add span pruning processor for aggregating repetitive leaf spans in trace data. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `receiver/osquery`: Implement osquery query scraping ([#​30375](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30375)) ##### 💡 Enhancements 💡 - `exporter/datadog`: Promote `exporter.datadogexporter.DisableAllMetricRemapping` feature gate to beta. ([#​47212](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47212)) - All metrics remappings are now handled by the Datadog backend and this should be a transparent change. If you run into any issues, please disable the feature gate by passing `--feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping` and reach out to Datadog support (<https://www.datadoghq.com/support/>). - `exporter/elasticsearch`: Add suppress\_conflict\_errors config to optionally silence document level 409 version conflict logs ([#​47248](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47248)) - `exporter/kafka`: Add `record_headers` configuration option to set static headers on outgoing records ([#​47193](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47193)) - `exporter/kafka`: Add support for partitioning kafka records ([#​46931](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46931)) Add support for RoundRobin and LeastBackup partitioning strategies, as well as custom partitioners provided by RecordPartitionerExtension implementations. Users can implement their own partitioning logic and plug it into the kafka exporter via the RecordPartitionerExtension interface. - `exporter/prometheus`: Exemplar support for exponential histograms in Prometheus exporter ([#​47159](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47159)) - `exporter/prometheus`: prevent panic on histogram with empty BucketCounts. ([#​47351](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47351)) Guard BucketCounts access with a length check in convertDoubleHistogram to avoid index-out-of-range panic when a histogram has explicit bounds but no corresponding bucket counts. - `exporter/signalfx`: Add `dimension_client::strip_k8s_label_prefix` option to strip `k8s.<resource>.label.` prefix from dimension property updates. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) The k8s cluster receiver now emits Kubernetes resource labels in entity events with the `k8s.<resource>.label.` prefix per OTel semantic conventions (e.g. `k8s.pod.label.app`). When `strip_k8s_label_prefix: true` (the default), the SignalFx exporter strips this prefix when forwarding labels as dimension properties, preserving the existing SignalFx behavior (e.g. `app`). Set `strip_k8s_label_prefix: false` to disable stripping and receive the full prefixed keys. - `exporter/sumologic`: Modify default retry settings to prevent dropping data on transient backend unavailability ([#​47503](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47503)) - `extension/datadog`: Add `gateway_service` and `gateway_destination` config fields to support gateway topology view in Fleet Automation. ([#​47471](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47471)) Gateway collectors set `gateway_service` to the k8s Service fronting them. Agent/daemonset collectors set `gateway_destination` to the k8s Service they forward telemetry to. Both fields are optional and omitted from the metadata payload when empty. - `extension/health_check`: Migrate extension.healthcheck.useComponentStatus feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `extension/sumologic`: Adding support to sumologic extension for auto discovery of services in windows ([#​47349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47349)) - `pkg/ottl`: Add Coalesce converter that returns the first non-nil value from a list of arguments. ([#​46847](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46847)) The Coalesce converter accepts a list of values and returns the first one that is not nil. This simplifies common patterns where a canonical attribute must be resolved from multiple possible sources. Example: `set(attributes["user"], Coalesce([attributes["user.id"], attributes["enduser.id"], "unknown"]))` - `pkg/stanza`: Optimizing the performance of Windows Event log unmarshalling when raw = true ([#​47164](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47164)) - `pkg/stanza`: Add new scrape model for Windows event logs using an event-driven subscription instead of polling ([#​47091](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47091)) - `pkg/stanza`: Add `on_truncate` option to fileconsumer to control behavior when a file's stored offset exceeds its current size. ([#​43693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43693)) - `processor/filter`: Add feature gate `processor.filter.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47232](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232)) - `processor/interval`: Flush remaining buffered metrics on shutdown to prevent data loss during restarts and rollouts. ([#​47238](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47238)) Previously, the interval processor would silently drop any metrics accumulated in its buffer when receiving a shutdown signal. Now it flushes the buffer to the next consumer before exiting, consistent with the batch processor behavior. - `processor/lookup`: Add DNS lookup source and LRU caching ([#​46114](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46114)) Adds a DNS source that performs reverse DNS lookups (PTR records) to resolve IP addresses to hostnames. Implements a full LRU cache with size-based eviction, TTL expiration, and negative caching. The DNS source has caching enabled by default. - `processor/spanpruning`: Add full implementation of the span pruning processor. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `processor/tail_sampling`: Add gated tail storage extension support to tailsampling processor via new tail\_storage config ([#​45250](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45250)) Introduces a new tail storage interface with in-memory default behavior and allows extension-backed storage when the processor.tailsamplingprocessor.tailstorageextension feature gate is enabled. - `processor/transform`: Add feature gate `processor.transform.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47231](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47231)) - `processor/transform`: Add support for semantic conventions 1.38.0, 1.39.0, and 1.40.0 in the `set_semconv_span_name` function. ([#​45911](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45911)) The `set_semconv_span_name` function now recognizes semantic conventions 1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using the latest rules. Support for the `rpc.system.name` attribute (introduced in 1.39.0) has been added so span names can reflect the new RPC system conventions. Backward compatibility is preserved: the `rpc.system` attribute remains supported. - `receiver/active_directory_ds`: Enables dynamic metric reaggregation in the Active Directory Domain Services receiver. This does not break existing configuration files. ([#​46346](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46346)) - `receiver/apachespark`: Enable the re-aggregation feature for the apachespark receiver ([#​46349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46349)) - `receiver/awss3`: add `tag_object_after_ingestion` flag to the s3 receiver so objects that have been processed can be identified ([#​46078](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46078)) They will be tagged with `otel-collector:status=ingested`. Operators can use that tag to define bucket lifecycle policies. - `receiver/awss3`: add zstd decompression to the s3 receiver ([#​46854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46854)) - `receiver/cloudfoundry`: Migrate cloudfoundry.resourceAttributes.allow feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `receiver/elasticsearch`: Enable dynamic attribute metric with attribute re-aggregation in configuration at runtime ([#​46353](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46353)) - `receiver/filestats`: Enable re-aggregation and set requirement levels for attributes. ([#​46355](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46355)) - `receiver/googlecloudpubsub`: Add flow control configuration ([#​44804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44804)) Add flow control configuration, giving advanced users more control over the parameters of the streaming pull control loop. - `receiver/k8s_cluster`: Emit entity references as part of metrics resources. ([#​41080](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41080)) - `receiver/k8sobjects`: Add `kube_api_qps` and `kube_api_burst` config options to control Kubernetes API request rate limits and prevent client-side throttling when watching or polling many resources ([#​44484](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44484)) The same fields are also available in `receiver/k8sevents` via the shared `internal/k8sconfig` package. Default values match the client-go defaults: `kube_api_qps=5`, `kube_api_burst=10`. - `receiver/receiver_creator`: add support for profiling signal for receiver creator ([#​46930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46930)) - `receiver/splunkenterprise`: Add custom search support to the Splunk Enterprise receiver ([#​47124](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47124)) - `receiver/windows_event_log`: Add `discover_domain_controllers` config flag to automatically discover and collect Security events from Active Directory domain controllers based on feature gate domainControllers.autodiscovery. ([#​44156](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44156), [#​44423](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44423)) When `discover_domain_controllers` in config and `domainControllers.autodiscovery` feature gate is set `true` , the receiver queries LDAP Root DSE to discover the root domain path, enumerates all domain controllers in the Active Directory forest, and creates receiver for each domain controller. Falls back to the currently joined DC if the root DN cannot be determined. ##### 🧰 Bug fixes 🧰 - `exporter/awsemf`: Fix data races in getPusher and logPusher that cause nil pointer panics and out-of-order log events ([#​47126](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47126)) - `exporter/awss3`: Use AWS SDK S3 types for StorageClass and ACL validation instead of hardcoded lists ([#​46825](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46825)) The hardcoded list of valid S3 storage classes was missing GLACIER\_IR, REDUCED\_REDUNDANCY, and EXPRESS\_ONEZONE. Replaced both StorageClass and ACL hardcoded validation maps with values from the AWS SDK s3types package to prevent this from going out of date again in the future. - `exporter/datadog`: Fix use-after-free bug causing corrupted quantile sketches when exporting ExponentialHistogram metrics with multiple attribute sets ([#​47338](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47338)) When multiple ExponentialHistogram data points were converted to Datadog sketches in a single export call, the underlying sync.Pool backing array was shared across conversions. A second conversion would reuse and overwrite the first sketch's bin memory, producing non-monotonic bin keys and inflated percentile values. This is fixed by upgrading github.com/DataDog/datadog-agent/pkg/util/quantile to commit [`bfa4eff`](https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfa4eff6c991), which deep-copies the bin slice before returning the sketch. - `exporter/elasticsearch`: Fix malformed JSON creation for numbers in exponential notation. ([#​47363](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47363)) When rendering numbers in exponential notation the exporter JSON implementation always added a radix point (e.g. 1.0 not 1). The implementation had a buffer corruption bug where it was overriding part of the buffer leading to malformed and invalid JSON numbers being created. - `exporter/prometheus`: Fix Prometheus exporter default HTTP server behavior where keep-alives and server timeouts were not using the intended defaults. ([#​47173](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47173)) This fixes default behavior where keep\_alives\_enabled was effectively false unless explicitly configured. - `exporter/prometheus`: Fix unbounded memory growth when metrics are no longer being scraped. ([#​41123](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41123)) Expired metric families now get cleaned up even when no Prometheus scraper is actively collecting, preventing memory from growing indefinitely. - `extension/aws_logs_encoding`: Add `source_region` field (27th field) to S3 server access log parser and skip unknown future fields gracefully. ([#​47149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47149)) AWS added a `source_region` field to the S3 server access log format. The parser previously returned an error ("values in log line exceed the number of available fields") when it encountered log lines with more fields than defined. This fix: - Adds `source_region` as field index 26 mapped to `aws.s3.source_region`. - Makes the parser skip any fields beyond the known schema instead of failing, providing forward compatibility with future AWS S3 access log additions. - `pkg/stanza`: Fix severity parser to work with JSON parser with `parse_ints: true` ([#​47209](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47209)) - `receiver/awss3`: Fix infinite loop and metric skew caused by SQS failing to parse and delete "s3:TestEvent" messages ([#​47045](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47045)) - `receiver/vcenter`: Fixes a nil pointer dereference panic in recordVMStats when scraping metrics from VMs with missing performance counters ([#​46977](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46977)) <!-- previous-version --> ### [`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0) ##### 🛑 Breaking changes 🛑 - `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode ([#​46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900)) Use [processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor) v0.36.2 or later for `host.os.type` enrichment - `receiver/prometheus`: Remove the deprecated `report_extra_scrape_metrics` receiver configuration option and obsolete extra scrape metric feature gates. ([#​44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181)) `report_extra_scrape_metrics` is no longer accepted in `prometheusreceiver` configuration. Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead. ##### 🚩 Deprecations 🚩 - `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp\_v1) in favor of encoding extensions. ([#​45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830)) Use the aws\_logs\_encoding extension (format: cloudwatch) instead of cwlogs, and the awscloudwatchmetricstreams\_encoding extension instead of cwmetrics (format: json) or otlp\_v1 (format: opentelemetry1.0). - `receiver/file_log`: Rename `filelog` receiver to `file_log` with deprecated alias `filelog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/kafka`: Deprecate the built-in `azure_resource_logs` encoding in favour of `azureencodingextension`. ([#​46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267)) The built-in `azure_resource_logs` encoding does not support all timestamp formats emitted by Azure services (e.g. US-format timestamps from Azure Functions). Users should migrate to the [`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension), which provides full control over time formats and is actively maintained. ##### 💡 Enhancements 💡 - `cmd/opampsupervisor`: Add configuration validation before applying remote config to prevent collector downtime ([#​41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068)) Validates collector configurations before applying them, preventing downtime from invalid remote configs. Disabled by default. Enable via `agent.validate_config: true`. May produce false positives when resources like ports are temporarily unavailable during validation. - `connector/datadog`: Document datadog connector is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `connector/signal_to_metrics`: Add `keys_expression` support in `include_resource_attributes` and `attributes` for dynamic attribute key resolution at runtime ([#​46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884)) The `keys_expression` field allows specifying an OTTL value expression that resolves to a list of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime data such as client metadata. Exactly one of `key` or `keys_expression` must be set per entry. - `connector/signal_to_metrics`: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. ([#​47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197)) - `connector/signal_to_metrics`: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. ([#​47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183)) Pre-computing the collector key avoids a string allocation on every signal processed. - `exporter/datadog`: Document datadog exporter is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass midpoint approximation for histogram metrics ([#​47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150)) - `exporter/elasticsearch`: Cache metric attribute set per bulk session instead of recomputing it for every document ([#​47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170)) `syncBulkIndexerSession.Add()` was calling `getAttributesFromMetadataKeys` + `attribute.NewSet` + `metric.WithAttributeSet` on every document in the hot path. The attribute set is derived from the request context metadata, which is constant for the lifetime of a session, so it is now computed once in `StartSession` and reused across all `Add()` calls in that session. - `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping mode ([#​46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936)) \_doc\_count is a special metadata field in Elasticsearch used when a document represents pre-aggregated data (like histograms or aggregate metrics). Currently, elasticsearchexporter only populates this field for otel mapping mode (native otel field structure). This change adds support for ECS mapping mode (native ECS field structure) so that we have consistent behavior for both mapping modes. - `exporter/elasticsearch`: Encode `require_data_stream` in Elasticsearch bulk action metadata instead of the bulk request query string. ([#​46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970)) This preserves existing endpoint query parameters while moving `require_data_stream` to the per-document action line expected by newer bulk workflows. Benchmarks show a stable \~27 bytes/item NDJSON payload overhead before compression. - `exporter/elasticsearch`: Improve performance of Elasticsearch exporter document serialisation ([#​47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171)) - `exporter/elasticsearch`: Add metric for docs retried because of request errors ([#​46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215)) - `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook to reduce per-export allocations ([#​47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186)) `OnBrokerE2E` previously rebuilt `attribute.NewSet` + `metric.WithAttributeSet` on every call. The set of distinct (nodeID, host, outcome) combinations is bounded by 2 × number-of-brokers, so the computed `MeasurementOption` is now cached per key. - `exporter/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the exporter explicitly panic if used in aix/ppc64 environments. - `extension/datadog`: Document datadog extension is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `extension/db_storage`: Make dbstorage work in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) sqlite support is offered via modernC, which doesn't support the AIX ppc64 compilation target. We carve out support for sqlite in AIX environments so contrib can compile for this compilation target. - `extension/health_check`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/healthcheckv2`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/sigv4auth`: Add support for External IDs when assuming roles in cross-account authentication scenarios ([#​44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930)) Added external\_id field to the AssumeRole configuration, allowing users to specify an External ID when assuming roles for enhanced cross-account security. - `internal/datadog`: Do not compute host metadata in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `pkg/stanza`: Ensure router operator does not split batches of entries ([#​42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393)) - `pkg/stanza`: Parse all Windows Event XML fields into the log body, including RenderingInfo (with Culture, Channel, Provider, Task, Opcode, Keywords, Message), UserData, ProcessingErrorData, DebugData, and BinaryEventData. ([#​46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943)) Previously, RenderingInfo was only used to derive the top-level level/task/opcode/keywords/message fields. It is now also emitted as a top-level `rendering_info` key containing all fields including `culture`, `channel`, and `provider`. UserData (an alternative to EventData used by some providers) is now parsed into a `user_data` key. Rare schema elements ProcessingErrorData, DebugData, and BinaryEventData are also captured when present. - `processor/resourcedetection`: Added IBM Cloud VPC resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/resourcedetection`: Added IBM Cloud Classic resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/tail_sampling`: Add `sampling_strategy` config with `trace-complete` and `span-ingest` modes for tail sampling decision timing and evaluation behavior. ([#​46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600)) - `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata for S3 logs ([#​47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046)) - `receiver/azure_event_hub`: Add support for Azure Event Hubs distributed processing. This allows the receiver to automatically coordinate partition ownership and checkpointing across multiple collector instances via Azure Blob Storage. ([#​46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595)) - `receiver/docker_stats`: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. ([#​33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557)) A new optional `tls` configuration block is available in `docker_stats` receiver config (and the shared `internal/docker` package). When omitted the connection remains insecure (plain HTTP or Unix socket), preserving existing behavior. When provided it supports the standard `configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`, `insecure_skip_verify`, `min_version`, and `max_version`. A warning is now emitted when a plain `tcp://` or `http://` endpoint is used without TLS, reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0 (see <https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>). - `receiver/docker_stats`: Add "stream\_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. ([#​46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493)) When `stream_stats: true` is set, each container maintains a persistent open Docker stats stream instead of opening and closing a new connection on every scrape cycle. The scraper reads from the cached latest value, which reduces connection overhead. - `receiver/expvar`: Enable the re-aggregation feature for the expvar receiver ([#​45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396)) - `receiver/file_log`: Add `max_log_size_behavior` config option to control oversized log entry behavior ([#​44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371)) The new `max_log_size_behavior` setting controls what happens when a log entry exceeds `max_log_size`. - `split` (default): Splits oversized log entries into multiple log entries. This is the existing behavior. - `truncate`: Truncates oversized log entries and drops the remainder, emitting only a single truncated log entry. - `receiver/hostmetrics`: Enable re-aggregation for system scraper ([#​46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624)) Enabled the reaggregation feature gate for the system scraper. - `receiver/hostmetrics`: Enable re-aggregation for process scraper ([#​46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623)) Enabled the reaggregation feature gate for the process scraper and set all metric attributes (context\_switch\_type, direction, paging\_fault\_type, state) with requirement\_level recommended. - `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver metrics ([#​46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366)) - `receiver/mongodb`: Add `scheme` configuration option to support `mongodb+srv` connections ([#​36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011)) The new `scheme` field allows connecting to MongoDB clusters using SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for backward compatibility. - `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query log records, enabling users to correlate top queries with their corresponding execution plans. ([#​46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626)) - `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id` attributes to query samples. `mysql.session.status` indicates the session status (`waiting`, `running`, or `other`) at the time of the sample. `mysql.session.id` provides the unique session identifier. Both attributes provide additional context for understanding query performance and behavior. ([#​135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350)) - `receiver/mysql`: Add and tune obfuscation of sensitive properties in both V1 and V2 JSON query plans. ([#​46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629), [#​46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587)) Configure and test obfuscation for V1 and V2 plans, including tests of queries retrieved from the performance schema that are truncated and cannot be obfuscated. The importance of obfuscation can be very context dependent; sensitive PII, banking, and authorization data may reside in the same database as less sensitive data, and it can be vital to ensure that what is expected to be obfuscated is always obfuscated. Significant additional testing has been added around query plan obfuscation to ensure that this is enforced and to provide assurance and reference to users about what specifically is obfuscated and what is not. - `receiver/mysql`: Propagates W3C TraceContext from MySQL session variables to query sample log records. When a MySQL session sets `@traceparent`, the receiver extracts the TraceID and SpanID and stamps them onto the corresponding `db.server.query_sample` log record, enabling correlation between application traces and query samples. ([#​46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631)) Only samples from sessions where `@traceparent` is set will have non-zero `traceId` and `spanId` fields on the log record. - `receiver/prometheus`: Add support for reading instrumentation scope attributes from `otel_scope_<attribute-name>` labels while feature-gating deprecation of `otel_scope_info`. ([#​41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502)) Scope attributes are always extracted from `otel_scope_<attribute-name>` labels on metrics. The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate (alpha, disabled by default) controls only whether the legacy `otel_scope_info` metric is ignored for scope attribute extraction. When the gate is disabled, both mechanisms coexist to support migration. See the specification change for motivation: [open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505) - `receiver/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the receiver explicitly panic if used in aix/ppc64 environments. - `receiver/skywalking`: Add feature gate `translator.skywalking.useStableSemconv` to update semantic conventions from v1.18.0 to v1.38.0 ([#​44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796)) A feature gate `translator.skywalking.useStableSemconv` has been added to control the migration. The gate is disabled by default (Alpha stage), so existing behavior is preserved. - `receiver/sqlquery`: Add clickhouse support to sqlquery ([#​47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116)) - `receiver/sqlquery`: Add `row_condition` to metric configuration for filtering result rows by column value ([#​45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862)) Enables extracting individual metrics from pivot-style result sets where each row represents a different metric (e.g. pgbouncer's `SHOW LISTS` command). When `row_condition` is configured on a metric, only rows where the specified column equals the specified value are used; all other rows are silently skipped. - `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL Server receiver. ([#​46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379)) - `receiver/yang_grpc`: Support collecting any metric by browsing the whole metrics tree ([#​47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054)) ##### 🧰 Bug fixes 🧰 - `exporter/kafka`: Fixes the validation for `topic_from_metadata_key` to use partition keys. ([#​46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994)) - `exporter/kafka`: Fix topic routing for multi-resource batches when `topic_from_attribute` is set without resource-level partitioning ([#​46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872)) Previously, when a batch contained multiple resources with different topic attribute values, all data was silently sent to the topic of the first resource. Each resource is now correctly routed to its own topic. - `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter to preserve microseconds instead of truncating to milliseconds. ([#​47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175)) Timestamps were rounded to milliseconds before sending to Splunk HEC. The rounding has been removed, giving microsecond precision in the HEC `time` field. - `extension/bearertokenauth`: Redact bearer token from authentication error messages to prevent credential exposure in logs. ([#​46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200)) Previously, when a client presented an invalid bearer token, the full token value was included in the error message returned by the Authenticate method. This error could be propagated to log output, exposing sensitive credentials. The error message now omits the token value entirely. - `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when using env-based proxy configuration in awsutil ([#​46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892)) When no explicit proxy\_address was configured, the HTTP client manually read HTTPS\_PROXY and used http.ProxyURL which ignores NO\_PROXY. Now delegates to http.ProxyFromEnvironment which correctly handles all proxy environment variables. - `processor/deltatorate`: Append "/s" to the unit of output datapoints to reflect the per-second rate. ([#​46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841)) - `processor/filter`: Fix validation of include and exclude severity configurations so they run independently of LogConditions. ([#​46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883)) - `receiver/datadog`: Propagate Datadog trace sampling priority to all spans translated from a trace chunk. ([#​45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402)) - `receiver/file_log`: Fix data corruption after file compression ([#​46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105)) After a log file is compressed (e.g. test.log → test.log.gz), the receiver configured with `compression: auto` will now correctly decompress the content and continue reading from where the plaintext file left off. - `receiver/file_log`: Fixes bug where File Log receiver did not read the last line of gzip compressed files. ([#​45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572)) - `receiver/hostmetrics`: Align HugePages metric instrument types with the semantic conventions by emitting page\_size, reserved, and surplus as non-monotonic sums instead of gauges. ([#​42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650)) - `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper to prevent panic on zombie processes. ([#​47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095)) - `receiver/journald`: Fix emitting of historical entries on startup ([#​46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556)) When start\_at is "end" (the default), pass --lines=0 to journalctl to suppress the 10 historical entries it emits by default in follow mode. - `receiver/k8s_events`: Exclude DELETED watch events to prevent duplicate event ingestion. ([#​47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035)) - `receiver/mysql`: Remove deprecated `information_schema.processlist` JOIN from query samples template; use `thread.processlist_host` instead. ([#​47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041)) - `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when a SQL query text fails to obfuscate (e.g. due to Oracle truncating a CLOB mid-string-literal). The affected entry is now skipped with a warning log and the rest of the scrape continues normally. ([#​47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151)) - `receiver/otelarrow`: Remove assumed positions of otel arrow root payload types ([#​46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878)) - `receiver/otelarrow`: Fix OTLP fallback handlers returning codes.Unknown instead of codes.Unavailable for pipeline errors, causing upstream exporters to permanently drop data instead of retrying. ([#​46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182)) - `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending resource profiles instead of merging them. ([#​46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991)) - `receiver/prometheus_remote_write`: Count target\_info samples in PRW response stats ([#​47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108)) <!-- previous-version --> ### [`v0.148.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01480) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.148.0) ##### 🛑 Breaking changes 🛑 - `all`: Removes the k8slog receiver after being unmaintained for 3 months ([#​46544](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46544)) - `all`: Remove deprecated SAPM exporter ([#​46555](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46555)) - `all`: Remove the datadogsemantics processor. ([#​46893](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46893)) If you need help, please contact Datadog support: <https://www.datadoghq.com/support>. - `exporter/google_cloud_storage`: `reuse_if_exists` behavior changed: now checks bucket existence instead of attempting creation ([#​45971](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45971)) Previously, `reuse_if_exists=true` would attempt bucket creation and fall back to reusing on conflict. Now, `reuse_if_exists=true` checks if bucket exists (via storage.buckets.get) and uses it, failing if it doesn't exist. Set to true when the service account lacks project-level bucket creation permissions but has bucket-level permissions. `reuse_if_exists=false` still attempts to create the bucket and fails if it already exists. - `exporter/kafka`: Remove deprecated top-level `topic` and `encoding` configuration fields ([#​46916](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46916)) The top-level `topic` and `encoding` fields were deprecated in v0.124.0. Use the per-signal fields instead: `logs::topic`, `metrics::topic`, `traces::topic`, `profiles::topic`, and the corresponding `encoding` fields under each signal section. - `exporter/kafka`: Remove kafka-local batching partitioner wiring and require explicit `sending_queue::batch::partition::metadata_keys` configuration as a superset of `include_metadata_keys` when batching is enabled. ([#​46757](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46757)) - `pkg/ottl`: `truncate_all` function now supports UTF-8 safe truncation ([#​36713](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36713)) The default `truncate_all` behavior has changed. Truncation now respects UTF-8 character boundaries by default (new optional parameter `utf8_safe`, default: `true`), so results stay valid UTF-8 and may be slightly shorter than the limit. To keep the previous byte-level truncation behavior (e.g. for non-UTF-8 data or to avoid any behavior change), set `utf8_safe` to `false` in all `truncate_all` usages. - `receiver/awsecscontainermetrics`: Add ephemeral storage metrics and fix unit strings from Megabytes to MiB ([#​46414](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46414)) Adds two new task-level gauge metrics: `ecs.task.ephemeral_storage.utilized` and `ecs.task.ephemeral_storage.reserved` (in MiB). These metrics are available on AWS Fargate Linux platform version 1.4.0+ and represent the shared ephemeral storage for the entire task. **Breaking change:** The unit string for `ecs.task.memory.utilized`, `ecs.task.memory.reserved`, `container.memory.utilized`, and `container.memory.reserved` has been corrected from `"Megabytes"` to `"MiB"`. The underlying values were already in MiB (computed via division by 1024\*1024), but the unit label was incorrect. Users relying on the exact unit string (e.g. in metric filters or dashboards) will need to update accordingly. - `receiver/mysql`: Set the default collection of query\_sample to false ([#​46902](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46902)) - `receiver/postgresql`: Disable default collection of top\_query and query\_sample events. ([#​46843](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46843)) This change is breaking because it disables the default collection of top\_query and query\_sample events. These events will need to be enabled manually if desired. - `receiver/redfish`: `system.host_name` and `base_url` resource attribute has been changed to `host.name` and `url.full` respectively. ([#​46236](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46236)) - `receiver/windowseventlog`: Change event\_data from an array of single-key maps to a flat map by default, making fields directly accessible via OTTL. The previous format is available by setting `event_data_format: array`. ([#​42565](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42565), [#​32952](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32952)) Named <Data> elements become direct keys (e.g., body\["event\_data"]\["ProcessId"]). Anonymous <Data> elements use numbered keys: param1, param2, etc. To preserve the previous array format, set event\_data\_format: array in the receiver configuration. ##### 🚩 Deprecations 🚩 - `exporter/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46722](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46722)) - `exporter/google_cloud_storage`: Introduce new snake case compliant name `google_cloud_storage` ([#​46733](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46733)) - `extension/aws_logs_encoding`: Introduce new snake case compliant name `aws_logs_encoding` ([#​46776](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46776)) - `extension/azure_auth`: Introduce new snake case compliant name `azure_auth` ([#​46775](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46775)) - `extension/cgroup_runtime`: Introduce new snake case compliant name `cgroup_runtime` ([#​46773](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46773)) - `extension/google_cloud_logentry_encoding`: Introduce new snake case compliant name `google_cloud_logentry_encoding` ([#​46778](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46778)) - `processor/metric_start_time`: Introduce new snake case compliant name `metric_start_time` ([#​46777](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46777)) - `receiver/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46721](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46721)) - `receiver/azure_monitor`: Introduce new snake case compliant name `azure_monitor` ([#​46730](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46730)) - `receiver/cisco_os`: Introduce new snake case compliant name `cisco_os` ([#​46948](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46948)) - `receiver/macos_unified_logging`: Introduce new snake case compliant name `macos_unified_logging` ([#​46729](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46729)) - `receiver/prometheus_remote_write`: Introduce new snake case compliant name `prometheus_remote_write` ([#​46726](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46726)) - `receiver/yang_grpc`: Introduce new snake case compliant name `yang_grpc` ([#​46723](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46723)) ##### 🚀 New components 🚀 - `receiver/azure_functions`: Introduce new component to receive logs from Azure Functions ([#​43507](https://github.com/open-telemetry/opentelemetry-collector-con </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "on tuesday" - 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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
AndrewCharlesHay
pushed a commit
to AndrewCharlesHay/opentelemetry-collector-contrib
that referenced
this pull request
Apr 23, 2026
…ib/extension/storage to v0.150.0 (open-telemetry#47807) > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `v0.147.0` → `v0.150.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/20907) for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage)</summary> ### [`v0.150.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01500) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.150.0) ##### 🛑 Breaking changes 🛑 - `pkg/ottl`: Return errors when OTTL context accessors receive values of the wrong type (part 2) ([#​40198](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40198)) Setters in OTTL contexts now validate that values are of the expected type and return descriptive errors when type mismatches occur. This is the continuation of work done in [#​43505](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43505), addressing remaining contexts: datapoint, profile, profilesample, resource, span, and spanevent. Changes include: - Slice setters (explicit\_bounds, bucket\_counts, positive.bucket\_counts, negative.bucket\_counts) now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better type handling. - SetMap now returns an error for invalid value types instead of silently ignoring them. **Note:** Users may see new errors from OTTL statements that were previously silently failing due to type mismatches. These errors indicate pre-existing issues in OTTL configurations that were not being applied as expected. - `processor/resourcedetection`: Remove feature gate processor.resourcedetection.propagateerrors ([#​45853](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45853)) - `processor/transform`: Remove the `processor.transform.ConvertBetweenSumAndGaugeMetricContext` feature gate. ([#​47358](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47358)) This feature gate has been stable for over a year and is no longer used in any code paths. - `receiver/k8s_cluster`: Kubernetes resource labels in entity events are now prefixed per OTel semantic conventions. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) Labels on Kubernetes resources emitted as entity event attributes are now prefixed with `k8s.<resource>.label.` to align with OTel semantic conventions (e.g. `k8s.pod.label.<key>`, `k8s.node.label.<key>`, `k8s.deployment.label.<key>`, etc.). Previously, label keys were emitted verbatim without any prefix. Users consuming entity event attributes by label key will need to update their configurations. - `receiver/kubeletstats`: Disable deprecated resource attributes by default ([#​47184](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47184)) The following resource attributes are deprecated and will now be disabled by default: `aws.volume.id`, `fs.type`, `gce.pd.name`, `glusterfs.endpoints.name`, `glusterfs.path`, and `partition`. All of these attributes will be removed in a future release. ##### 🚩 Deprecations 🚩 - `receiver/http_check`: Rename `httpcheck` receiver to `http_check` with deprecated alias `httpcheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/named_pipe`: Rename `namedpipe` receiver to `named_pipe` with deprecated alias `namedpipe`. ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tcp_log`: Rename `tcplog` receiver to `tcp_log` with deprecated alias `tcplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/tls_check`: Rename `tlscheck` receiver to `tls_check` with deprecated alias `tlscheck` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/udp_log`: Rename `udplog` receiver to `udp_log` with deprecated alias `udplog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/windows_event_log`: Rename `windowseventlog` receiver to `windows_event_log` with deprecated alias `windowseventlog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) ##### 🚀 New components 🚀 - `exporter/google_secops`: Add Google SecOps exporter for sending logs to the Google SecOps (Chronicle) Ingestion APIs. ([#​46148](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46148)) - `processor/spanpruning`: Add span pruning processor for aggregating repetitive leaf spans in trace data. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `receiver/osquery`: Implement osquery query scraping ([#​30375](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30375)) ##### 💡 Enhancements 💡 - `exporter/datadog`: Promote `exporter.datadogexporter.DisableAllMetricRemapping` feature gate to beta. ([#​47212](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47212)) - All metrics remappings are now handled by the Datadog backend and this should be a transparent change. If you run into any issues, please disable the feature gate by passing `--feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping` and reach out to Datadog support (<https://www.datadoghq.com/support/>). - `exporter/elasticsearch`: Add suppress\_conflict\_errors config to optionally silence document level 409 version conflict logs ([#​47248](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47248)) - `exporter/kafka`: Add `record_headers` configuration option to set static headers on outgoing records ([#​47193](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47193)) - `exporter/kafka`: Add support for partitioning kafka records ([#​46931](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46931)) Add support for RoundRobin and LeastBackup partitioning strategies, as well as custom partitioners provided by RecordPartitionerExtension implementations. Users can implement their own partitioning logic and plug it into the kafka exporter via the RecordPartitionerExtension interface. - `exporter/prometheus`: Exemplar support for exponential histograms in Prometheus exporter ([#​47159](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47159)) - `exporter/prometheus`: prevent panic on histogram with empty BucketCounts. ([#​47351](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47351)) Guard BucketCounts access with a length check in convertDoubleHistogram to avoid index-out-of-range panic when a histogram has explicit bounds but no corresponding bucket counts. - `exporter/signalfx`: Add `dimension_client::strip_k8s_label_prefix` option to strip `k8s.<resource>.label.` prefix from dimension property updates. ([#​47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491)) The k8s cluster receiver now emits Kubernetes resource labels in entity events with the `k8s.<resource>.label.` prefix per OTel semantic conventions (e.g. `k8s.pod.label.app`). When `strip_k8s_label_prefix: true` (the default), the SignalFx exporter strips this prefix when forwarding labels as dimension properties, preserving the existing SignalFx behavior (e.g. `app`). Set `strip_k8s_label_prefix: false` to disable stripping and receive the full prefixed keys. - `exporter/sumologic`: Modify default retry settings to prevent dropping data on transient backend unavailability ([#​47503](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47503)) - `extension/datadog`: Add `gateway_service` and `gateway_destination` config fields to support gateway topology view in Fleet Automation. ([#​47471](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47471)) Gateway collectors set `gateway_service` to the k8s Service fronting them. Agent/daemonset collectors set `gateway_destination` to the k8s Service they forward telemetry to. Both fields are optional and omitted from the metadata payload when empty. - `extension/health_check`: Migrate extension.healthcheck.useComponentStatus feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `extension/sumologic`: Adding support to sumologic extension for auto discovery of services in windows ([#​47349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47349)) - `pkg/ottl`: Add Coalesce converter that returns the first non-nil value from a list of arguments. ([#​46847](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46847)) The Coalesce converter accepts a list of values and returns the first one that is not nil. This simplifies common patterns where a canonical attribute must be resolved from multiple possible sources. Example: `set(attributes["user"], Coalesce([attributes["user.id"], attributes["enduser.id"], "unknown"]))` - `pkg/stanza`: Optimizing the performance of Windows Event log unmarshalling when raw = true ([#​47164](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47164)) - `pkg/stanza`: Add new scrape model for Windows event logs using an event-driven subscription instead of polling ([#​47091](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47091)) - `pkg/stanza`: Add `on_truncate` option to fileconsumer to control behavior when a file's stored offset exceeds its current size. ([#​43693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43693)) - `processor/filter`: Add feature gate `processor.filter.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47232](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232)) - `processor/interval`: Flush remaining buffered metrics on shutdown to prevent data loss during restarts and rollouts. ([#​47238](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47238)) Previously, the interval processor would silently drop any metrics accumulated in its buffer when receiving a shutdown signal. Now it flushes the buffer to the next consumer before exiting, consistent with the batch processor behavior. - `processor/lookup`: Add DNS lookup source and LRU caching ([#​46114](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46114)) Adds a DNS source that performs reverse DNS lookups (PTR records) to resolve IP addresses to hostnames. Implements a full LRU cache with size-based eviction, TTL expiration, and negative caching. The DNS source has caching enabled by default. - `processor/spanpruning`: Add full implementation of the span pruning processor. ([#​45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654)) - `processor/tail_sampling`: Add gated tail storage extension support to tailsampling processor via new tail\_storage config ([#​45250](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45250)) Introduces a new tail storage interface with in-memory default behavior and allows extension-backed storage when the processor.tailsamplingprocessor.tailstorageextension feature gate is enabled. - `processor/transform`: Add feature gate `processor.transform.defaultErrorModeIgnore` to change default error\_mode to ignore ([#​47231](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47231)) - `processor/transform`: Add support for semantic conventions 1.38.0, 1.39.0, and 1.40.0 in the `set_semconv_span_name` function. ([#​45911](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45911)) The `set_semconv_span_name` function now recognizes semantic conventions 1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using the latest rules. Support for the `rpc.system.name` attribute (introduced in 1.39.0) has been added so span names can reflect the new RPC system conventions. Backward compatibility is preserved: the `rpc.system` attribute remains supported. - `receiver/active_directory_ds`: Enables dynamic metric reaggregation in the Active Directory Domain Services receiver. This does not break existing configuration files. ([#​46346](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46346)) - `receiver/apachespark`: Enable the re-aggregation feature for the apachespark receiver ([#​46349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46349)) - `receiver/awss3`: add `tag_object_after_ingestion` flag to the s3 receiver so objects that have been processed can be identified ([#​46078](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46078)) They will be tagged with `otel-collector:status=ingested`. Operators can use that tag to define bucket lifecycle policies. - `receiver/awss3`: add zstd decompression to the s3 receiver ([#​46854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46854)) - `receiver/cloudfoundry`: Migrate cloudfoundry.resourceAttributes.allow feature gate registration from manual code to metadata.yaml for mdatagen code generation ([#​46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116)) - `receiver/elasticsearch`: Enable dynamic attribute metric with attribute re-aggregation in configuration at runtime ([#​46353](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46353)) - `receiver/filestats`: Enable re-aggregation and set requirement levels for attributes. ([#​46355](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46355)) - `receiver/googlecloudpubsub`: Add flow control configuration ([#​44804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44804)) Add flow control configuration, giving advanced users more control over the parameters of the streaming pull control loop. - `receiver/k8s_cluster`: Emit entity references as part of metrics resources. ([#​41080](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41080)) - `receiver/k8sobjects`: Add `kube_api_qps` and `kube_api_burst` config options to control Kubernetes API request rate limits and prevent client-side throttling when watching or polling many resources ([#​44484](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44484)) The same fields are also available in `receiver/k8sevents` via the shared `internal/k8sconfig` package. Default values match the client-go defaults: `kube_api_qps=5`, `kube_api_burst=10`. - `receiver/receiver_creator`: add support for profiling signal for receiver creator ([#​46930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46930)) - `receiver/splunkenterprise`: Add custom search support to the Splunk Enterprise receiver ([#​47124](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47124)) - `receiver/windows_event_log`: Add `discover_domain_controllers` config flag to automatically discover and collect Security events from Active Directory domain controllers based on feature gate domainControllers.autodiscovery. ([#​44156](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44156), [#​44423](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44423)) When `discover_domain_controllers` in config and `domainControllers.autodiscovery` feature gate is set `true` , the receiver queries LDAP Root DSE to discover the root domain path, enumerates all domain controllers in the Active Directory forest, and creates receiver for each domain controller. Falls back to the currently joined DC if the root DN cannot be determined. ##### 🧰 Bug fixes 🧰 - `exporter/awsemf`: Fix data races in getPusher and logPusher that cause nil pointer panics and out-of-order log events ([#​47126](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47126)) - `exporter/awss3`: Use AWS SDK S3 types for StorageClass and ACL validation instead of hardcoded lists ([#​46825](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46825)) The hardcoded list of valid S3 storage classes was missing GLACIER\_IR, REDUCED\_REDUNDANCY, and EXPRESS\_ONEZONE. Replaced both StorageClass and ACL hardcoded validation maps with values from the AWS SDK s3types package to prevent this from going out of date again in the future. - `exporter/datadog`: Fix use-after-free bug causing corrupted quantile sketches when exporting ExponentialHistogram metrics with multiple attribute sets ([#​47338](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47338)) When multiple ExponentialHistogram data points were converted to Datadog sketches in a single export call, the underlying sync.Pool backing array was shared across conversions. A second conversion would reuse and overwrite the first sketch's bin memory, producing non-monotonic bin keys and inflated percentile values. This is fixed by upgrading github.com/DataDog/datadog-agent/pkg/util/quantile to commit [`bfa4eff`](https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfa4eff6c991), which deep-copies the bin slice before returning the sketch. - `exporter/elasticsearch`: Fix malformed JSON creation for numbers in exponential notation. ([#​47363](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47363)) When rendering numbers in exponential notation the exporter JSON implementation always added a radix point (e.g. 1.0 not 1). The implementation had a buffer corruption bug where it was overriding part of the buffer leading to malformed and invalid JSON numbers being created. - `exporter/prometheus`: Fix Prometheus exporter default HTTP server behavior where keep-alives and server timeouts were not using the intended defaults. ([#​47173](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47173)) This fixes default behavior where keep\_alives\_enabled was effectively false unless explicitly configured. - `exporter/prometheus`: Fix unbounded memory growth when metrics are no longer being scraped. ([#​41123](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41123)) Expired metric families now get cleaned up even when no Prometheus scraper is actively collecting, preventing memory from growing indefinitely. - `extension/aws_logs_encoding`: Add `source_region` field (27th field) to S3 server access log parser and skip unknown future fields gracefully. ([#​47149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47149)) AWS added a `source_region` field to the S3 server access log format. The parser previously returned an error ("values in log line exceed the number of available fields") when it encountered log lines with more fields than defined. This fix: - Adds `source_region` as field index 26 mapped to `aws.s3.source_region`. - Makes the parser skip any fields beyond the known schema instead of failing, providing forward compatibility with future AWS S3 access log additions. - `pkg/stanza`: Fix severity parser to work with JSON parser with `parse_ints: true` ([#​47209](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47209)) - `receiver/awss3`: Fix infinite loop and metric skew caused by SQS failing to parse and delete "s3:TestEvent" messages ([#​47045](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47045)) - `receiver/vcenter`: Fixes a nil pointer dereference panic in recordVMStats when scraping metrics from VMs with missing performance counters ([#​46977](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46977)) <!-- previous-version --> ### [`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0) ##### 🛑 Breaking changes 🛑 - `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode ([#​46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900)) Use [processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor) v0.36.2 or later for `host.os.type` enrichment - `receiver/prometheus`: Remove the deprecated `report_extra_scrape_metrics` receiver configuration option and obsolete extra scrape metric feature gates. ([#​44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181)) `report_extra_scrape_metrics` is no longer accepted in `prometheusreceiver` configuration. Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead. ##### 🚩 Deprecations 🚩 - `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp\_v1) in favor of encoding extensions. ([#​45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830)) Use the aws\_logs\_encoding extension (format: cloudwatch) instead of cwlogs, and the awscloudwatchmetricstreams\_encoding extension instead of cwmetrics (format: json) or otlp\_v1 (format: opentelemetry1.0). - `receiver/file_log`: Rename `filelog` receiver to `file_log` with deprecated alias `filelog` ([#​45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339)) - `receiver/kafka`: Deprecate the built-in `azure_resource_logs` encoding in favour of `azureencodingextension`. ([#​46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267)) The built-in `azure_resource_logs` encoding does not support all timestamp formats emitted by Azure services (e.g. US-format timestamps from Azure Functions). Users should migrate to the [`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension), which provides full control over time formats and is actively maintained. ##### 💡 Enhancements 💡 - `cmd/opampsupervisor`: Add configuration validation before applying remote config to prevent collector downtime ([#​41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068)) Validates collector configurations before applying them, preventing downtime from invalid remote configs. Disabled by default. Enable via `agent.validate_config: true`. May produce false positives when resources like ports are temporarily unavailable during validation. - `connector/datadog`: Document datadog connector is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `connector/signal_to_metrics`: Add `keys_expression` support in `include_resource_attributes` and `attributes` for dynamic attribute key resolution at runtime ([#​46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884)) The `keys_expression` field allows specifying an OTTL value expression that resolves to a list of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime data such as client metadata. Exactly one of `key` or `keys_expression` must be set per entry. - `connector/signal_to_metrics`: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. ([#​47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197)) - `connector/signal_to_metrics`: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. ([#​47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183)) Pre-computing the collector key avoids a string allocation on every signal processed. - `exporter/datadog`: Document datadog exporter is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass midpoint approximation for histogram metrics ([#​47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150)) - `exporter/elasticsearch`: Cache metric attribute set per bulk session instead of recomputing it for every document ([#​47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170)) `syncBulkIndexerSession.Add()` was calling `getAttributesFromMetadataKeys` + `attribute.NewSet` + `metric.WithAttributeSet` on every document in the hot path. The attribute set is derived from the request context metadata, which is constant for the lifetime of a session, so it is now computed once in `StartSession` and reused across all `Add()` calls in that session. - `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping mode ([#​46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936)) \_doc\_count is a special metadata field in Elasticsearch used when a document represents pre-aggregated data (like histograms or aggregate metrics). Currently, elasticsearchexporter only populates this field for otel mapping mode (native otel field structure). This change adds support for ECS mapping mode (native ECS field structure) so that we have consistent behavior for both mapping modes. - `exporter/elasticsearch`: Encode `require_data_stream` in Elasticsearch bulk action metadata instead of the bulk request query string. ([#​46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970)) This preserves existing endpoint query parameters while moving `require_data_stream` to the per-document action line expected by newer bulk workflows. Benchmarks show a stable \~27 bytes/item NDJSON payload overhead before compression. - `exporter/elasticsearch`: Improve performance of Elasticsearch exporter document serialisation ([#​47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171)) - `exporter/elasticsearch`: Add metric for docs retried because of request errors ([#​46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215)) - `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook to reduce per-export allocations ([#​47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186)) `OnBrokerE2E` previously rebuilt `attribute.NewSet` + `metric.WithAttributeSet` on every call. The set of distinct (nodeID, host, outcome) combinations is bounded by 2 × number-of-brokers, so the computed `MeasurementOption` is now cached per key. - `exporter/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the exporter explicitly panic if used in aix/ppc64 environments. - `extension/datadog`: Document datadog extension is not supported in aix environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `extension/db_storage`: Make dbstorage work in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) sqlite support is offered via modernC, which doesn't support the AIX ppc64 compilation target. We carve out support for sqlite in AIX environments so contrib can compile for this compilation target. - `extension/health_check`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/healthcheckv2`: Add component event attributes to serialized output. ([#​43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606)) When `http.status.include_attributes` is enabled in the healthcheckv2 extension (with `use_v2: true`), users will see additional attributes in the status output. These attributes provide more context about component states, including details like error messages and affected components. For example: ```json { "healthy": false, "status": "error", "attributes": { "error_msg": "not enough permissions to read cpu data", "scrapers": ["cpu", "memory", "network"] } } ``` - `extension/sigv4auth`: Add support for External IDs when assuming roles in cross-account authentication scenarios ([#​44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930)) Added external\_id field to the AssumeRole configuration, allowing users to specify an External ID when assuming roles for enhanced cross-account security. - `internal/datadog`: Do not compute host metadata in AIX environments ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target. - `pkg/stanza`: Ensure router operator does not split batches of entries ([#​42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393)) - `pkg/stanza`: Parse all Windows Event XML fields into the log body, including RenderingInfo (with Culture, Channel, Provider, Task, Opcode, Keywords, Message), UserData, ProcessingErrorData, DebugData, and BinaryEventData. ([#​46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943)) Previously, RenderingInfo was only used to derive the top-level level/task/opcode/keywords/message fields. It is now also emitted as a top-level `rendering_info` key containing all fields including `culture`, `channel`, and `provider`. UserData (an alternative to EventData used by some providers) is now parsed into a `user_data` key. Rare schema elements ProcessingErrorData, DebugData, and BinaryEventData are also captured when present. - `processor/resourcedetection`: Added IBM Cloud VPC resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/resourcedetection`: Added IBM Cloud Classic resource detector to the Resource Detection Processor ([#​46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874)) - `processor/tail_sampling`: Add `sampling_strategy` config with `trace-complete` and `span-ingest` modes for tail sampling decision timing and evaluation behavior. ([#​46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600)) - `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata for S3 logs ([#​47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046)) - `receiver/azure_event_hub`: Add support for Azure Event Hubs distributed processing. This allows the receiver to automatically coordinate partition ownership and checkpointing across multiple collector instances via Azure Blob Storage. ([#​46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595)) - `receiver/docker_stats`: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. ([#​33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557)) A new optional `tls` configuration block is available in `docker_stats` receiver config (and the shared `internal/docker` package). When omitted the connection remains insecure (plain HTTP or Unix socket), preserving existing behavior. When provided it supports the standard `configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`, `insecure_skip_verify`, `min_version`, and `max_version`. A warning is now emitted when a plain `tcp://` or `http://` endpoint is used without TLS, reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0 (see <https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>). - `receiver/docker_stats`: Add "stream\_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. ([#​46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493)) When `stream_stats: true` is set, each container maintains a persistent open Docker stats stream instead of opening and closing a new connection on every scrape cycle. The scraper reads from the cached latest value, which reduces connection overhead. - `receiver/expvar`: Enable the re-aggregation feature for the expvar receiver ([#​45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396)) - `receiver/file_log`: Add `max_log_size_behavior` config option to control oversized log entry behavior ([#​44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371)) The new `max_log_size_behavior` setting controls what happens when a log entry exceeds `max_log_size`. - `split` (default): Splits oversized log entries into multiple log entries. This is the existing behavior. - `truncate`: Truncates oversized log entries and drops the remainder, emitting only a single truncated log entry. - `receiver/hostmetrics`: Enable re-aggregation for system scraper ([#​46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624)) Enabled the reaggregation feature gate for the system scraper. - `receiver/hostmetrics`: Enable re-aggregation for process scraper ([#​46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623)) Enabled the reaggregation feature gate for the process scraper and set all metric attributes (context\_switch\_type, direction, paging\_fault\_type, state) with requirement\_level recommended. - `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver metrics ([#​46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366)) - `receiver/mongodb`: Add `scheme` configuration option to support `mongodb+srv` connections ([#​36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011)) The new `scheme` field allows connecting to MongoDB clusters using SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for backward compatibility. - `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query log records, enabling users to correlate top queries with their corresponding execution plans. ([#​46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626)) - `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id` attributes to query samples. `mysql.session.status` indicates the session status (`waiting`, `running`, or `other`) at the time of the sample. `mysql.session.id` provides the unique session identifier. Both attributes provide additional context for understanding query performance and behavior. ([#​135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350)) - `receiver/mysql`: Add and tune obfuscation of sensitive properties in both V1 and V2 JSON query plans. ([#​46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629), [#​46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587)) Configure and test obfuscation for V1 and V2 plans, including tests of queries retrieved from the performance schema that are truncated and cannot be obfuscated. The importance of obfuscation can be very context dependent; sensitive PII, banking, and authorization data may reside in the same database as less sensitive data, and it can be vital to ensure that what is expected to be obfuscated is always obfuscated. Significant additional testing has been added around query plan obfuscation to ensure that this is enforced and to provide assurance and reference to users about what specifically is obfuscated and what is not. - `receiver/mysql`: Propagates W3C TraceContext from MySQL session variables to query sample log records. When a MySQL session sets `@traceparent`, the receiver extracts the TraceID and SpanID and stamps them onto the corresponding `db.server.query_sample` log record, enabling correlation between application traces and query samples. ([#​46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631)) Only samples from sessions where `@traceparent` is set will have non-zero `traceId` and `spanId` fields on the log record. - `receiver/prometheus`: Add support for reading instrumentation scope attributes from `otel_scope_<attribute-name>` labels while feature-gating deprecation of `otel_scope_info`. ([#​41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502)) Scope attributes are always extracted from `otel_scope_<attribute-name>` labels on metrics. The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate (alpha, disabled by default) controls only whether the legacy `otel_scope_info` metric is ignored for scope attribute extraction. When the gate is disabled, both mechanisms coexist to support migration. See the specification change for motivation: [open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505) - `receiver/pulsar`: This component does not support aix/ppc64. ([#​47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010)) Make the receiver explicitly panic if used in aix/ppc64 environments. - `receiver/skywalking`: Add feature gate `translator.skywalking.useStableSemconv` to update semantic conventions from v1.18.0 to v1.38.0 ([#​44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796)) A feature gate `translator.skywalking.useStableSemconv` has been added to control the migration. The gate is disabled by default (Alpha stage), so existing behavior is preserved. - `receiver/sqlquery`: Add clickhouse support to sqlquery ([#​47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116)) - `receiver/sqlquery`: Add `row_condition` to metric configuration for filtering result rows by column value ([#​45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862)) Enables extracting individual metrics from pivot-style result sets where each row represents a different metric (e.g. pgbouncer's `SHOW LISTS` command). When `row_condition` is configured on a metric, only rows where the specified column equals the specified value are used; all other rows are silently skipped. - `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL Server receiver. ([#​46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379)) - `receiver/yang_grpc`: Support collecting any metric by browsing the whole metrics tree ([#​47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054)) ##### 🧰 Bug fixes 🧰 - `exporter/kafka`: Fixes the validation for `topic_from_metadata_key` to use partition keys. ([#​46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994)) - `exporter/kafka`: Fix topic routing for multi-resource batches when `topic_from_attribute` is set without resource-level partitioning ([#​46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872)) Previously, when a batch contained multiple resources with different topic attribute values, all data was silently sent to the topic of the first resource. Each resource is now correctly routed to its own topic. - `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter to preserve microseconds instead of truncating to milliseconds. ([#​47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175)) Timestamps were rounded to milliseconds before sending to Splunk HEC. The rounding has been removed, giving microsecond precision in the HEC `time` field. - `extension/bearertokenauth`: Redact bearer token from authentication error messages to prevent credential exposure in logs. ([#​46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200)) Previously, when a client presented an invalid bearer token, the full token value was included in the error message returned by the Authenticate method. This error could be propagated to log output, exposing sensitive credentials. The error message now omits the token value entirely. - `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when using env-based proxy configuration in awsutil ([#​46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892)) When no explicit proxy\_address was configured, the HTTP client manually read HTTPS\_PROXY and used http.ProxyURL which ignores NO\_PROXY. Now delegates to http.ProxyFromEnvironment which correctly handles all proxy environment variables. - `processor/deltatorate`: Append "/s" to the unit of output datapoints to reflect the per-second rate. ([#​46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841)) - `processor/filter`: Fix validation of include and exclude severity configurations so they run independently of LogConditions. ([#​46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883)) - `receiver/datadog`: Propagate Datadog trace sampling priority to all spans translated from a trace chunk. ([#​45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402)) - `receiver/file_log`: Fix data corruption after file compression ([#​46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105)) After a log file is compressed (e.g. test.log → test.log.gz), the receiver configured with `compression: auto` will now correctly decompress the content and continue reading from where the plaintext file left off. - `receiver/file_log`: Fixes bug where File Log receiver did not read the last line of gzip compressed files. ([#​45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572)) - `receiver/hostmetrics`: Align HugePages metric instrument types with the semantic conventions by emitting page\_size, reserved, and surplus as non-monotonic sums instead of gauges. ([#​42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650)) - `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper to prevent panic on zombie processes. ([#​47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095)) - `receiver/journald`: Fix emitting of historical entries on startup ([#​46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556)) When start\_at is "end" (the default), pass --lines=0 to journalctl to suppress the 10 historical entries it emits by default in follow mode. - `receiver/k8s_events`: Exclude DELETED watch events to prevent duplicate event ingestion. ([#​47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035)) - `receiver/mysql`: Remove deprecated `information_schema.processlist` JOIN from query samples template; use `thread.processlist_host` instead. ([#​47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041)) - `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when a SQL query text fails to obfuscate (e.g. due to Oracle truncating a CLOB mid-string-literal). The affected entry is now skipped with a warning log and the rest of the scrape continues normally. ([#​47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151)) - `receiver/otelarrow`: Remove assumed positions of otel arrow root payload types ([#​46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878)) - `receiver/otelarrow`: Fix OTLP fallback handlers returning codes.Unknown instead of codes.Unavailable for pipeline errors, causing upstream exporters to permanently drop data instead of retrying. ([#​46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182)) - `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending resource profiles instead of merging them. ([#​46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991)) - `receiver/prometheus_remote_write`: Count target\_info samples in PRW response stats ([#​47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108)) <!-- previous-version --> ### [`v0.148.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01480) [Compare Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.148.0) ##### 🛑 Breaking changes 🛑 - `all`: Removes the k8slog receiver after being unmaintained for 3 months ([#​46544](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46544)) - `all`: Remove deprecated SAPM exporter ([#​46555](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46555)) - `all`: Remove the datadogsemantics processor. ([#​46893](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46893)) If you need help, please contact Datadog support: <https://www.datadoghq.com/support>. - `exporter/google_cloud_storage`: `reuse_if_exists` behavior changed: now checks bucket existence instead of attempting creation ([#​45971](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45971)) Previously, `reuse_if_exists=true` would attempt bucket creation and fall back to reusing on conflict. Now, `reuse_if_exists=true` checks if bucket exists (via storage.buckets.get) and uses it, failing if it doesn't exist. Set to true when the service account lacks project-level bucket creation permissions but has bucket-level permissions. `reuse_if_exists=false` still attempts to create the bucket and fails if it already exists. - `exporter/kafka`: Remove deprecated top-level `topic` and `encoding` configuration fields ([#​46916](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46916)) The top-level `topic` and `encoding` fields were deprecated in v0.124.0. Use the per-signal fields instead: `logs::topic`, `metrics::topic`, `traces::topic`, `profiles::topic`, and the corresponding `encoding` fields under each signal section. - `exporter/kafka`: Remove kafka-local batching partitioner wiring and require explicit `sending_queue::batch::partition::metadata_keys` configuration as a superset of `include_metadata_keys` when batching is enabled. ([#​46757](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46757)) - `pkg/ottl`: `truncate_all` function now supports UTF-8 safe truncation ([#​36713](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36713)) The default `truncate_all` behavior has changed. Truncation now respects UTF-8 character boundaries by default (new optional parameter `utf8_safe`, default: `true`), so results stay valid UTF-8 and may be slightly shorter than the limit. To keep the previous byte-level truncation behavior (e.g. for non-UTF-8 data or to avoid any behavior change), set `utf8_safe` to `false` in all `truncate_all` usages. - `receiver/awsecscontainermetrics`: Add ephemeral storage metrics and fix unit strings from Megabytes to MiB ([#​46414](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46414)) Adds two new task-level gauge metrics: `ecs.task.ephemeral_storage.utilized` and `ecs.task.ephemeral_storage.reserved` (in MiB). These metrics are available on AWS Fargate Linux platform version 1.4.0+ and represent the shared ephemeral storage for the entire task. **Breaking change:** The unit string for `ecs.task.memory.utilized`, `ecs.task.memory.reserved`, `container.memory.utilized`, and `container.memory.reserved` has been corrected from `"Megabytes"` to `"MiB"`. The underlying values were already in MiB (computed via division by 1024\*1024), but the unit label was incorrect. Users relying on the exact unit string (e.g. in metric filters or dashboards) will need to update accordingly. - `receiver/mysql`: Set the default collection of query\_sample to false ([#​46902](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46902)) - `receiver/postgresql`: Disable default collection of top\_query and query\_sample events. ([#​46843](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46843)) This change is breaking because it disables the default collection of top\_query and query\_sample events. These events will need to be enabled manually if desired. - `receiver/redfish`: `system.host_name` and `base_url` resource attribute has been changed to `host.name` and `url.full` respectively. ([#​46236](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46236)) - `receiver/windowseventlog`: Change event\_data from an array of single-key maps to a flat map by default, making fields directly accessible via OTTL. The previous format is available by setting `event_data_format: array`. ([#​42565](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42565), [#​32952](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32952)) Named <Data> elements become direct keys (e.g., body\["event\_data"]\["ProcessId"]). Anonymous <Data> elements use numbered keys: param1, param2, etc. To preserve the previous array format, set event\_data\_format: array in the receiver configuration. ##### 🚩 Deprecations 🚩 - `exporter/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46722](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46722)) - `exporter/google_cloud_storage`: Introduce new snake case compliant name `google_cloud_storage` ([#​46733](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46733)) - `extension/aws_logs_encoding`: Introduce new snake case compliant name `aws_logs_encoding` ([#​46776](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46776)) - `extension/azure_auth`: Introduce new snake case compliant name `azure_auth` ([#​46775](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46775)) - `extension/cgroup_runtime`: Introduce new snake case compliant name `cgroup_runtime` ([#​46773](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46773)) - `extension/google_cloud_logentry_encoding`: Introduce new snake case compliant name `google_cloud_logentry_encoding` ([#​46778](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46778)) - `processor/metric_start_time`: Introduce new snake case compliant name `metric_start_time` ([#​46777](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46777)) - `receiver/azure_blob`: Introduce new snake case compliant name `azure_blob` ([#​46721](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46721)) - `receiver/azure_monitor`: Introduce new snake case compliant name `azure_monitor` ([#​46730](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46730)) - `receiver/cisco_os`: Introduce new snake case compliant name `cisco_os` ([#​46948](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46948)) - `receiver/macos_unified_logging`: Introduce new snake case compliant name `macos_unified_logging` ([#​46729](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46729)) - `receiver/prometheus_remote_write`: Introduce new snake case compliant name `prometheus_remote_write` ([#​46726](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46726)) - `receiver/yang_grpc`: Introduce new snake case compliant name `yang_grpc` ([#​46723](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46723)) ##### 🚀 New components 🚀 - `receiver/azure_functions`: Introduce new component to receive logs from Azure Functions ([#​43507](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43507)) This change includes only overall structure, readme and configuration for the new component. ##### 💡 Enhance </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "on tuesday" - 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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This was referenced Apr 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #4223
Prototypes:
Changes
Currently (before this PR) Prometheus and OpenMetrics Compatibility assumes that only scope name and scope version are identifying.
However, with #4161 this is no longer true.
Therefore, this PR updates the Prometheus and OpenMetrics Compatibility specification to add the scope name, version, schema URL, scope attributes to all metrics.
This also removes the
otel_scope_infoas it looks that it won't be useful. See: #4223 (comment).This change important for Collector open-telemetry/opentelemetry-go#5846 (comment). It is also is necessary towards stabilization of OTel-Prom/OpenMetrics compatibility) and the Prometheus exporter.
Initially, I thought about splitting it into a few PRs. However, it looks like doing it in one PR would be a more complete approach (also there are not that many changes).