Skip to content

Conversation

@cjksplunk
Copy link
Contributor

Description

Adds mysql.session_status to the MySQL query_sample Event

Link to tracking issue

Fixes #45941

Testing

Tests updated to test for new Event attribute

Documentation

This is a simple attribute added to the query_sample event output. values include running, waiting, and other. This value is determined as part of the query and code impact is minimal.

cjksplunk and others added 30 commits April 23, 2025 10:28
…concurrently, there is a need to track the last gathering time for each path. Also updated time calculation
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.
compacted the JSON query plan, updated placeholder values if plan is not available.
* Adding the query and tracking of stored procedures to events

* Fixed missing process id

* Removing stored procedure type
Updating tests

* Added changelog entry

* Added changelog entry

* reverted changelog entry

* fix changelog entry

* updates to variable naming and usage

* updates to variable naming and usage

* updates to variable naming and usage

* ran make generate

* Moved QuerySampleCount and TopQueryCount ot of params and reference config obj directly

* Added issue to changelog

* Replaced values with vars

* Integrating stored procedure values for samples

* updates to test data

* Backout unintended merge

* updating change log

* Fix for inaccurate query count being reported in postgresql query metrics collection

* change log

* this fix is for sqlserver

* fill issue details

* go generate

* fix lint

* make gogci

* tweak to samples sql

* Revert checks around sending metrics for countInDb=1, since it's addressing a negligable edge case.

* Updates in prep for testing

* fix lint

* cleanup

* Fix invalid casting and update old test

* Updating topN query to use HAVING instead of external WHERE clause

* Query Tuning

---------

Co-authored-by: sreenathv <[email protected]>
cjksplunk and others added 30 commits February 10, 2026 12:39
* Additional query-level metrics that can be emitted as Logs to include query and plan text

* Updating tests

* reverted changes to var name

* removed query_metrics_as_logs

* reverted go to 1.23.0

* set new metrics to default enabled false

* updated to remove query_metrics_as_logs

* updated to remove query_metrics_as_logs

* moved logs to development stability

* Because metrics and logs are now both reported, but are not gathered concurrently, there is a need to track the last gathering time for each path. Also updated time calculation

* Changing metric names and many log metrics per EO, adding scope name and version, updating test data.

* Removed now unused columns and edited appropriate query

* Updated config per EO to have top_query_collection.top_query_count

* Updated log EventName

* Moved some attribute keys to constants

* removed unnecessary empty log checking

* re-added some metrics to the query.
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.

* Added enablement to top_query_collection

* updated the expected data

* defaulted the TopQueryCollection enablement to false per OTel guidelines

* Updated docs to include top_query_collection

* re-added log metric attributes that had been previously backed out.
compacted the JSON query plan, updated placeholder values if plan is not available.

* Updated to cover code updates

* Updates covering changes requested by EO and test updates

* Adding missing test data file

* Updating docs to list Logs attributes emitted in top_query_collection

* Updates to make the topx and samples export

* Adding Sha256 hash for plan hash

* Updates to make the topx and samples export

* updating error logging

* Update query plan retrieval so that if a plan cannot be retrieved.

* Adding schema to the samples query so that the explain plan for the query can be retrieved if needed.

* Updating attribute names for tests

* Updating attribute names for tests and adding the current schema to the results.

* Updating attribute names

* Adding an explanation about limits to retrieving EXPLAIN plans.

* Updates based on attribute renaming

* Updates based on attribute renaming and fetching EXPLAIN plan and hash for samples

* Updates based on attribute renaming

* updated autogen docs and generated code

* Adding changelog file

* Reverting irrelevant change

* Reverting irrelevant change

* Update Changelog

* Removing redundant network.peer.* event attributes

* Removing redundant network.peer.* event attributes

* Updating event attribute names per owner recommendations

* updating generated tests

* updating generated files

* updating generated files
* Additional query-level metrics that can be emitted as Logs to include query and plan text

* Updating tests

* reverted changes to var name

* removed query_metrics_as_logs

* reverted go to 1.23.0

* set new metrics to default enabled false

* updated to remove query_metrics_as_logs

* updated to remove query_metrics_as_logs

* moved logs to development stability

* Because metrics and logs are now both reported, but are not gathered concurrently, there is a need to track the last gathering time for each path. Also updated time calculation

* Changing metric names and many log metrics per EO, adding scope name and version, updating test data.

* Removed now unused columns and edited appropriate query

* Updated config per EO to have top_query_collection.top_query_count

* Updated log EventName

* Moved some attribute keys to constants

* removed unnecessary empty log checking

* re-added some metrics to the query.
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.

* Added enablement to top_query_collection

* updated the expected data

* defaulted the TopQueryCollection enablement to false per OTel guidelines

* Updated docs to include top_query_collection

* re-added log metric attributes that had been previously backed out.
compacted the JSON query plan, updated placeholder values if plan is not available.

* Updated to cover code updates

* Updates covering changes requested by EO and test updates

* Adding missing test data file

* Updating docs to list Logs attributes emitted in top_query_collection

* Updates to make the topx and samples export

* Adding Sha256 hash for plan hash

* Updates to make the topx and samples export

* updating error logging

* Update query plan retrieval so that if a plan cannot be retrieved.

* Adding schema to the samples query so that the explain plan for the query can be retrieved if needed.

* Updating attribute names for tests

* Updating attribute names for tests and adding the current schema to the results.

* Updating attribute names

* Adding an explanation about limits to retrieving EXPLAIN plans.

* Updates based on attribute renaming

* Updates based on attribute renaming and fetching EXPLAIN plan and hash for samples

* Updates based on attribute renaming

* updated autogen docs and generated code

* Adding changelog file

* Reverting irrelevant change

* Reverting irrelevant change

* Update Changelog

* Removing redundant network.peer.* event attributes

* Removing redundant network.peer.* event attributes

* Updating event attribute names per owner recommendations

* updating generated tests

* updating generated files

* updating generated files

* post make gogci
* Additional query-level metrics that can be emitted as Logs to include query and plan text

* Updating tests

* reverted changes to var name

* removed query_metrics_as_logs

* reverted go to 1.23.0

* set new metrics to default enabled false

* updated to remove query_metrics_as_logs

* updated to remove query_metrics_as_logs

* moved logs to development stability

* Because metrics and logs are now both reported, but are not gathered concurrently, there is a need to track the last gathering time for each path. Also updated time calculation

* Changing metric names and many log metrics per EO, adding scope name and version, updating test data.

* Removed now unused columns and edited appropriate query

* Updated config per EO to have top_query_collection.top_query_count

* Updated log EventName

* Moved some attribute keys to constants

* removed unnecessary empty log checking

* re-added some metrics to the query.
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.

* Added enablement to top_query_collection

* updated the expected data

* defaulted the TopQueryCollection enablement to false per OTel guidelines

* Updated docs to include top_query_collection

* re-added log metric attributes that had been previously backed out.
compacted the JSON query plan, updated placeholder values if plan is not available.

* Updated to cover code updates

* Updates covering changes requested by EO and test updates

* Adding missing test data file

* Updating docs to list Logs attributes emitted in top_query_collection

* Updates to make the topx and samples export

* Adding Sha256 hash for plan hash

* Updates to make the topx and samples export

* updating error logging

* Update query plan retrieval so that if a plan cannot be retrieved.

* Adding schema to the samples query so that the explain plan for the query can be retrieved if needed.

* Updating attribute names for tests

* Updating attribute names for tests and adding the current schema to the results.

* Updating attribute names

* Adding an explanation about limits to retrieving EXPLAIN plans.

* Updates based on attribute renaming

* Updates based on attribute renaming and fetching EXPLAIN plan and hash for samples

* Updates based on attribute renaming

* updated autogen docs and generated code

* Adding changelog file

* Reverting irrelevant change

* Reverting irrelevant change

* Update Changelog

* Removing redundant network.peer.* event attributes

* Removing redundant network.peer.* event attributes

* Updating event attribute names per owner recommendations

* updating generated tests

* updating generated files

* updating generated files

* post make gogci

* Update module cloud.google.com/go/pubsub/v2 to v2.4.0 (#45967)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[cloud.google.com/go/pubsub/v2](https://redirect.github.com/googleapis/google-cloud-go)
| `v2.3.0` → `v2.4.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fpubsub%2fv2/v2.4.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fpubsub%2fv2/v2.3.0/v2.4.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <[email protected]>

* Update github-actions deps (#45966)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [fossas/fossa-action](https://redirect.github.com/fossas/fossa-action)
| action | minor | `v1.7.0` → `v1.8.0` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.32.1` → `v4.32.2` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
([changelog](https://redirect.github.com/github/codeql-action/compare/6bc82e05fd0ea64601dd4b465378bbcf57de0314..45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2))
| action | digest | `6bc82e0` → `45cbd0c` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>fossas/fossa-action (fossas/fossa-action)</summary>

###
[`v1.8.0`](https://redirect.github.com/fossas/fossa-action/compare/v1.7.0...v1.8.0)

[Compare
Source](https://redirect.github.com/fossas/fossa-action/compare/v1.7.0...v1.8.0)

</details>

<details>
<summary>github/codeql-action (github/codeql-action)</summary>

###
[`v4.32.2`](https://redirect.github.com/github/codeql-action/compare/v4.32.1...v4.32.2)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.32.1...v4.32.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/pprof to v0.145.0 (#45972)

> ℹ️ **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/pkg/translator/pprof](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.0.0-00010101000000-000000000000` → `v0.145.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fpkg%2ftranslator%2fpprof/v0.145.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fpkg%2ftranslator%2fpprof/v0.0.0-00010101000000-000000000000/v0.145.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/pprof)</summary>

###
[`v0.145.0`](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01450)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.144.0...v0.145.0)

##### 🛑 Breaking changes 🛑

- `exporter/sentry`: Create a new version of the sentryexporter that
supports dynamic routing to Sentry projects
([#&#8203;45051](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45051))

- `pkg/translator/azure`: Updated OpenTelemetry semantic conversion to
the latest version 1.38.0 in azure pkg.
([#&#8203;44801](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44801))

- `processor/resourcedetection`: Promote
`processor.resourcedetection.removeGCPFaasID` feature gate to Stable and
is now always enabled
([#&#8203;45797](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45797))
  The faas.id attribute is replaced by the faas.instance attribute.

- `receiver/azure_event_hub`: Upgrade
`receiver.azureeventhubreceiver.UseAzeventhubs` feature gate to stable.
([#&#8203;45527](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45527))

- `receiver/github`: Make step spans siblings of queue-job span under
job span instead of children of queue-job span
([#&#8203;42623](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42623))
This change improves a workflow job trace structure by making step spans
siblings of the queue-job span under the job span.
Reflecting that queuing and step execution are sequential phases rather
than nested operations which more accurately aligns with the
specification.

- `receiver/kafka`: Replace `StartTracesOp`/`EndTracesOp` with
`StartProfilesOp`/`EndProfilesOp` in profilesHandler.
([#&#8203;45601](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45601))
The span name generated by the profiles receiver now uses the
`ProfilesReceived` suffix instead of `TraceDataReceived`.

- `receiver/prometheus`: Promote
`receiver.prometheusreceiver.RemoveReportExtraScrapeMetricsConfig`
feature gate to beta
([#&#8203;44181](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181))
The `report_extra_scrape_metrics` configuration option is now ignored by
default. Extra scrape metrics are instead controlled by the
`receiver.prometheusreceiver.EnableReportExtraScrapeMetrics` feature
gate and the Prometheus upstream configuration available in `promconfig`
(either globally or per-scrape config).

##### 🚩 Deprecations 🚩

- `receiver/azure_event_hub`: Rename `azureeventhub` receiver to
`azure_event_hub` and add deprecated alias `azureeventhub`
([#&#8203;45637](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45637))
- `receiver/jmx`: Deprecate the jmxreceiver to avoid running Java
subprocesses in the Collector and prevent container-based deployments
from requiring a Java runtime.
([#&#8203;45740](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45740))
- `receiver/mongodb_atlas`: Rename `mongodbatlas` receiver to
`mongodb_atlas` and add deprecated alias `mongodbatlas`
([#&#8203;45652](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45652))

##### 💡 Enhancements 💡

- `connector/routing`: Add move/copy support in routing connector
([#&#8203;45061](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45061))

- `exporter/googlecloudstorage`: Add support for exporting traces to
Google Cloud Storage
([#&#8203;44945](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44945))

- `exporter/signalfx`: Add support for processing entity events from
logs pipeline to send as dimension property updates
([#&#8203;27890](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/27890))
The SignalFx exporter now supports processing entity events (e.g., from
k8s\_cluster receiver)
received via the logs pipeline and converting them to dimension property
updates. This provides
an alternative to the metadata\_exporters option and enables consistent
metadata handling.
This feature is behind the `exporter.signalfx.consumeEntityEvents`
feature gate (disabled by default).

- `extension/awslogs_encoding`: Add support for processing CloudTrail
logs from CloudWatch subscription filters
([#&#8203;45354](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45354))

- `extension/awslogs_encoding`: Allow using aws.user\_identity prefix
for UserIdentity bound attributes. This is enabled with
extension.awslogsencoding.cloudtrail.enable.user.identity.prefix feature
gate ID.
([#&#8203;43638](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43638))

- `extension/azure_encoding`: Add processing for Application Gateway,
Azure Messaging (ServiceBus and EventHub), Data Factory, FunctionApps
and BlobStorage logs records
([#&#8203;41725](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41725))

- `extension/oauth2client`: Support jwt-bearer grant-type (RFC7523)
([#&#8203;44314](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44314))

- `extension/opamp`: This change adds support for the OpAMP
AcceptsRestartCommand capability. The implementation for this capability
sends a SIGHUP signal to restart the collector which will reload the
config on startup.
([#&#8203;45056](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45056))
This functionality is behind a feature gate
(extension.opampextension.RemoteRestarts) that defaults disabled. The
SIGHUP signal does not work on windows systems, but might later be
updated to use the SIGUSR2 signal.

- `internal/coreinternal`: Improve performance of hashing function for
attraction package.
([#&#8203;45211](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45211))

- `pkg/fileconsumer`: Open files on Windows with FILE\_SHARE\_DELETE
mode
([#&#8203;32037](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/32037))

- `pkg/ottl`: Added generic path to get/set span flags in OTTL trace
span context.
([#&#8203;34739](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/34739))

- `pkg/ottl`: Introducing `delete_index` function for deleting items
from an existing array
([#&#8203;43098](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43098))

- `pkg/stanza`: Ensure recombine operator does not split batches of
entries
([#&#8203;42392](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42392))

- `pkg/stanza`: Ensure container operator does not split batches of
entries
([#&#8203;42389](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42389))

- `pkg/stanza`: Ensure syslog operator does not split batches of entries
([#&#8203;42394](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42394))

- `pkg/translator/azurelogs`: Add support for all Activity Logs
categories
([#&#8203;44871](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44871))
Includes support for the Alert, Autoscale, Policy, Recommendation,
Security, ServiceHealth, and ResourceHealth categories.

- `processor/k8sattributes`: Added processor-specific observability
metrics: `otelcol.k8s.pod.association` with `status`, `pod_identifier`,
and `otelcol.signal` attributes
([#&#8203;44587](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44587))

- `processor/resourcedetection`: Add support for GCP resource detector
to gather GCE instance labels as resource attributes
([#&#8203;35859](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/35859))
The GCP resource detector now supports gathering GCE instance labels as
resource attributes, allowing for more detailed resource metadata in
telemetry data.

- `processor/resourcedetection`: Added Alibaba Cloud ECS resource
detector to the Resource Detection Processor
([#&#8203;45632](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45632))

- `processor/tail_sampling`: New policy type to return the opposite of
the sampling decision of a wrapped policy.
([#&#8203;39668](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/39668))

- `processor/tail_sampling`: Add trace\_flags policy
([#&#8203;43867](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43867))

- `processor/tail_sampling`: Provide option to limit maximum trace size
kept in memory by the tail sampling processor
([#&#8203;45286](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45286))
Traces that exceed the size limit will be immediately dropped, not have
a decision made for them.

- `receiver/azureblob`: Replace deprecated `azure-event-hubs-go` SDK
with `azure-sdk-for-go`
([#&#8203;44335](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44335))

- `receiver/filelog`: Suppress repeated permission-denied errors
([#&#8203;39491](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/39491))
Only one error is logged per file per process run, and an informational
message is emitted when the file becomes readable again.
  This reduces log spam and improves clarity for operators.

- `receiver/hostmetrics`: Add support for Linux hugepages memory
monitoring via system.memory.linux.hugepages metrics.
([#&#8203;42650](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650))
  Users can now monitor hugepages usage on host machine.

- `receiver/jmx`: Add the JMX scraper version "1.53.0-alpha" to the
supported jars hash list
([#&#8203;45571](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45571))

- `receiver/jmx`: Add the JMX metrics gatherer version "1.53.0-alpha" to
the supported jars hash list
([#&#8203;45570](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45570))

- `receiver/k8sobjects`: Add support for exclude\_namespaces to exclude
specific namespaces from being watched.
([#&#8203;36217](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/36217))
Add support for exclude\_namespaces to exclude specific namespaces from
being watched.

- `receiver/prometheus`: Support removable Prometheus service
discoveries via Go build tags.
([#&#8203;44406](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44406))
Prometheus service discoveries can now be removed at build time when
building the collector with OCB (OpenTelemetry Collector Builder).
Use the `build_tags` option in the builder configuration to pass Go
build tags such as `remove_all_sd` to exclude optional service
discoveries.
See the Prometheus documentation for available build tags to customize
which service discoveries are included.

- `receiver/snowflake`: Enables dynamic metric reaggregation in the
Splunk Enterprise receiver. This does not break existing configuration
files.
([#&#8203;45396](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396))

- `receiver/windowsservice`: Enables dynamic metric reaggregation in the
Splunk Enterprise receiver. This does not break existing configuration
files.
([#&#8203;45396](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396))

##### 🧰 Bug fixes 🧰

- `exporter/coralogix`: Fix unmarshalling to avoid validation errors
with profiles when protocol is set to http.
([#&#8203;45677](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45677))

- `exporter/elasticsearch`: Add status code OK to success document
processed metric.
([#&#8203;45067](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45067))

- `internal/datadog`: Fix race condition in gohai host metadata payload
causing concurrent map access panic
([#&#8203;30438](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))
Deep copy the host metadata payload before passing it to
ConsumeHostMetadata() to prevent
concurrent map access when the reporter's gohai collector refreshes maps
while JSON marshaling
iterates over them. This fixes the "fatal error: concurrent map
iteration and map write" panic
that occurred with multiple concurrent metric consumers and host
metadata enabled.

- `internal/metadataproviders`: Fix kubeadm resource detector to
correctly read clusterName from kubeadm configmap
([#&#8203;45603](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45603))

- `pkg/ottl`: Fix debug logs in OTTL parser to not panic when
marshalling transform contexts with invalid pdata
([#&#8203;44705](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44705))

- `pkg/stanza`: Fix transformer operators logging errors at ERROR level
when `on_error` is set to quiet mode
([#&#8203;42646](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42646))

- `pkg/stanza`: Fix `container` operator log truncation for large CRI
logs
([#&#8203;43982](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43982))
Previously the option `max_log_size` of the `container` operator did not
work correctly, with the maximum log size limited to an arbitrary value
even if `max_log_size` was higher or set to `0` to remove the limit.
With this change `max_log_size: 0` works correctly, removing the upper
limit on log size.
The default value for `max_log_size` is now changed from `0` to `1MiB`
to prevent boundless memory usage.

- `pkg/stanza`: Fix syslog parser operator logging errors at ERROR level
when `on_error` is set to quiet mode
([#&#8203;42646](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42646))

- `pkg/stanza`: Fix data race in fileconsumer FileAttributes map access
([#&#8203;42825](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42825))

- `processor/azuredetector`: Avoid set cloud.availability\_zone when
Azure Availability Zone is not assigned
([#&#8203;45642](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45642))
  In cases where an Azure VM is not assigned to any Availability Zone,
the `cloud.availability_zone` attribute was being set to an empty
string.
This fix ensures that the attribute is only set when an Availability
Zone
  is indeed assigned, preventing misleading empty values.

- `processor/azuredetector`: Fallback to VM Name when
osProfile.computerName is unavailable
([#&#8203;45642](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45642))
In certain Azure images, the `osProfile.computerName` field may not be
set.
This fix ensures that the hostname detection falls back to using the VM
Name
from the instance metadata service when `osProfile.computerName` is
empty.

- `processor/azuredetector`: Avoid set azure.vm.scaleset.name empty when
VM not in scale set
([#&#8203;45642](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45642))
  In scenarios where a VM is not part of a scale set, the
  `azure.vm.scaleset.name` attribute was being set to an empty string.
  This fix ensures that the attribute is only set when the VM is indeed
  part of a scale set, preventing misleading empty values.

- `processor/deltatocumulative`: Fix panic when processing exponential
histograms with empty bucket counts
([#&#8203;42163](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42163))

- `processor/k8sattributes`: Fix k8s.node.uid extraction when node.name
is disabled
([#&#8203;45328](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45328))

- `receiver/awscontainerinsightreceiver`: Add cAdvisor filesystem plugin
imports to fix missing NodeFS and InstanceFS metrics
([#&#8203;45534](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45534))

- `receiver/filelog`: Fixed encoding not being applied to multiline
pattern matching
([#&#8203;39011](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/39011))
Previously, when using multiline pattern matching with non-UTF-8
encodings (e.g., utf-16le),
the encoding was not properly applied during pattern matching, causing
multiline patterns to fail.
This fix ensures that the specified encoding is correctly applied when
processing multiline patterns,
allowing proper parsing of files with fixed-length records and no line
terminators in various encodings.

- `receiver/googlecloudmonitoring`: Fix boolean metrics conversion to
int values
([#&#8203;45423](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45423))

- `receiver/journald`: Avoid passing empty cursors to journalctl when
resuming journald reads
([#&#8203;45435](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45435))

- `receiver/libhoney`: Fix timestamp in libhoney receiver
([#&#8203;45799](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45799))
The libhoney exporter was setting the start\_time for some spans to the
  current time instead of the timestamp in the event.

- `receiver/receiver_creator`: Do not log config in receivercreator
since it could contain sensitive information
([#&#8203;38163](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/38163))

<!-- previous-version -->

###
[`v0.144.0`](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01440)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.143.0...v0.144.0)

##### 🛑 Breaking changes 🛑

- `exporter/elasticsearch`: Remove ecs mode span enrichment for
`span.action`, `span.message.queue.name`, and
`transaction.message.queue.name`
([#&#8203;45014](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45014))
The removed span enrichments have been moved to the
`github.com/elastic/opentelemetry-collector-components/processor/elasticapmprocessor`.
It is recommended to use the
`github.com/elastic/opentelemetry-collector-components/processor/elasticapmprocessor`
when using mapping mode `ecs` to ensure index documents contain all
required Elastic fields to power the Kibana UI.

- `exporter/kafka`: Remove Sarama producer implementation
([#&#8203;44565](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44565))
  The Sarama-based Kafka producer has been removed from kafkaexporter.
Feature gate `exporter.kafkaexporter.UseFranzGo` has also been removed
since Franz-go is now the only supported Kafka client.

- `processor/tail_sampling`: The deprecated invert decisions are
disabled by default.
([#&#8203;44132](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44132))
Drop policies should be used instead of invert decisions for explicitly
not sampling a trace.
If the deprecated behavior is required while migrating to drop policies,
disable the `processor.tailsamplingprocessor.disableinvertdecisions`
feature gate.

- `receiver/kafka`: Remove Sarama consumer implementation and
`default_fetch_size` configuration option
([#&#8203;44564](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44564))
  The Sarama-based Kafka consumer has been removed from kafkareceiver.
The `default_fetch_size` configuration option has also been removed as
it was only used by the Sarama consumer.
Feature gate `receiver.kafkareceiver.UseFranzGo` has also been removed
since Franz-go is now the only supported Kafka client.

##### 🚩 Deprecations 🚩

- `exporter/elasticsearch`: Deprecate `mapping::mode` config option
([#&#8203;45246](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45246))
The `mapping::mode` config option is now deprecated and will soon be
ignored. Instead, use
the `X-Elastic-Mapping-Mode` client metadata key (via headers\_setter
extension) or the
`elastic.mapping.mode` scope attribute to control the mapping mode
per-request.
  See the README for migration instructions.

##### 🚀 New components 🚀

- `processor/lookup`: Add skeleton for external lookup enrichment
processor
([#&#8203;41816](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41816))
Adds the initial skeleton for a lookup processor that performs external
lookups to enrich telemetry signals.
Also includes source abstraction with factory pattern, noop source for
testing, and cache wrapper utility.

##### 💡 Enhancements 💡

- `cmd/schemagen`: Extend schemagen script with ability to handle
external refs.
([#&#8203;42214](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42214))
The `schemagen` tool has been enhanced to support external references
when generating
configuration schemas for OpenTelemetry Collector components. This
improvement allows
the tool to accurately reference and include schema definitions from
external packages,
facilitating better modularity and reuse of configuration schemas across
different components.

- `cmd/schemagen`: Fixes for schemagen to handle common issues with
receiver components schemas.
([#&#8203;42214](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42214))
Fix common issues discovered while using schemagen with receiver
components:

  - Missing config.go file (e.g. namedpipereceiver)
  - Parsing obsolete types (e.g. nsxtreceiver)
- Unable to embed fields with `squash` tag and not exported internal
type (e.g. huaweicloudcesreceiver)

- `cmd/telemetrygen`: Add batching capability to metrics and traces
([#&#8203;42322](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42322))
- Changed traces batching to have configurable batch size and match
batch flag.
  - Added batching to metrics.
  - Added batching to logs.

- `exporter/azureblob`: Add timezone option for formatting blob names in
azureblob exporter.
([#&#8203;43752](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43752))

- `exporter/elasticsearch`: Remove go-elasticsearch dependency to reduce
binary size
([#&#8203;45104](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45104))
  This leads to a 19MB size reduction in contrib distribution

- `exporter/googlecloudstorage`: Add support for time partitioning
([#&#8203;44889](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44889))

- `exporter/opensearch`: Add support for multiple variables to build
index names
([#&#8203;42585](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42585))

- `exporter/sumologic`: Add `decompose_otlp_summaries` configuration
option to decompose OTLP Summary metrics into individual gauges and
counters
([#&#8203;44737](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44737))

- `extension/awslogs_encoding`: Optimize CloudTrail logs unmarshaling
for memory usage
([#&#8203;45180](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45180))

- `processor/k8sattributes`: Bumnp version of semconv to v1.39.0
([#&#8203;45447](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45447))

- `processor/redaction`: Add `sanitize_span_name` option to URL and DB
sanitization configs.
([#&#8203;44228](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44228))

- `processor/redaction`: Add `ignored_key_patterns` configuration option
to allow ignoring keys by regex pattern
([#&#8203;44657](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44657))

- `processor/resourcedetection`: Add optional docker attributes
([#&#8203;44898](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44898)).
**Note**: Because of
[opentelemetry-collector-releases#1350](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/issues/1350)
this change is not available on the v0.144.0 binary releases. v0.145.0
will include this change.
Add `container.image.name` and `container.name` optional resource
attributes with the docker detector.

- `processor/tail_sampling`: Provide an option,
`decision_wait_after_root_received`, to make quicker decisions after a
root span is received.
([#&#8203;43876](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43876))

- `receiver/azureeventhub`: Add support for azure auth when feature gate
`receiver.azureeventhubreceiver.UseAzeventhubs` is enabled.
([#&#8203;40711](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/40711))

- `receiver/prometheus`: receiver/prometheus now associates scraped
\_created text lines as the created timestamp of its metric family
rather than its own metric series, as defined by the OpenMetricsText
spec
([#&#8203;45291](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45291))

- `receiver/prometheus`: Add comprehensive troubleshooting and best
practices guide to Prometheus receiver README
([#&#8203;44925](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44925))
The guide includes common issues and solutions, performance optimization
strategies,
production deployment best practices, monitoring recommendations, and
debugging tips.

- `receiver/prometheusremotewrite`: Replace labels.Map() iteration with
direct label traversal to eliminate intermediate map allocations.
([#&#8203;45166](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45166))

##### 🧰 Bug fixes 🧰

- `exporter/kafka`: franz-go: Exclude non-produce metrics from
kafka\_exporter\_write\_latency and kafka\_exporter\_latency
([#&#8203;45258](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45258))

- `exporter/opensearch`: Fix dynamic log index feature putting logs in
wrong index
([#&#8203;43183](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43183))

- `exporter/prometheusremotewrite`: Prevent duplicate samples by
allowing the WAL to be empty
([#&#8203;41785](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41785))
Since the WAL is being truncated after every send it's likely the reader
and writer are in sync. Since WAL was not
allowed to be empty, the reader would always re-read previously
delivered samples causing duplicate data to be sent
  continuously.

- `extension/datadog`: Datadog extension no longer throws an error for
missing extensions when getting a list of active components, and now
populates active components even when missing go mod/version info.
([#&#8203;45358](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45358),
[#&#8203;45460](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45460))

- `extension/file_storage`: Handle filename too long error in file
storage extension by using the sha256 of the attempted filename instead.
([#&#8203;44039](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44039))

- `extension/text_encoding`: Avoid spurious marshalling separators at
end of lines
([#&#8203;42797](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42797))
Previously, text\_encoding would append the marshalling separator to the
end of
each log record, potentially resulting in double-newlines between blocks
of
  records.

- `extension/text_encoding`: Fix an issue where
marshalling/unmarshalling separators were ignored
([#&#8203;42797](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42797))

- `pkg/kafka/configkafka`: Fix consumer group rebalance strategy
validation
([#&#8203;45268](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45268))

- `pkg/ottl`: Fix numeric parsing to correctly handle signed numbers in
math expressions.
([#&#8203;45222](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45222))
The OTTL math expression parser did not correctly handle unary signs for
plus
and minus. Expressions like `3-5` would not parse correctly without
inserting
spaces to make it `3 - 5`. This change moves the sign handling out of
the
  lexer and into the parser.

- `pkg/ottl`: Handle floating constants with decimal point but no
fraction.
([#&#8203;45222](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45222))
Floating point constants that had a decimal point but no fractional
digits
(e.g., "3.") were not handled properly and could crash the parser. These
are
  now parsed as valid floating point numbers.

- `pkg/stanza`: Fix Windows UNC network path handling in filelog
receiver
([#&#8203;44401](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44401))
The filelog receiver now correctly handles Windows UNC network paths
(e.g., \server\share\logs\*.log).
Previously, the receiver could list files from network shares but failed
to open them due to path corruption
during normalization. This fix converts UNC paths to Windows
extended-length format (\\?\UNC\server\share\path)
  which is more reliable and not affected by filepath.Clean() issues.

- `pkg/stanza`: Ensure `container` parser respects the `if` condition
and `on_error` settings when format detection fails
([#&#8203;41508](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41508))

- `processor/resourcedetection`: Prevent the resource detection
processor from panicking when detectors return a zero-valued pdata
resource.
([#&#8203;41934](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41934))
**Note**: Because of
[opentelemetry-collector-releases#1350](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/issues/1350)
this change is not available on the v0.144.0 binary releases. v0.145.0
will include this change.

- `processor/resourcedetection`: Fix nil pointer panic when HTTP client
creation fails in Start method
([#&#8203;45220](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45220))
**Note**: Because of
[opentelemetry-collector-releases#1350](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/issues/1350)
this change is not available on the v0.144.0 binary releases. v0.145.0
will include this change.

- `receiver/awslambda`: Fix S3 key usage in AWS Lambda Receiver
([#&#8203;45364](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45364))

- `receiver/datadog`: Fix service check endpoint to handle both array
and single object payloads
([#&#8203;44986](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44986))
The `/api/v1/check_run` endpoint now uses defensive parsing to handle
both array `[{...}]` and single object `{...}` payloads.
This fixes intermittent unmarshal errors when Datadog agent sends
connectivity health checks.

- `receiver/jmx`: Enable initial\_delay and collection\_interval
settings via scraper helper
([#&#8203;44492](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44492))

- `receiver/libhoney`: Improve msgpack decoding to handle ints or uints
([#&#8203;45273](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45273))

- `receiver/postgresql`: Fix query plan EXPLAIN to use raw query with $N
placeholders instead of obfuscated query with ? placeholders
([#&#8203;45190](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45190))
Previously, the EXPLAIN query was using obfuscated queries with ?
placeholders, which PostgreSQL does not recognize.
Now uses the raw query with $1, $2 placeholders that PostgreSQL expects.

- `receiver/prometheusremotewrite`: Fix silent data loss when consumer
fails by returning appropriate HTTP error codes instead of 204 No
Content.
([#&#8203;45151](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45151))
The receiver was sending HTTP 204 No Content before calling
ConsumeMetrics(),
causing clients to believe data was successfully delivered even when the
consumer failed.
Now returns 400 Bad Request for permanent errors and 500 Internal Server
Error for retryable errors,
  as per the Prometheus Remote Write 2.0 specification.

- `receiver/sqlserver`: Accuracy improvements for top-query metrics
([#&#8203;45228](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45228))
SQLServer metrics reporting is improved by reducing the warm-up delay
and providing accurate insights sooner.

<!-- previous-version -->

###
[`v0.143.0`](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01430)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.142.0...v0.143.0)

##### 🛑 Breaking changes 🛑

- `connector/servicegraph`: remove deprecated warning log about metrics
exporter logical
([#&#8203;45177](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45177))

- `extension/googlecloudlogentry_encoding`: Parse Cloud DNS Query logs
into log record attributes instead of placing it in the body as is.
([#&#8203;44561](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44561))

- `processor/tail_sampling`: Add support for caching the policy name
involved in a sampling decision.
([#&#8203;45040](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45040))
This change allows the `tailsampling.policy` attribute to be set on the
spans in a trace when a sampling decision is cached.

- `receiver/prometheus`: Remove deprecated `use_start_time_metric` and
`start_time_metric_regex` configuration options.
([#&#8203;44180](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44180))
The `use_start_time_metric` and `start_time_metric_regex` configuration
options have been removed after being deprecated in v0.142.0.
Users who have these options set in their configuration will experience
collector startup failures after upgrading.
To migrate, remove these configuration options and use the
`metricstarttime` processor instead for equivalent functionality.

- `receiver/systemd`: Rename `systemd.unit.cpu.time` metric to
`systemd.service.cpu.time`
([#&#8203;44916](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44916))

##### 🚀 New components 🚀

- `cmd/schemagen`: Introduce script that generates configuration schemas
for collector components based on go structs.
([#&#8203;42214](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42214))
The `schemagen` tool generates schemas for OpenTelemetry Collector
components configuration
by analyzing Go struct definitions. This is preliminary work to support
automatic generation
  of documentation and validation for component configurations.

##### 💡 Enhancements 💡

- `exporter/azureblob`: Add `time_parser_ranges` option to allow
selective time parsing of blob name substrings
([#&#8203;44650](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44650))
The new `time_parser_ranges` configuration allows specifying index
ranges (e.g., `["0-10", "15-25"]`) to control which parts of the blob
name are time-formatted.

- `exporter/coralogix`: Exposed a new field to set
`grpc-accept-encoding`. `gzip` will be used by default.
([#&#8203;45191](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45191))

- `exporter/coralogix`: Improve log messages when a partial success
happens for traces.
([#&#8203;44926](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44926))
The exporter now provides additional context based on the type of
partial success | returned by the backend. When the backend indicates
issues with the sent data, the error | message is analyzed to identify
and display examples of the problematic data.

- `exporter/elasticsearch`: Add support for extra query parameters to
the outgoing bulk request
([#&#8203;44480](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44480))

- `exporter/kafka`: Make `max_message_bytes` and `flush_max_messages`
unconditional in franz-go producer. Changed `flush_max_messages` default
from 0 to 10000 to match franz-go default.
([#&#8203;44840](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44840))

- `extension/awslogs_encoding`: Enhance VPC flow logs encoding extension
with CloudWatch logs support
([#&#8203;44710](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44710))

- `extension/azure_encoding`: Add processing for AppService, CDN,
FrontDoor and Recommendation logs records
([#&#8203;41725](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41725))

- `extension/googlecloudlogentry_encoding`: Add support for Passthrough
External and Internal Network Load Balancer logs
([#&#8203;44524](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44524))
Add support for Passthrough External and Internal Network Load Balancer
logs to the Google Cloud log entry encoding extension.
This includes adding support for the new
`gcp.load_balancing.passthrough_nlb` attributes including connection
details,
  bytes/packets sent and received, and RTT measurements.

- `pkg/ottl`: Add `Bool` function for converting values to boolean
([#&#8203;44770](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44770))

- `processor/geoip`: Bump oschwald/geoip2 to v2
([#&#8203;44687](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44687))

- `receiver/awscloudwatch`: Add support for filtering log groups by
account ID.
([#&#8203;38391](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/38391))

- `receiver/awscontainerinsightreceiver`: Component type name renamed
from awscontainerinsightreceiver to awscontainerinsight, controlled by
feature gate receiver.awscontainerinsightreceiver.useNewTypeName.
([#&#8203;44052](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44052))
When the feature gate is enabled, the receiver uses the new type name
`awscontainerinsight` instead of `awscontainerinsightreceiver`.
To enable the new type name, use:
`--feature-gates=+receiver.awscontainerinsightreceiver.useNewTypeName`.

- `receiver/awslambda`: Add support for AWS Lambda receiver to trigger
by CloudWatch logs subscription filters for Lambda
([#&#8203;43504](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43504))

- `receiver/awslambda`: Add S3 failure replay support to AWS Lambda
receiver
([#&#8203;43504](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43504))

- `receiver/filelog`: gzip files are auto detected based on their header
([#&#8203;39682](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/39682))

- `receiver/github`: Add `merged_pr_lookback_days` configuration to
limit historical PR queries and reduce API usage
([#&#8203;43388](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43388))
The `merged_pr_lookback_days` configuration option limits the timeframe
for
which merged pull requests are queried. Set to 0 to fetch all merged
PRs.
  Open PRs are always fetched regardless of this setting.

- `receiver/oracledb`: Add stored procedure information to logs for top
queries and query samples.
([#&#8203;44764](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44764))
The `db.server.top_query` event now includes `oracledb.procedure_id`,
`oracledb.procedure_name`, and `oracledb.procedure_type` attributes.
The `db.server.query_sample` event now includes `oracledb.procedure_id`,
`oracledb.procedure_name`, and `oracledb.procedure_type` attributes.

- `receiver/postgresql`: Added `service.instance.id` resource attribute
for metrics and logs
([#&#8203;43907](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43907))
  `service.instance.id` is enabled by default.

- `receiver/postgresql`: Add trace propagation support
([#&#8203;44868](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44868))
When `postgresql.application_name` contains a valid W3C `traceparent`,
emitted `db.server.query_sample` logs include `trace_id` and `span_id`
for correlation.

- `receiver/prometheus`: Add
`receiver.prometheusreceiver.RemoveReportExtraScrapeMetricsConfig`
feature gate to disable the `report_extra_scrape_metrics` config option.
([#&#8203;44181](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181))
When enabled, the `report_extra_scrape_metrics` configuration option is
ignored, and extra scrape metrics are
controlled solely by the
`receiver.prometheusreceiver.EnableReportExtraScrapeMetrics` feature
gate.
This mimics Prometheus behavior where extra scrape metrics are
controlled by a feature flag.

- `receiver/systemd`: Add metric for number of times a service has
restarted.
([#&#8203;45071](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45071))

- `receiver/windowseventlog`: Improved performance of the Windows Event
Log Receiver
([#&#8203;43195](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43195))
Previously, the Windows Event Log Receiver could only process events up
to 100 messages per second with default settings.
This was because the receiver would read at most `max_reads` messages
within each configured `poll_interval`, even if
  additional events were already available.

This restriction has been removed. The `poll_interval` parameter behaves
as described in the documentation:
The `poll_interval` parameter now only takes effect after all current
events have been read.

For users who prefer the previous behavior, a new configuration option,
`max_events_per_poll`, has been introduced.

- `receiver/windowseventlog`: Add parsing for Version and Correlation
event fields.
([#&#8203;45018](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45018))

##### 🧰 Bug fixes 🧰

- `connector/count`: Basic config should emit default metrics
([#&#8203;41769](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41769))

- `exporter/elasticsearch`: Deduplicate attribute keys from
non-compliant SDKs in otel mapping mode
([#&#8203;39304](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/39304))
The serializer in otel mapping mode now explicitly deduplicates
attribute keys when writing to Elasticsearch,
keeping only the first occurrence. This prevents invalid JSON from being
produced when
  non-compliant SDKs send duplicate keys.

- `exporter/kafka`: Wrap non-retriable errors from franzgo with
consumererror::permanent
([#&#8203;44918](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44918))

- `exporter/loadbalancing`: Fix k8s resolver parsing so loadbalancing
exporter works with service FQDNs
([#&#8203;44472](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44472))

- `pkg/translator/azurelogs`: Fix missing data when ingesting Azure logs
without properties field.
([#&#8203;44222](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44222))

- `receiver/awss3`: Fix data loss when SQS messages contain multiple S3
object notifications and some fail to process
([#&#8203;45153](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45153))
The SQS notification reader was unconditionally deleting messages after
processing,
even when some S3 object retrievals or callback processing failed. This
caused data
loss when a message contained multiple S3 notification records and any
of them failed.
Messages are now only deleted when all records are successfully
processed, allowing
  failed records to be retried after the visibility timeout.

- `receiver/azureeventhub`: Make storage of new azeventhub library
backward compatible and fix checkpoint starting at earliest when storage
is enabled
([#&#8203;44461](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44461))

- `receiver/fluentforward`: Ensure all established connections are
properly closed on shutdown in the fluentforward receiver. The shutdown
process now reliably closes all active connections.
([#&#8203;44433](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44433))
- Fixes shutdown behavior so that all existing connections are closed
cleanly.
  - Adds tests to verify proper connection closure.

- `receiver/kafka`: Fix deprecated field migration logic for metrics,
traces, and profiles topic configuration
([#&#8203;45215](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45215))
Fixed bug where deprecated `topic` and `exclude_topic` fields for
metrics, traces, and profiles
were incorrectly checking logs configuration instead of their respective
signal type's configuration.
This prevented proper migration from deprecated fields unless
logs.topics was empty.
Also fixed validation error message typo for traces.exclude\_topic and
corrected profiles validation
  to check ExcludeTopic fields instead of Topic fields.

- `receiver/sqlserver`: Collect query metrics for long running queries
([#&#8203;44984](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44984))

- `receiver/tcpcheck`: Fix the unit of the `tcpcheck.error` metric from
`error` to `errors`
([#&#8203;45092](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45092))

<!-- previous-version -->

###
[`v0.142.0`](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01420)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.141.0...v0.142.0)

##### 🛑 Breaking changes 🛑

- `all`: It's recommended to change the field type in your component
configuration to be
`configoptional.Optional[exporterhelper.QueueBatchConfig]` to keep the
`enabled` subfield. Use
configoptional.Some(exporterhelper.NewDefaultQueueConfig()) to enable by
default. Use
configoptional.Default(exporterhelper.NewDefaultQueueConfig()) to
disable by default.
([#&#8203;44320](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44320))

- `exporter/datadog`: Update the Datadog exporter to support the
Orchestrator Explorer by accepting receiver/k8sobjects logs and sending
Kubernetes data to the Datadog endpoint.
([#&#8203;44523](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44523))
The Cluster name field in Orchestrator Explorer Configuration has been
removed. Use the k8s.cluster.name attribute instead.

- `exporter/prometheusremotewrite`: Updated to Remote Write 2.0 spec
rc.4, requiring Prometheus 3.8.0 or later as the receiving endpoint.
([#&#8203;44861](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44861))
The upstream Prometheus library updated the Remote Write 2.0 protocol
from rc.3 to rc.4 in

[prometheus/prometheus#17411](https://redirect.github.com/prometheus/prometheus/issues/17411).
This renamed `CreatedTimestamp` to `StartTimestamp` and moved it
from the `TimeSeries` message to individual `Sample` and `Histogram`
messages. This is a
wire-protocol incompatibility, so if you are exporting to a Prometheus
server, you must upgrade
  it to version 3.8.0 or later to receive data from this exporter.

- `extension/googlecloudlogentry_encoding`: Parse External Application
Load Balancer logs into log record attributes instead of placing it in
the body as is.
([#&#8203;44438](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44438))

- `pkg/stanza`: Allow `max_batch_size` of 0 for unlimited batching in
`recombine` operator
([#&#8203;43982](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43982))
The recombine operator now supports setting `max_batch_size: 0` to
disable batch size limits.
This allows unlimited batching, letting entries be combined based only
on `max_log_size` and matching conditions.
If you have `max_batch_size: 0` in your config and want to keep the
behavior unchanged, change the configuration to `max_batch_size: 1`.

- `processor/cumulativetodelta`: Change default `max_staleness` from 0
(infinite) to 1 hour
([#&#8203;44427](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44427))
The processor now defaults to a `max_staleness` of 1 hour instead of 0
(infinite retention).
This prevents unbounded memory growth in long-running collector
instances, especially when tracking metrics with high cardinality or
frequently changing attribute values.
To restore the previous behavior of infinite retention, explicitly set
`max_staleness: 0` in your configuration.

- `processor/resourcedetection`: Promote
`processor.resourcedetection.propagateerrors` feature gate to beta
([#&#8203;44609](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44609))

- `processor/resourcedetection`: Remove deprecated `attributes`
configuration option
([#&#8203;44610](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44610))

- `receiver/awss3`: Remove the `s3_partition` config option in favor of
`s3_partition_format` and `s3_partition_timezone` options. This aligns
the S3 receiver more closely with the S3 Exporter. Also add the ability
to include or exclude the telemetry type from the file prefix using the
`file_prefix_include_telemetry_type` option.
([#&#8203;43720](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43720))

- `receiver/docker_stats`: Upgrades default Docker API version to 1.44
to be compatible with recent Docker Engine versions.
([#&#8203;44279](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44279))
Users requiring an older Docker API version can set the `api_version` in
the docker stats receiver config. The minimum supported API level is not
changed, only default.

- `receiver/filelog`: Move `filelog.decompressFingerprint` to stable
stage
([#&#8203;44570](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44570))

- `receiver/prometheus`: Promote the
receiver.prometheusreceiver.RemoveStartTimeAdjustment feature gate to
stable and remove in-receiver metric start time adjustment in favor of
the metricstarttime processor, including disabling the created-metric
feature gate.
([#&#8203;44180](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44180))
Previously, users could disable the RemoveStartTimeAdjustment feature
gate to temporarily keep the legacy start time adjustment behavior in
the Prometheus receiver.
With this promotion to stable and bounded registration, that gate can no
longer be disabled; the receiver will no longer set StartTime on metrics
based on process\_start\_time\_seconds, and users should migrate to the
metricstarttime processor for equivalent functionality.
This change also disables the
receiver.prometheusreceiver.UseCreatedMetric feature gate, which
previously used the `<metric>_created` series to derive start timestamps
for counters, summaries, and histograms when scraping non OpenMetrics
protocols.
However, this does not mean that the `_created` series is always
ignored: when using the OpenMetrics 1.0 protocol, Prometheus itself
continues to interpret the `_created` series as the start timestamp, so
only the receiver-side handling for other scrape protocols has been
removed.

- `receiver/prometheus`: Native histogram scraping and ingestion is now
controlled by the scrape configuration option
`scrape_native_histograms`.
([#&#8203;44861](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44861))
The feature gate `receiver.prometheusreceiver.EnableNativeHistograms` is
now stable and enabled by default.
Native histograms scraped from Prometheus will automatically be
converted to OpenTelemetry exponential histograms.

To enable scraping of native histograms, you must configure
`scrape_native_histograms: true` in your Prometheus
scrape configuration (either globally or per-job). Additionally, the
protobuf scrape protocol must be enabled
  by setting `scrape_protocols` to include `PrometheusProto`.

- `receiver/prometheusremotewrite`: Updated to Remote Write 2.0 spec
rc.4, requiring Prometheus 3.8.0 or later
([#&#8203;44861](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44861))
The upstream Prometheus library updated the Remote Write 2.0 protocol
from rc.3 to rc.4 in

[prometheus/prometheus#17411](https://redirect.github.com/prometheus/prometheus/issues/17411).
This renamed `CreatedTimestamp` to `StartTimestamp` and moved it
from the `TimeSeries` message to individual `Sample` and `Histogram`
messages. This is a
wire-protocol incompatibility, so Prometheus versions 3.7.x and earlier
will no longer work
correctly with this receiver. Please upgrade to Prometheus 3.8.0 or
later.

##### 🚩 Deprecations 🚩

- `processor/k8sattributes`: Removes stable
k8sattr.fieldExtractConfigRegex.disallow feature gate
([#&#8203;44694](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44694))

- `receiver/kafka`: Deprecate `default_fetch_size` parameter for
franz-go client
([#&#8203;43104](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43104))
The `default_fetch_size` parameter is now deprecated for the franz-go
Kafka client and will only be used with the legacy Sarama client.
  Users should configure `max_fetch_size` instead when using franz-go.
  This deprecation is marked as of v0.142.0.

- `receiver/kafka`: Support configuring a list of topics and
exclude\_topics; deprecate topic and exclude\_topic
([#&#8203;44477](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44477))

- `receiver/prometheus`: Deprecate `use_start_time_metric` and
`start_time_metric_regex` config in favor of the processor
`metricstarttime`
([#&#8203;44180](https://redirect.github.com/open-telemetry/opentelemetry-collect

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* more generated updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <[email protected]>
* Additional query-level metrics that can be emitted as Logs to include query and plan text

* Updating tests

* reverted changes to var name

* removed query_metrics_as_logs

* reverted go to 1.23.0

* set new metrics to default enabled false

* updated to remove query_metrics_as_logs

* updated to remove query_metrics_as_logs

* moved logs to development stability

* Because metrics and logs are now both reported, but are not gathered concurrently, there is a need to track the last gathering time for each path. Also updated time calculation

* Changing metric names and many log metrics per EO, adding scope name and version, updating test data.

* Removed now unused columns and edited appropriate query

* Updated config per EO to have top_query_collection.top_query_count

* Updated log EventName

* Moved some attribute keys to constants

* removed unnecessary empty log checking

* re-added some metrics to the query.
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.

* Added enablement to top_query_collection

* updated the expected data

* defaulted the TopQueryCollection enablement to false per OTel guidelines

* Updated docs to include top_query_collection

* re-added log metric attributes that had been previously backed out.
compacted the JSON query plan, updated placeholder values if plan is not available.

* Updated to cover code updates

* Updates covering changes requested by EO and test updates

* Adding missing test data file

* Updating docs to list Logs attributes emitted in top_query_collection

* Updates to make the topx and samples export

* Adding Sha256 hash for plan hash

* Updates to make the topx and samples export

* updating error logging

* Update query plan retrieval so that if a plan cannot be retrieved.

* Adding schema to the samples query so that the explain plan for the query can be retrieved if needed.

* Updating attribute names for tests

* Updating attribute names for tests and adding the current schema to the results.

* Updating attribute names

* Adding an explanation about limits to retrieving EXPLAIN plans.

* Updates based on attribute renaming

* Updates based on attribute renaming and fetching EXPLAIN plan and hash for samples

* Updates based on attribute renaming

* updated autogen docs and generated code

* Adding changelog file

* Reverting irrelevant change

* Reverting irrelevant change

* Update Changelog

* Removing redundant network.peer.* event attributes

* Removing redundant network.peer.* event attributes

* Updating event attribute names per owner recommendations

* updating generated tests

* updating generated files

* updating generated files

* post make gogci

* more generated updates
* Additional query-level metrics that can be emitted as Logs to include query and plan text

* Updating tests

* reverted changes to var name

* removed query_metrics_as_logs

* reverted go to 1.23.0

* set new metrics to default enabled false

* updated to remove query_metrics_as_logs

* updated to remove query_metrics_as_logs

* moved logs to development stability

* Because metrics and logs are now both reported, but are not gathered concurrently, there is a need to track the last gathering time for each path. Also updated time calculation

* Changing metric names and many log metrics per EO, adding scope name and version, updating test data.

* Removed now unused columns and edited appropriate query

* Updated config per EO to have top_query_collection.top_query_count

* Updated log EventName

* Moved some attribute keys to constants

* removed unnecessary empty log checking

* re-added some metrics to the query.
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.

* Added enablement to top_query_collection

* updated the expected data

* defaulted the TopQueryCollection enablement to false per OTel guidelines

* Updated docs to include top_query_collection

* re-added log metric attributes that had been previously backed out.
compacted the JSON query plan, updated placeholder values if plan is not available.

* Updated to cover code updates

* Updates covering changes requested by EO and test updates

* Adding missing test data file

* Updating docs to list Logs attributes emitted in top_query_collection

* Updates to make the topx and samples export

* Adding Sha256 hash for plan hash

* Updates to make the topx and samples export

* updating error logging

* Update query plan retrieval so that if a plan cannot be retrieved.

* Adding schema to the samples query so that the explain plan for the query can be retrieved if needed.

* Updating attribute names for tests

* Updating attribute names for tests and adding the current schema to the results.

* Updating attribute names

* Adding an explanation about limits to retrieving EXPLAIN plans.

* Updates based on attribute renaming

* Updates based on attribute renaming and fetching EXPLAIN plan and hash for samples

* Updates based on attribute renaming

* updated autogen docs and generated code

* Adding changelog file

* Reverting irrelevant change

* Reverting irrelevant change

* Update Changelog

* Removing redundant network.peer.* event attributes

* Removing redundant network.peer.* event attributes

* Updating event attribute names per owner recommendations

* updating generated tests

* updating generated files

* updating generated files

* post make gogci

* more generated updates

* [exporter/elasticsearch] fix .value suffix on ECS protected fields. (open-telemetry#45589)

Fixes open-telemetry#37211

## Description

Fixes a bug in ECS mode where known schema fields (like
`process.executable`) were incorrectly getting a `.value` suffix when
conflicting with nested attributes.

### Problem
When ECS mode was enabled and attributes like `process.executable.name`
conflicted with the known ECS field `process.executable`, the
deduplication logic would incorrectly add a `.value` suffix to the
protected field, resulting in `process.executable.value` instead of
preserving `process.executable` as-is.

### Solution
- Modified the `Serialize` method to accept a `protectedSet` parameter
containing precomputed ECS field names
- Precomputed protected fields at package initialization for logs,
spans, and metrics using `collectECSFields()`
- Protected fields are now correctly preserved during serialization, and
conflicting nested attributes are ignored

### Changes
- **model.go**: Added `collectECSFields()` function and precomputed
protected field sets (`logProtectedFields`, `spanProtectedFields`,
`metricsProtectedFields`)
- **objmodel.go**: Updated `Serialize()` to accept and use protected
fields set, preventing incorrect deduplication
- **model_test.go**: Added comprehensive test coverage for nested
attribute conflicts with ECS protected fields

### Testing
- All existing tests pass
- New test `TestEncodeLogECSModeKnownFieldConflict` validates that
protected fields win over nested attributes at multiple nesting levels

---------

Co-authored-by: Edmo Vamerlatti Costa <[email protected]>

---------

Co-authored-by: Himanshu Singh <[email protected]>
Co-authored-by: Edmo Vamerlatti Costa <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add mysql.session_status attribute to query_sample Event attributes

1 participant