-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Mysql session status #46023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
cjksplunk
wants to merge
162
commits into
open-telemetry:main
Choose a base branch
from
cjksplunk:mysql-session-status
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Mysql session status #46023
Conversation
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
… query and plan text
…concurrently, there is a need to track the last gathering time for each path. Also updated time calculation
…and version, updating test data.
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]>
* 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
…to mysql-receiver-query-metrics
* 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` |  |  | --- > [!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` |  |  | --- > [!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 ([#​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. ([#​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 ([#​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. ([#​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 ([#​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. ([#​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 ([#​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` ([#​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. ([#​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` ([#​45652](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45652)) ##### 💡 Enhancements 💡 - `connector/routing`: Add move/copy support in routing connector ([#​45061](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45061)) - `exporter/googlecloudstorage`: Add support for exporting traces to Google Cloud Storage ([#​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 ([#​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 ([#​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. ([#​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 ([#​41725](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41725)) - `extension/oauth2client`: Support jwt-bearer grant-type (RFC7523) ([#​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. ([#​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. ([#​45211](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45211)) - `pkg/fileconsumer`: Open files on Windows with FILE\_SHARE\_DELETE mode ([#​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. ([#​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 ([#​43098](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43098)) - `pkg/stanza`: Ensure recombine operator does not split batches of entries ([#​42392](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42392)) - `pkg/stanza`: Ensure container operator does not split batches of entries ([#​42389](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42389)) - `pkg/stanza`: Ensure syslog operator does not split batches of entries ([#​42394](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42394)) - `pkg/translator/azurelogs`: Add support for all Activity Logs categories ([#​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 ([#​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 ([#​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 ([#​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. ([#​39668](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/39668)) - `processor/tail_sampling`: Add trace\_flags policy ([#​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 ([#​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` ([#​44335](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44335)) - `receiver/filelog`: Suppress repeated permission-denied errors ([#​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. ([#​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 ([#​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 ([#​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. ([#​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. ([#​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. ([#​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. ([#​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. ([#​45677](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45677)) - `exporter/elasticsearch`: Add status code OK to success document processed metric. ([#​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 ([#​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 ([#​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 ([#​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 ([#​42646](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42646)) - `pkg/stanza`: Fix `container` operator log truncation for large CRI logs ([#​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 ([#​42646](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42646)) - `pkg/stanza`: Fix data race in fileconsumer FileAttributes map access ([#​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 ([#​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 ([#​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 ([#​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 ([#​42163](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42163)) - `processor/k8sattributes`: Fix k8s.node.uid extraction when node.name is disabled ([#​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 ([#​45534](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45534)) - `receiver/filelog`: Fixed encoding not being applied to multiline pattern matching ([#​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 ([#​45423](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45423)) - `receiver/journald`: Avoid passing empty cursors to journalctl when resuming journald reads ([#​45435](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45435)) - `receiver/libhoney`: Fix timestamp in libhoney receiver ([#​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 ([#​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` ([#​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 ([#​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. ([#​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 ([#​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 ([#​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 ([#​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. ([#​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. ([#​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 ([#​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. ([#​43752](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43752)) - `exporter/elasticsearch`: Remove go-elasticsearch dependency to reduce binary size ([#​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 ([#​44889](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44889)) - `exporter/opensearch`: Add support for multiple variables to build index names ([#​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 ([#​44737](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44737)) - `extension/awslogs_encoding`: Optimize CloudTrail logs unmarshaling for memory usage ([#​45180](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45180)) - `processor/k8sattributes`: Bumnp version of semconv to v1.39.0 ([#​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. ([#​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 ([#​44657](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44657)) - `processor/resourcedetection`: Add optional docker attributes ([#​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. ([#​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. ([#​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 ([#​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 ([#​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. ([#​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 ([#​45258](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45258)) - `exporter/opensearch`: Fix dynamic log index feature putting logs in wrong index ([#​43183](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43183)) - `exporter/prometheusremotewrite`: Prevent duplicate samples by allowing the WAL to be empty ([#​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. ([#​45358](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45358), [#​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. ([#​44039](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44039)) - `extension/text_encoding`: Avoid spurious marshalling separators at end of lines ([#​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 ([#​42797](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42797)) - `pkg/kafka/configkafka`: Fix consumer group rebalance strategy validation ([#​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. ([#​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. ([#​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 ([#​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 ([#​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. ([#​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 ([#​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 ([#​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 ([#​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 ([#​44492](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44492)) - `receiver/libhoney`: Improve msgpack decoding to handle ints or uints ([#​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 ([#​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. ([#​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 ([#​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 ([#​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. ([#​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. ([#​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. ([#​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` ([#​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. ([#​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 ([#​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. ([#​45191](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45191)) - `exporter/coralogix`: Improve log messages when a partial success happens for traces. ([#​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 ([#​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. ([#​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 ([#​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 ([#​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 ([#​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 ([#​44770](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44770)) - `processor/geoip`: Bump oschwald/geoip2 to v2 ([#​44687](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44687)) - `receiver/awscloudwatch`: Add support for filtering log groups by account ID. ([#​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. ([#​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 ([#​43504](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43504)) - `receiver/awslambda`: Add S3 failure replay support to AWS Lambda receiver ([#​43504](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/43504)) - `receiver/filelog`: gzip files are auto detected based on their header ([#​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 ([#​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. ([#​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 ([#​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 ([#​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. ([#​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. ([#​45071](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45071)) - `receiver/windowseventlog`: Improved performance of the Windows Event Log Receiver ([#​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. ([#​45018](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45018)) ##### 🧰 Bug fixes 🧰 - `connector/count`: Basic config should emit default metrics ([#​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 ([#​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 ([#​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 ([#​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. ([#​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 ([#​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 ([#​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. ([#​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 ([#​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 ([#​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` ([#​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. ([#​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. ([#​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. ([#​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. ([#​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 ([#​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 ([#​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 ([#​44609](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44609)) - `processor/resourcedetection`: Remove deprecated `attributes` configuration option ([#​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. ([#​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. ([#​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 ([#​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. ([#​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`. ([#​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 ([#​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 ([#​44694](https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44694)) - `receiver/kafka`: Deprecate `default_fetch_size` parameter for franz-go client ([#​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 ([#​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` ([#​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]>
…to mysql-receiver-query-metrics
* 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]>
…to mysql-receiver-query-metrics
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.
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.