Releases: open-telemetry/opentelemetry-collector-contrib
v0.139.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
receiver/sqlserver: Standardizing the unit interpretation of lookback_time in config for top query collection (#43573)
Like other interval related config values, lookback_time also should suffix 's' to represent time in seconds.
💡 Enhancements 💡
-
connector/count: Support for setting attributes from scope and resource levels. Precedence order: Span (or Log Record, etc.) > Scope attributes > Resource attributes. (#41859) -
connector/spanmetrics: Addadd_resource_attributesopt-in config option to keep resource attributes in generated metrics (#43394)
This configuration option allows users to override theconnector.spanmetrics.excludeResourceMetricsfeature gate
and restore the old behavior of including resource attributes in metrics. This is needed for customers whose
existing dashboards depend on resource attributes being present in the generated metrics. -
exporter/azuremonitor: Add authenticator extension support to the Azure Monitor exporter. (#41004) -
exporter/azuremonitor: Updated azure monitor exporter to use OTEL semantic conventions 1.34.0 (#41289) -
exporter/datadog: Disabled "Successfully posted payload" log that was emitted every 500 metric exports (#43594, #43879) -
exporter/datadog: Set sending queue batch default values to match exporter helper default: flush timeout 200ms, min size 8192, no max size. (#43848)
The default values now match exactly the default in batch processor. -
exporter/elasticsearch: Update Elasticsearch exporter ECS mapping mode encoder semantic convention mappings (#43805) -
exporter/googlecloudstorage: Implement skeleton of googlecloudstorage exporter. (#43123) -
exporter/influxdb: Fix InfluxDB Exporter precision configuration to allow choice of precision instead of hardcoding 'ns'. (#43645) -
extension/awslogs_encoding: Enhance CloudTrail log parsing by adding support for digest files (#43403) -
extension/awslogs_encoding: Add support for AWS Network Firewall logs. (#43616)
The AWS Logs Encoding Extension now supports unmarshaling AWS Network Firewall logs into OpenTelemetry logs format. -
extension/awslogs_encoding: Enhance CloudTrail log parsing by adding extra fields (#43403) -
extension/googlecloudlogentry_encoding: Add encoding.format attribute to GCP encoding extension to identify the source format. (#43320) -
internal/aws: Upgrade k8s libraries from v0.32.x to v0.34.x (#43890) -
pkg/ottl: Support taking match patterns from runtime data in thereplace_all_patternsandreplace_patternfunctions. (#43555) -
pkg/ottl: Add TrimPrefix and TrimSuffix to OTTL (#43883)
This is a much optimal way to remove prefix/suffix compare withreplace_pattern(name, "^prefixed", "") -
pkg/ottl: Added support for dynamic delimiter in Split() function in OTTL. (#43555) -
pkg/ottl: Added support for dynamic delimiter in Concat() function in OTTL. (#43555) -
pkg/ottl: Added support for dynamic prefix/suffix in HasPrefix and HasSuffix functions in OTTL. (#43555) -
pkg/ottl: Remove unnecessary regexp compilation every execution (#43915) -
pkg/ottl: Addunitandtypesubpaths forprofile.sample_typeandprofile.period_type. (#43723) -
pkg/ottl: Support taking match patterns from runtime data in thereplace_all_matchesandreplace_matchfunctions. (#43555) -
pkg/ottl: Support taking match patterns from runtime data in theIsMatchfunction. (#43555) -
pkg/ottl: Remove unnecessary full copy of maps/slices when setting value on sub-map (#43949) -
pkg/ottl: Add XXH128 Converter function to converts avalueto a XXH128 hash/digest (#42792) -
pkg/ottl: Support dynamic keys in thedelete_keyanddelete_matching_keysfunctions, allowing the key to be specified at runtime. (#43081) -
pkg/ottl: Support paths and expressions as keys inkeep_keysandkeep_matching_keys(#43555) -
pkg/ottl: Support dynamic pattern keys inExtractPatternsandExtractGrokPatternsfunctions, allowing the keys to be specified at runtime. (#43555) -
pkg/ottl: Added support for dynamic encoding in Decode() function in OTTL. (#43555) -
processor/filter: Allow setting OTTL conditions to filter out whole resources (#43968)
If any conditions set under theresourcekey for any signals match, the resource is dropped. -
processor/k8sattributes: Support extracting deployment name purely from the owner reference (#42530) -
processor/metricstarttime: Graduate the metricstarttimeprocessor to beta. (#43656) -
processor/redaction: Extend database query obfuscation to span names. Previously, database query obfuscation (SQL, Redis, MongoDB) was only applied to span attributes and log bodies. Now it also redacts sensitive data in span names. (#43778) -
processor/resourcedetection: Add thedt.smartscape.hostresource attribute to data enriched with the Dynatrace detector (#43650) -
receiver/azureeventhub: Adds support for receiving Azure app metrics from Azure Event Hubs in the azureeventhubreceiver (#41343, #41367)
The azureeventhubreceiver now supports receiving custom metrics emitted by applications to Azure Insights and forwarded using Diagnostic Settings to Azure Event Hub.
There's also on optional setting to aggregate received metrics into a single metric to keep the original name, instead of multiply the metrics by added suffixes_total,_sum,_maxetc. -
receiver/ciscoosreceiver:ciscoosreceiver: Add new receiver for collecting metrics from Cisco network devices via SSH (#42647)
Supports Cisco IOS, IOS-XE, and NX-OS devices with SSH-based metric collection.
Initial implementation includes system scraper for device availability and connection metrics. -
receiver/ciscoosreceiver:ciscoosreceiver: Add new receiver for collecting metrics from Cisco network devices via SSH (#42647)
Supports Cisco IOS, IOS-XE, and NX-OS devices with SSH-based metric collection.
Initial implementation includes system scraper for device availability and connection metrics. -
receiver/gitlab: Promote GitLab receiver to Alpha stability (#41592) -
receiver/jmx: Add JMX metrics gatherer version 1.51.0-alpha (#43666) -
receiver/jmx: Add JMX scraper version 1.51.0-alpha (#43667) -
receiver/pprof: convert google/pprof to OTel profiles (#42843) -
receiver/redfish: this branch provides the first concrete implementation of the new component (#33724)
🧰 Bug fixes 🧰
-
exporter/clickhouse: Fix a bug in the exporter factory resulting in a nil dereference panic when the clickhouse.json feature gate is enabled (#43733) -
exporter/kafka: franz-go: Fix underreported kafka_exporter_write_latency metric (#43803) -
exporter/loadbalancing: Fix high cardinality issue in loadbalancing exporter by moving endpoint from exporter ID to attributes (#43719)
Previously, the exporter created unique IDs for each backend endpoint by appending the endpoint
to the exporter ID (e.g., loadbalancing_10.11.68.62:4317). This caused high cardinality in metrics,
especially in dynamic environments. Now the endpoint is added as an attribute instead. -
exporter/pulsar: Fix the oauth2 flow for pulsar exporter by adding additional configuration fields (#435960)
Fixes the oauth2 authentication flow in pulsar exporter by exposing additional configuration likeprivate_keyandscope. -
processor/metricstarttime: Do not set start timestamp if it is already set. (#43739) -
processor/tail_sampling: Fix panic when invalid regex was sent to string_attribute sampler (#43735) -
receiver/awss3: Fix S3 prefix trimming logic in awss3reader to correctly handle empty, single slash '/', and double slash '//' prefixes. (#43587)
This fix ensures the S3 object prefix is generated consistently for all prefix formats (e.g.,"",/,//,/logs/,//raw//),
preventing malformed S3 paths when reading from buckets with non-standard prefixes. -
receiver/hostmetrics: Allow process metrics to be recorded if the host does not have cgroup functionality (#43640) -
receiver/kafka: Corrected the documentation for the Kafka receiver to accurately the supported/default group balancer strategies. (#43892) -
receiver/postgresql: Change the unit of the metricpostgresql.table.vacuum.countto bevacuuminstead of vacuums (#43272) -
receiver/prometheus: Fix missing staleness tracking leading to missing no recorded value data points. (#43893) -
receiver/prometheusremotewrite: Fixed a concurrency bug in the Prometheus remote write receiver where concurrent requests with identical job/instance labels would return empty responses after the first successful request. (#42159) -
receiver/pulsar: Fix the oauth2 flow for pulsar exporter by adding additional configuration fields (#435960)
Fixes the oauth2 authentication flow in pulsar receiver by exposing additional configuration likeprivate_keyandscope. -
receiver/receiver_creator: Fix annotation-discovery config unmarshaling for nested configs (#43730)
API Changelog
🛑 Breaking changes 🛑
cmd/opampsupervisor: Remove common package, moving code where it is used instead. (#43885)extension/sumologic: Move api and credentials packages to internal (#43789)pkg/translator/zipkin: Unexport ToTranslator (#43852)receiver/aerospike: Unexport mocks (#43788)receiver/azuremonitor: unexport NewMutexMapImpl and NewSyncMapImpl (#43925)receiver/jmx: unexport InsertDefault (#43965)
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @etserend, @olofmontin-truesec, @StevenSeeger, @anhtaw, @JeffLuoo, @kyle-mccray, @lukasbindreiter, @beshbeeshy, @v...
v0.138.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/carbonexporter/
- extension/healthcheckextension/
- receiver/carbonreceiver/
End User Changelog
🛑 Breaking changes 🛑
connector/datadog: Mark NativeIngest as stable. (#104622)connector/signaltometrics: Dropsignaltometrics.service.{name, namespace}resource attribute from produced metrics. (#43148)exporter/datadog: Removelogs::dump_payloadsconfig option fromdatadogexporterconfig. (#43427)
Please remove the previously deprecatedlogs::dump_payloadsconfig option from yourdatadogexporterconfig.exporter/elasticsearch: Remove batcher and related config in favor of sending queue (#42718)
Previously deprecatedbatcherconfiguration is removed.num_consumersandflushare now deprecated as they conflict withsending_queueconfigurations.extension/googlecloudlogentry_encoding: Parse VPC flow logs into log record attributes instead of placing them in the body directly. (#43017)
🚀 New components 🚀
receiver/icmpcheckreceiver: Add initial skeleton of ICMP check receiver (README, config, factory, metadata) with In Development stability. (#29009)receiver/redfish: adds a redfish receiver (#33724)
💡 Enhancements 💡
-
all: Changelog entries will now have their component field checked against a list of valid components. (#43179)
This will ensure a more standardized changelog format which makes it easier to parse. -
cmd/telemetrygen: Enable creation of attributes with values of slice type (#39018) -
exporter/coralogix: Add HTTP/protobuf protocol support alongside existing gRPC transport. (#43216)
The exporter now supports both gRPC (default) and HTTP/protobuf protocols for sending telemetry data.
HTTP transport enables proxy support and provides an alternative for environments where gRPC is restricted.
Configure using theprotocolfield with values "grpc" or "http". -
exporter/datadog: Make defaults forsending_queue::batchsection to work out of the box with Datadog API intake limits. (#43082) -
exporter/elasticsearch: Support experimental 'encoding.format' scope attribute for dataset routing. (#42844) -
exporter/kafka: Add support for partitioning log records by trace ID (#39146) -
exporter/prometheus: Enablesending_queuesection for the Prometheus exporter. (#42629) -
extension/awslogs_encoding: Add feature gate to set aws.vpc.flow.start timestamp field to ISO8601 format (#43392)
Feature gate ID: extension.awslogsencoding.vpcflow.start.iso8601
When enabled, the aws.vpc.flow.start field will be formatted as an ISO-8601 string
instead of a Unix timestamp integer in seconds since epoch. Default behavior remains unchanged for backward compatibility.
Enable with: --feature-gates=extension.awslogsencoding.vpcflow.start.iso8601 -
extension/encoding: Add user_agent.original, destination.address, destination.port, url.domain to ELB access logs (#43141) -
internal/kafka: Log a hint when broker connections fail due to possible TLS misconfiguration (#40145) -
pkg/ottl: Add XXH3 Converter function to converts avalueto a XXH3 hash/digest (#42792) -
pkg/sampling: Note that pkg/sampling implements the new OpenTelemetry specification (#43396) -
processor/filter: Add profiles support (#42762) -
processor/isolationforest: Add adaptive window sizing feature that automatically adjusts window size based on traffic patterns, memory usage, and model stability (#42751)
The adaptive window sizing feature enables dynamic adjustment of the isolation forest sliding window size based on:- Traffic velocity and throughput patterns
- Memory usage and resource constraints
- Model stability and performance metrics
This enhancement improves resource utilization and anomaly detection accuracy for varying workload patterns.
-
processor/resourcedetection: Add Openstack Nova resource detector to gather Openstack instance metadata as resource attributes (#39117)
The Openstack Nova resource detector has been added to gather metadata such as host name, ID, cloud provider, region, and availability zone as resource attributes, enhancing the observability of Openstack environments. -
processor/resourcedetection: Add Azure availability zone to resourcedetectionprocessor (#40983) -
receiver/azuremonitor: parallelize calls by subscriptions in Batch API mode (#39417) -
receiver/ciscoosreceiver: Addciscoosreceiverto collect metrics from Cisco OS devices via SSH (#42647)
Supports SSH-based metric collection from Cisco devices including:- System metrics (CPU, memory utilization)
- Interface metrics (bytes, packets, errors, status)
- Configurable scrapers for modular metric collection
- Device authentication via password or SSH key
-
receiver/gitlab: Add span attributes in GitLab receiver (#35207) -
receiver/hostmetrics: Add metrics, Linux scraper, and tests to hostmetricsreceiver's nfsscraper (#40134) -
receiver/icmpcheckreceiver: Add complete scraping implementation with ICMP ping/echo to collect metrics (#29009)
Replaces skeleton implementation with full production-ready collector functionality.
Includes metrics metadata and completed configuration.
Includes real scraper implementation that performs ICMP checks and collects metrics.
Includes README docs. -
receiver/mysql: Support query-level collection. (#41847)
Added top query (most time consumed) collection. The query will gather the queries took most of the time during the last
query interval and report related metrics. The number of queries can be configured. This will enable user to have better
understanding on what is going on with the database. This enhancement empowers users to not only monitor but also actively
manage and optimize their MySQL database performance based on real usage patterns. -
receiver/prometheus: added NHCB(native histogram wit custom buckets) to explicit histogram conversion (#41131) -
receiver/redis: AddClusterInfocapability toredisreceiver(#38117) -
receiver/splunkenterprise: Added a new metricsplunk.license.expiration.seconds_remainingto report the time remaining in seconds before a Splunk Enterprise license expires. (#42630)- Includes the following attributes:
status,label,type.
- Includes the following attributes:
-
receiver/sqlserver: Removing instance name usage in the SQL for top-query collection. (#43558)
Additional config of instance name is not required for collecting the top queries. -
receiver/syslog: Promote Syslog receiver to beta stability (#28551)
🧰 Bug fixes 🧰
exporter/awss3: Support compression with the sumo_ic marshaller (#43574)exporter/elasticsearch: Ensure metadata keys are always propagated in client context with batching enabled. (#41937)exporter/prometheus: Fixes data_type field formatting in the error logs message when exporting unknown metrics types - e.g. native histograms. (#43595)exporter/syslog: Fix timestamp formatting in rfc5424 syslog messages to use microsecond precision (#43114)processor/metricstarttime: Fixes bug where adjustment only relied on the DoubleValue and ignored the IntValue (#42202)receiver/k8s_cluster: Fix for k8sclusterreceiver to handle empty containerID in ContainerStatus (#43147)receiver/libhoney: fix panic when decompressing poorly formatted data (#42272)
When decompressing poorly formatted data, the receiver would panic. This has now been fixed.receiver/oracledb: Fix to use time from database clock for more accurate collection window calculation. (#43621)
Fixed the top-query collection logic to use database clock instead of the time from collector instance.
API Changelog
🛑 Breaking changes 🛑
exporter/tencentcloud_logservice: Unexport Log_Content, LogTag, Log, LogGroupList, LogGroup (#43138)pkg/datadog: Move feature gates ReceiveResourceSpansV2FeatureGate, OperationAndResourceNameV2FeatureGate, and MetricRemappingDisabledFeatureGate from pkg/datadog to new submodule pkg/datadog/featuregates (#43631)
🚩 Deprecations 🚩
pkg/datadog: Removelogs::dump_payloadsconfig option frompkg/datadogconfig. (#43427)
💡 Enhancements 💡
-
pkg/ottl: Add support for literal getters (#40222)
This enhancement introduces theottl.GetLiteralValuefunction to OTTL, enabling compile-time optimization for getters that
contain literal values. When a getter is identified as containing a literal value, OTTL functions can now access that value
at build time rather than runtime, improving performance for common use cases like pattern matching with static strings. -
processor/filter: Add profiles support (#42762) -
receiver/hostmetrics: Add metrics, Linux scraper, and tests to hostmetricsreceiver's nfsscraper (#40134)
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @falken, @joecompute, @liamfd, @steven-freed, @RealAnna, @survivant, @gnak-yar, @bruegth, @rmarra ! 🎉
v0.137.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- extension/healthcheck
- exporter/carbon
- receiver/carbon
End User Changelog
🛑 Breaking changes 🛑
-
spanmetricsconnector: Exclude all resource attributes in spanmetrics (#42103)
This change aligns with the ServiceGraph implementation and may introduce a breaking change:- Users utilizing Prometheus remote write will not experience a breaking change.
- Users using OTLP/HTTP may encounter a breaking change.
The change is currently guarded by the feature gate
connector.spanmetrics.excludeResourceMetricsand is disabled by default.
It will be enabled by default in the next release. -
spanmetricsconnector: Change default duration metrics unit frommstos(#42462)
This change introduces a breaking change, which is now guarded by the feature gateconnector.spanmetrics.useSecondAsDefaultMetricsUnit.
Currently, the feature gate is disabled by default, so the unit will remainms. After one release cycle, the unit will switch tosand the feature gate will also be enabled by default. -
splunkhecexporter: Removed deprecatedHecToOtelAttrsconfiguration from splunkhecexporter (#43005) -
signalfxreceiver: Removed deprecated configuration option: access_token_passthrough (#43048)
As access token passthrough option is no longer supported, to achieve similar behavior configure your collector
to use theheaders_setterextension to pass the access token. -
stefexporter, stefreceiver: Update to STEF 0.0.8. This is a breaking change in protocol format. (#42949)
Make sure to update both ends (receiver and exporter) to the same STEF version.
🚩 Deprecations 🚩
awslogsencodingextension: Rename awslogsencodingextension format values to shorter, more concise identifiers. Old format values are still supported until v0.138.0. (#42901)pkg/datadog, exporter/datadog, extension/datadog: Deprecates StaticAPIKeyCheck, stops doing validation for API key characters in Datadog exporter and extension. (#42677)
This was causing issues to users since validation of secrets is challenging
🚀 New components 🚀
-
googlecloudstorageexporter: Add skeleton of googlecloudstorage exporter (#42137) -
receiver/ciscoosreceiver: Add initial skeleton of Cisco OS receiver (README, config, factory, metadata) with In Development stability. (#42647)
This PR adds structure only (no scraping implementation yet).
Scrapers and SSH-based collection logic (BGP, Environment, Facts, Interfaces, Optics) will be added in follow-up PRs. -
unrollprocessor: Adds a processor that generically takes a log body of slices and creates new entries from that slice. (#42491) -
resourcedetectionprocessor: Added Oracle Cloud resource detection support to resourcedetectionprocessor, enabling automatic population of Oracle Cloud-specific resource attributes. (#35091)
This update allows the OpenTelemetry Collector to detect and annotate telemetry with Oracle Cloud resource metadata when running in Oracle Cloud environments.
Includes new unit tests and documentation.
💡 Enhancements 💡
-
redactionprocessor: Add support for URL sanitization in the redaction processor. (#41535) -
unrollprocessor: Bump the stability to Alpha, and include it in otelcontribcol (#42917) -
awscloudwatchlogsexporter: Adding yaten2302 as code owner for awscloudwatchlogsexporter, move it from unmaintained to alpha (#43039) -
coralogixexporter: Add Automatic AWS PrivateLink set up via newprivate_linkconfiguration option (#43075)
When enabled, the exporter will automatically use the AWS PrivateLink endpoint for the configured domain.
If the domain is already set to a PrivateLink one, no further change to the endpoint will be made. -
receiver/kafkametricsreceiver: Add support for using franz-go client under a feature gate (#41480) -
receiver/k8seventsreceiver: Added support for Leader Election intok8seventsreceiverusingk8sleaderelectorextension. (#42266) -
receiver/k8sobjectsreceiver: Switch to standby mode when leader lease is lost instead of shutdown (#42706) -
kafkareceiver: Addmax_partition_fetch_sizeconfiguration option to kafkareceiver (#43097) -
processor/resourcedetection: Add support for DigitalOcean in resourcedetectionprocessor (#42803) -
processor/resourcedetection: Add support for upcloud in resourcedetectionprocessor (#42801) -
receiver/kafka: Add support for disabling KIP-320 (truncation detection via leader epoch) for Franz-Go (#42226) -
haproxyreceiver: Add support for act, weight, ctime, qtime, rtime, bck and slim metrics from HAProxy (#42829) -
hostmetricsreceiver: Add useMemAvailable feature gate to use the MemAvailable kernel's statistic to compute the "used" memory usage (#42221) -
otlpencodingextension: Promote the otlpencodingextension extension to beta. (#41596) -
receiver/kafkareceiver: Use franz-go client for Kafka receiver as default, promoting the receiver.kafkareceiver.UseFranzGo feature gate to Beta. (#42155) -
oracledbreceiver: Addservice.instance.idresource attribute (#42402)
Theservice.instance.idresource attribute is added in the format<host>:<port>/<service>to uniquely identify
Oracle DB hosts. This resource attribute is enabled by default for metrics and logs. -
extension/SumologicExtension: removing collector name from credential path for sumologic extension (#42511) -
opensearchexporter: Add support for bodymap mapping mode (#41654)
The bodymap mapping mode supports only logs and uses the body of a log record as the exact content of the OpenSearch document, without any transformation. -
tailsamplingprocessor: Add support for extensions that implement sampling policies. (#31582)
Extension support for tailsamplingprocessor is still in development and the interfaces may change at any time. -
telemetrygen: Add span links support to telemetrygen (#43007)
The new --span-links flag allows generating spans with links to previously created spans.
Each span can link to random existing span contexts, creating relationships between spans for testing
distributed tracing scenarios. Links include attributes for link type and index identification. -
telemetrygen: Add load size to telemetrygen metrics and logs. (#42322)
🧰 Bug fixes 🧰
-
awsxrayexporter: infer downstream service for producer spans (#40995) -
azureeventhubreceiver: Use$Defaultas the default consumer group with the new azeventhubs SDK (#43049) -
azureeventhubreceiver: Offset configuration option is now correctly honored, and the default start position is set to latest. (#38487) -
elasticsearchexporter: Fix routing of collector self-telemetry data (#42679) -
elasticsearchexporter: profiling: fix fetching location for stack (#42891) -
receiver/googlecloudmonitoring: Add metric labels from Google Cloud metrics to all OTel metric attributes (#42232) -
jmxreceiver: Fix the jmx-scraper hash for version 1.49.0 (#121332) -
postgreqsqlreceiver: Fix for memory leak when using top queries (#43076) -
ntpreceiver: Fix missing resource attribute 'ntp.host' to ntpreceiver metrics (#43129) -
receiver/k8seventsreceiver: Prevent potential panic in the events receiver by safely checking that informer objects are *corev1.Event before handling them. (#43014) -
awscloudwatchlogexporter, awsemfexporter, awsxrayexporter: Fix support for role_arn (STS, short-lived token authentication). (#42115) -
jmxreceiver: restart the java process on error (#42138)
Previously, the java process would not restart on error. By default, this receiver will now
always restart the process on error. -
processor/k8sattributes: Use podUID instead podName to determine which pods should be deleted from cache (#42978) -
kafka: Fix support for protocol_version in franz-go client (#42795) -
libhoneyreceiver: return full array of statuses per event (#42272)
Libhoney has a per-event-within-each-batch response code array for each batch received. This has now been implemented for both initial parsing errors as well as downstream consumer errors. -
telemetrygen: Publish int and bool attributes for logs (#43090) -
oracledbreceiver: Fix for wrong trace id in oracle top query records (#43111) -
oracledbreceiver: Fix for memory leak in top queries and query samples collection. (#43074) -
prometheusexporter, prometheusremotewriteexporter: Connect pkg.translator.prometheus.PermissiveLabelSanitization with relevant logic. (#43077) -
postgresqlreceiver: Properly setnetwork.peer.addressattribute (#42447) -
postgresqlreceiver: Fix for inflated metric values in query metrics collection (#43071) -
prometheusexporter: Fix 'failed to build namespace' logged as error when namespace is not configured (#43015) -
signalfxexporter: Add HostID resource attribute to Histogram data in OTLP format (#42905) -
statsdreceiver: Fix a data race in statsdreceiver on shutdown (#42878)
API Changelog
🛑 Breaking changes 🛑
libhoneyreceiver: Unexport JSONEncoder (#43133)
🚩 Deprecations 🚩
pkg/datadog, exporter/datadog, extension/datadog: Deprecates StaticAPIKeyCheck, stops doing validation for API key characters in Datadog exporter and extension. (#42677)
This was causing issues to users since validation of secrets i...
v0.136.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
-
countconnector: Upgrade profiles proto to 1.8.0 (#42526) -
datadogexporter: Deprecate zorkian codepath (#17373)
Feature gate exporter.datadogexporter.metricexportnativeclient is now deprecated; the default metrics exporter is now
Metrics Export Serializer unless feature gate exporter.datadogexporter.metricexportserializerclient is disabled.
See https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.122.0 and #37930 for more
info about Metrics Export Serializer. -
elasticsearchexporter: Upgrade profiles proto to 1.8.0 (#42526) -
internal/kafka: Disable Kafka client metrics (#42662)
We disable publishing Kafka client metrics to brokers, since they were not
added intentionally and may lead to log spam when the broker does not really
support metrics. We may make this configurable in the future. -
golden: Upgrade profiles proto to 1.8.0 (#42526) -
pkg/ottl: Upgrade profiles proto to 1.8.0 (#42526)
See proto changelog. https://github.com/open-telemetry/opentelemetry-proto/blob/main/CHANGELOG.md#180---2025-09-02 -
signaltometricsconnector: Upgrade profiles proto to 1.8.0 (#42526) -
transformprocessor: Upgrade profiles proto to 1.8.0 (#42526)
💡 Enhancements 💡
-
azureblobexporter: Added template_enabled option to azureblobexporter blob_name_format to enable or disable template rendering. (#42643) -
prometheusremotewritereceiver: Adds support to accept METRIC_TYPE_UNSPECIFIED as gauge type (#41840) -
isolationforestprocessor: Add comprehensive unit tests with 93% coverage (#42693) -
exporter/awss3: Add S3PartitionTimezone config value to be able to change the timezone used for time-based partitioning (#42319) -
clickhouseexporter: Add TLS configuration for cert based authentication. (#22805) -
telemetrygen: Updates the semconv to use 1.37.0 (#42567) -
coralogixexporter: Enable rate limiter mechanism in the Coralogix exporter. To disable it setrate_limiter.enabledtofalse. (#42552) -
failoverconnector: Adds queue_settings to failoverconnector to enable queueing on the "exporter portion" of the connector. (#33077) -
farotranslator, faroreceiver: Do not use faro event timestamp as the log record timestamp (#42600)
Faro events originate in the user's browser, where the local clock may differ from actual time. | As a result, log record timestamps can be inaccurate, leading to ingestion issues (e.g., timestamps too old or too far in the future). -
processor/k8sattributesprocessor: Add support for k8s.cronjob.uid attribute in k8sattributesprocessor (#42557) -
awslogsencodingextension: Add instrumentation scope attributes to aws logs (#42788) -
opampsupervisor: Add support for client initiated OpAMP heartbeats in the supervisor. (#42533) -
internal/tools: Add support for modernize in Makefile (#42542) -
processor/resourcedetection: Add support for linode cloud in resourcedetectionprocessor (#42543) -
processor/resourcedetectionprocessor: Add support for Scaleway host image attributes in the resourcedetectionprocessor (#42682) -
processor/resourcedetectionprocessor: Add support for Vultr cloud provider in the resourcedetectionprocessor (#42569) -
spanmetricsconnector: Supports adding thecollector.instance.idattribute to data points generated by the spanmetrics connector. (#40400)
This feature currently in alpha stage, user should enable it by feature-gate--feature-gates=+connector.spanmetrics.includeCollectorInstanceID -
processor/resourcedetectionprocessor: Add support for Scaleway cloud provider in the resourcedetectionprocessor (#42664) -
exporter/awss3exporter: adds configuration field 's3_base_prefix' to be able to set a base path for all S3 file uploads (#42661) -
journaldreceiver: Enable reading from all journals, including remote ones. A new optionmergeis added to the configuration. (#39188) -
kafkametricsreceiver: Implement client reset for recoverable errors in Sarama calls (#41363)
This change implements client reset functionality to address recoverable errors in Sarama calls, such as connection resets and EOF errors. When a recoverable error is encountered, the client is reset, enabling the scraper to reconnect and resume metric collection seamlessly. -
tailsamplingprocessor: Set atailsampling.cached_decisionattribute on traces that were sampled by the decision cache. (#42535) -
postgresqlreceiver: Including execution time metric for currently running queries in query samples. (#42429)
The duration for currently running queries is calculated using the query_start time available in pg_stat_activity table. -
receiver/k8scluster: Add experimental metric for container status reason (#32457) -
telemetrygen: Add --allow-export-failures flag to telemetrygen to continue running when export operations fail (instead of terminating) (#42135) -
telemetrygen: Add exponential histogram metric type to telemetrygen (#42322) -
countconnector: Updates the countconnector metric timestamps to use earliest timestamp from batch as start timestamp and latest as timestamp, instead of using timestamp from metric creation time. (#40573)
🧰 Bug fixes 🧰
-
receiver/snowflake, receiver/sqlquery: Fix panic on startup caused by gosnowflakev1.16.0(#42605)
The solution was to downgrade the dependency version tov1.15.0.
For more information, refer to the upstream gosnowflake issue -
elasticsearchexporter: Fix a bug where data stream attributes in 'none' mapping mode have invalid prefix. (#42454) -
kafkaexporter: Fix bug where Kafka exporter ignoredauth.tlsconfiguration syntax. (#42754) -
extension/storage: Fix 'recreate' rename file only on panic (#41802)- This recovers from a panic when the bbolt db is corrupted and renames the file when a panic occurs.
- This changes the
recreatebehavior to not rename the file upon every start of the collector.
-
isolationforestprocessor: This PR fixes goroutine leaks in the isolation forest processor caused by improper shutdown coordination of backgroundmodelUpdateLoopgoroutines. (#42675) -
servicegraphconnector: Fix exponential histogram doesn't clean when expire (#42019) -
awss3receiver: Ensures default wait time is applied in SQS configuration when not explicitly set. (#42608) -
exporter/loadbalancing: Drop resources if the service routing key does not exist (#41550) -
processor/redaction: Support redaction of scope level atrributes (#42659) -
faroexporter: Fix success response handling in faroexporter so any HTTP 2xx status code indicates success instead of only 202 Accepted. (#42658) -
splunkenterprisereceiver: Fix a typo from a previous PR implementing the search artifact size metrics, which has caused errors from parsing empty strings. (#42615) -
signalfxexporter: Only validate the root_path of the collector ifsync_host_metadatais enabled. (#42688)
API Changelog
🛑 Breaking changes 🛑
-
datadogexporter: Deprecate zorkian codepath (#17373)
Feature gate exporter.datadogexporter.metricexportnativeclient is now deprecated; the default metrics exporter is now
Metrics Export Serializer unless feature gate exporter.datadogexporter.metricexportserializerclient is disabled.
See https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.122.0 and #37930 for more
info about Metrics Export Serializer. -
pkg/translator/prometheusremotewrite: Function 'OtelMetricsToMetadata' now returns an error if unable to convert a metric to metadata (#42493)
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @gnak-yar, @felix-hilden, @alont, @jeanbza, @belimawr, @genehynson, @maryliag, @jaehanbyun, @briandavis-viz, @marcusteixeira, @csmarchbanks, @ywwg, @mymmrac ! 🎉
v0.135.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- extension/oidcauth
- exporter/carbon
- receiver/carbon
End User Changelog
🛑 Breaking changes 🛑
-
apachereceiver: Add number of connections per async state metrics. (#41886) -
githubreceiver: Update semantic conventions from v1.27.0 to v1.37.0 with standardized VCS and CICD attributes (#42378)- Resource attributes changed:
organization.name->vcs.owner.name,vcs.vendor.name->vcs.provider.name - Trace attributes now use standardized VCS naming:
vcs.ref.head.type->vcs.ref.type - Added new standardized attributes:
vcs.ref.base.name,vcs.ref.base.type,vcs.ref.type - Delta metrics now include base reference tracking attributes
- Updated schema URL to https://opentelemetry.io/schemas/1.37.0
- Resource attributes changed:
-
k8sattributesprocessor: Introduce allowLabelsAnnotationsSingular feature gate to use singular format for k8s label and annotation resource attributes (#39774)
The feature gate, when enabled, will change the default resource attribute key format from k8s..labels. to k8s..label.. Same applies for annotations. -
receiver/sapm: TheSAPM Receivercomponent has been removed from the repo and is no longer being published as it has been deprecated since 22nd October 2024 and the removal date of April 2025 has passed. (#41411)
💡 Enhancements 💡
-
transformprocessor: Add support for merging histogram buckets. (#40280)
The transformprocessor now supports merging histogram buckets using themerge_histogram_bucketsfunction. -
k8seventsreceiver: Adds scope name and version to logs (#42426) -
googlecloudlogentry_encoding: Add support for request attributes and destination attributes in cloud audit logs (#42160) -
azureeventhubreceiver: Added feature flag to use the new Azure SDK (#40795) -
dockerstatsreceiver: Add Windows support (#42297)
The dockerstatsreceiver now supports Windows hosts. -
elasticsearchexporter: Populate profiling-hosts index with resource attribute information. (#42220) -
tinybirdexporter: Limit request body to 10MB to avoid exceeding the EventsAPI size limit. (#41782) -
exporter/kafkaexporter: Use franz-go client for Kafka exporter as default, promoting the exporter.kafkaexporter.UseFranzGo feature gate to Beta. (#42156) -
exporter/kafka: Add allow_auto_topic_creation producer option to kafka exporter and client (#42468) -
processor/resourcedetection: Add support for hetzner cloud in resourcedetectionprocessor (#42476) -
kafkareceiver: Addrack_idconfiguration option to enable rack-aware replica selection (#42313)
When configured and brokers support rack-aware replica selection, the client will prefer fetching from the closest replica, potentially reducing latency and improving performance. -
statsdreceiver: Introduce explicit bucket for statsd receiver (#41203, #41503) -
coreinternal/aggregateutil: Aggregate exponential histogram data points when different offsets are present (#42412) -
prometheusremotewriteexporter: Remove unnecessary buffer copy in proto conversion (#42329) -
pkg/translator/prometheusremotewrite:FromMetricsV2now supports translating exponential histograms. (#33661)
The translation layer for Prometheus remote write 2 now supports exponential histograms but is not fully implemented and ready for use. -
processor/k8sattributes: Support extracting labels and annotations from k8s DaemonSets (#37957) -
processor/k8sattributes: Support extracting labels and annotations from k8s Jobs (#37957) -
k8sclusterreceiver: Add optionnamespacesfor setting a list of namespaces to be observed by the receiver. This supersedes thenamespaceoption which is now deprecated. (#40089) -
k8sobjectsreceiver: Adds the instrumentation scope name and version (#42290) -
receiver/kubeletstats: Introduce k8s.pod.volume.usage metric. (#40476) -
datadogexporter: Add alpha feature gate 'exporter.datadogexporter.InferIntervalForDeltaMetrics'. (#42494)
This feature gate will set the interval for OTLP delta metrics mapped by the exporter when it can infer them. -
sqlserverreceiver: Addservice.instance.idresource attribute to all metrics and logs (#41894)
Theservice.instance.idattribute is added in the format<host>:<port>to uniquely identify
SQL Server hosts.
🧰 Bug fixes 🧰
-
awslogsencodingextension: Fixed gzip header detection for mixed compressed/uncompressed files (#41884)
The extension now properly detects gzip magic bytes (0x1f, 0x8b) before attempting decompression,
preventing "gzip: invalid header" errors when processing files with .gz extensions that are not actually compressed.
Affected formats: WAF logs, CloudTrail logs, CloudWatch subscription filter logs, and VPC Flow logs. -
opampsupervisor: Always respond toRemoteConfigmessages with aRemoteConfigStatusmessage (#42474)
Previously the Supervisor would not respond if the effective config did not change.
This caused issues where the same config with a different hash (e.g. reordered keys in the config)
would not be reported and would appear unapplied by the Supervisor. -
elasticsearchexporter: Ignore expected errors when making bulk requests to profiling indices. (#38598) -
libhoneyreceiver: Properly handle compressed payloads (#42279)
Compression issues now return a 400 status rather than panic. Exposes the http library's compression algorthms to let users override if needed. -
libhoneyreceiver: Allow service.name with unset scope.name (#42432)
This change allows the receiver to handle multiple service.names even if there are spans without the scope set. It also avoids a panic when a downstream consumer is missing.
API Changelog
💡 Enhancements 💡
datadog: remove references toDataDog/opentelemetry-mapping-golibrary in favor ofDataDog/datadog-agent/pkg/opentelemetry-mapping-go(#42475)
No change to end user behavior.
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @paulojmdias, @jelly-afk, @jasperkamerling, @olljanat, @kangyili, @devamanv, @panekk, @juissi-t, @DovronK, @piotrbelina, @adithya-r-nathan ! 🎉
v0.134.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
receiver/awscloudwatchmetrics: Remove unmaintained component (#42238)opencensusreceiver: Remove the deprecated opencensus receiver. (#36791)opencensusexporter: Remove the deprecated opencensus exporter. (#36791)pkg/ottl: Keep the original map and continue processing keys if an error is encountered when calling an optional replacement function inreplace_all_patterns. (#42359)
💡 Enhancements 💡
-
cmd/opampsupervisor: Add metrics to the Supervisor application. (#40155)
Add some metrics to the cmd/opampsupervisor application.The following metrics are added:
- supervisor.collector.health_status: The health status of the collector.
-
cfgardenobserver: Move to alpha (#41586) -
exporter/prometheus: Add debug logging for refused metric points. (#13643) -
httpcheckreceiver: Add response body validation (#41325)
The httpcheckreceiver now supports validating the response body using a few approaches.
String matching, JSON path matching, size ranges, and regex matching are supported. -
httpcheckreceiver: Fix race for timing of request steps (#42042)
The httpcheckreceiver uses atomic operations to track the timing of request steps to avoid race conditions. -
pkg/ottl: Avoid multiple copies of the Map in replace_all_patterns. (#42359) -
kafkareceiver: Add profiles support (#41479) -
pkg/ottl: Remove unnecessary Value initialization when setting an attribute/body (#42335, #42362) -
opampsupervisor: Emit spans for handling OpAMP messages (#38724) -
pkg/ottl: Add anIndex(target, value)OTTL function which returns the index of the first occurrence ofvalueintarget. (#40351) -
pkg/stanza: addsanitize_utf8operator to replace invalid UTF-8 characters. (#42028)
🧰 Bug fixes 🧰
-
elasticsearchexporter: Fix the warning on Kibana when usingsumoperation on delta temporality sum metric mapped as a counter (#40804) -
failoverconnector: fix for flaky test in failover_test.go (#42020) -
k8sattributesprocessor: Allow service.namespace to be used in rules and fix docs (#40859) -
prometheusremotewriteexporter: Make sure concurrency is set to the appropriate value (#41785) -
tailsamplingprocessor: Fix a race condition in the tailsampling processor that could cause traces to be dropped prematurely. (#41656) -
sqlserverreceiver: Fix memory leak from top queries and query samples features (#42302)
The issue was caused by the misuse of the obfuscate library. -
telemetrygen: Fix infinite duration bug and add tests. (#42170)
API Changelog
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @leegin, @asopkin ! 🎉
v0.133.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/awscloudwatchlogsexporter
- exporter/carbonexporter
- extension/healthcheck
- extension/ecstaskobserver
- processor/routingprocessor
- receiver/awscloudwatchmetricsreceiver
- receiver/bigipreceiver
- receiver/carbonreceiver
🛑 Breaking changes 🛑
coralogixexporter: Remove unused deprecated configgrpc.ClientConfig (#40853)googlecloudlogentry_encoding: Parse cloud audit logs into log record attributes instead of placing it in the body as is. (#42035)all: Increase minimum Go version to 1.24 (#41968)signaltometricsconnector: Use configoptional for optional metric fields (#41922)routingprocessor: Remove deprecated component routingprocessor (#19739)
Please use the routing connector instead.
💡 Enhancements 💡
-
elasticsearchexporter: Enhance telemetry metrics to include error.type attribute for better error categorization. (#41962)
Improve the telemetry metrics by adding theerror.typeattribute to the
elasticsearch.docs.processedmetric. This change allows for better
categorization and understanding of errors that occurs while processing documents. -
awslogsencodingextension: Addsaws.access_key.idto CloudTrail logs and alignsaws.resourcesattribute fields with naming conventions. (#41815) -
k8sclusterreceiver: Add optional experimental k8s.container.status.state metric (#32457, #32457) -
farotranslator: Improve error hashing by draining exception values (#42032) -
faroreceiver: Added Timestamp, ObservedTimestamp, SpanId, TraceId fields to the Log Record (#40800) -
kafkareceiver: Addon_permanent_erroroption tomessage_markingconfiguration. (#41333) -
filelogreceiver: Move filelog.decompressFingerprint feature gate to beta stage (#42189) -
googlecloudlogentry_encoding: Add support to decode multiple logs (#41137) -
httpcheckreceiver: Add request body to http requests (#41325)
The httpcheckreceiver can be configured to send a request body to the target endpoint. -
tailsamplingprocessor: Optimize telemetry collection in tailsamplingprocessor (#41888) -
zipkinexporter: Include instrumentation scope attributes (#39206) -
oidcauthextension: Add support for accessing custom JWT claims. (#41449)
Users can now access JWT claims from OIDC Auth context allowing dynamic processing based on received JWT token. -
oracledbreceiver: Add support for Oracle DB receiver to read session action as trace context. (#41878) -
oracledbreceiver: Removing the toLowercase conversion on sql text in top_query payload. Also, adding child_address into the query_samples payload. (#37478) -
opensearchexporter: Add dynamic index naming support for traces (#34746, #38595)- This feature supports trace index names in config.
- It allows users to specify dynamic trace indices based on attributes.
- It supports time-based index name formatting and fallback options.
- Improves code consistency between logs and trace exporter.
-
exporter/prometheusremotewriteexporter: Improve logging of remote write errors (#41856) -
prometheusreceiver: Remove temporary fix for metric name validation, fix upstream resolved (#42004) -
metricstarttimeprocessor: Add reset detection to the starttimemetric strategy in the metricstarttimeprocessor (#41870) -
tailsamplingprocessor: Add a new option to block on num traces overflow. (#41546) -
cmd/telemetrygen: Support custom metric names via --otlp-metric-name flag (#42070) -
telemetrygen: Allowinfduration for continuous run (#40225) -
textencodingextension: Move textencodingextension to beta (#41595) -
receiver/webhookeventreceiver: Adds configuration to split logs at JSON object boundaries. (#39766) -
webhookeventreceiver: Move webhookevent receiver to beta (#41997)
🧰 Bug fixes 🧰
awss3receiver: Fixed an issue where the AWS S3 receiver failed to retrieve data from S3 buckets when notified by SQS if the S3 key was URL-encoded. (#42027)jmxreceiver: supportjmx_configsfor jmx scraper usecase (#41952)logdedupprocessor: Fix UB caused by holding reference to mutable data. (#42147)metricstarttimeprocessor: Fix UB caused by holding reference to mutable data. (#42151)libhoneyreceiver: Parsing Span and Trace IDs no longer panic if there is a parsing issue. (#42200)vcenterreceiver: Fixes a potential issue with vm collection without a types.VirtualMachineConfigInfo attached to the VM. (#42098)prometheusreceiver: Fixes a bug where static configuration labels were dropped when using the Prometheus receiver. Previously, labels defined in the static config were not being applied to the metrics. (#41727)opencensusreceiver: Perform graceful shutdown of HTTP server on shutdown (#42117)signaltometricsconnector: Strictly validate configuration for component. (#41970)mysqlreceiver: Fix for the conversion error on mysql.event_id. Setting an int (0) as default value in SQL. (#42040)windowseventlogreceiver: Fixes issue for remote log collection where domain was not properly passed into EvtOpenSession syscall (#41950)
API Changelog
🛑 Breaking changes 🛑
signaltometricsconnector: Use configoptional for optional metric fields (#41922)azureauthextension: Use configoptional for optional fields in azureauthextension config. (#41926)libhoneyreceiver: Use configoptional for HTTP config in libhoneyreceiver (#41974)sumologicprocessor: Remove unnecessary pointer for types in configuration struct. (#41928)receiver/prometheus: Use configoptional for optional fields (#42140)prometheusremotewriteexporter: Use configoptional for WAL configuration (#41980)jaegerreceiver: Use configoptional for optional protocol sections. (#41982)pulsarreceiver: Use configoptional for optional authentication fields. (#41920)awscloudwatchreceiver: Remove pointer from type of config (#41975)mongodbatlasreceiver: Use configoptional and remove pointer for Config fields (#41939)solacereceiver: Use configoptional for optional types (#41977)spanmetricsconnector: Use configoptional for optional fields (#41941)
🚩 Deprecations 🚩
opencensusreceiver, opencensusexporter: Deprecate opencensusreceiver and opencensusexporter. (#36791)
💡 Enhancements 💡
filterprocessor: CreateWith*Functionsfactory options to provide custom OTTL functions for logs, metrics or traces to the resulting filter processor. (#40948)oidcauthextension: Add support for accessing custom JWT claims. (#41449)
Users can now access JWT claims from OIDC Auth context allowing dynamic processing based on received JWT token.
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @mar4uk, @sitole, @bohub12, @crazyuploader, @7h3-3mp7y-m4n, @yaten2302, @jasonjoo2010, @tdn21, @araiu ! 🎉
v0.132.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/awscloudwatchlogsexporter
- exporter/carbonexporter
- extension/healthcheck
- extension/ecstaskobserver
- processor/routingprocessor
- receiver/awscloudwatchmetricsreceiver
- receiver/bigipreceiver
- receiver/carbonreceiver
End User Changelog
🛑 Breaking changes 🛑
azuremonitorreceiver: Updatedappend_tags_as_attributesconfiguration type from boolean to array. It controls which Azure resource tags are added as resource attributes to the metrics. The values can be a list of specific tag names or["*"]to include all tags.
(#40988)elasticsearchexporter: Change default flush::interval and batcher::flush_timeout to 10s (#41726)googlecloudlogentry_encoding: Add 'observedTimestamp' and 'flags' field to resulting log, and throw error if log failed to parse. (#41467)googlecloudlogentry_encoding: Fix type on apphub destination GCP fields (#41836)googlecloudlogentry_encoding: Rename the remaining common fields in log entry to follow the semantic conventions. (#41087)googlecloudlogentry_encoding: Use semantic conventions for the cloud log entry fields (part 1 of 2) (#41718)googlepubsubreceiver: Remove build-in support for cloud_logging and raw_text encoding. (#41812)
The build-in encodings now have alternative encoding extensions to replace them.stefexporter, stefreceiver: Update STEF to v0.0.7. This is a breaking change in protocol. (#41858)postgresqlreceiver: unify the configuration to align with mdatagen tools and enable events by default (#41700)
Removed the existing query_sample_collection.enabled and top_query_collection.enabled
flags in favor of using the field generated by mdatagen. Both collections are now enabled by default.
🚩 Deprecations 🚩
elasticsearchexporter: Allowsending_queueto queue and batch based on the new API and deprecatebatcherconfig (#41338)kafkareceiver: Improve kafkareceiver internal metrics telemetry consistency, measure latency in seconds (#41109)
Add a new metric kafka_receiver_records_delay to capture the time between producing and receiving a batch of records.
Improve internal metrics telemetry consistency:
kafka_broker_throttling_duration is deprecated in favor of kafka_broker_throttling_latency and will be removed in the next minor release
kafka_receiver_latency is deprecated in favor of kafka_receiver_read_latency and will be removed in the next minor release
kafka_receiver_messages is deprecated in favor kafka_receiver_records and will be removed in the next minor release
🚀 New components 🚀
isolationforestprocessor: The processor applies the Isolation-Forest algorithm (an unsupervised, tree-based outlier-detection method) to every incoming span, trace, log, or metric. (#41707)
It emits an anomaly score (iforest.anomaly_score) and/or a boolean flag (iforest.is_anomaly) inside the Collector—no external ML service required.
💡 Enhancements 💡
-
redactionprocessor: Add database sanitization capability to the redaction processor. (#41647) -
elasticsearchexporter: Enhance logs with additional metadata fields for failed requests to Elasticsearch bulk API (#41674)
Metadata attributes are appended to the log fields, providing additional context for debugging failed requests to the Elasticsearch bulk API. -
awslogsencodingextension: Add support for ELB Access Logs. (#40710) -
pkg/ottl: AddUUIDv7function to generate v7 UUIDs. (#41268) -
oracledbreceiver: Add options and child_address into oracle plan (#37478)
Adding options and child_address into oracle plan to enhance the details -
filelogreceiver: Add a new setting,polls_to_archive, to control the number of poll cycles to store on disk, rather than being discarded. (#32727)
Ifpolls_to_archivesetting is used in conjunction withstoragesetting, file offsets older than three poll cycles are stored on disk rather than being discarded.
This feature enables the receiver to remember file for a longer period and also aims to use limited amount of memory. -
azureauthextension: Add support for custom scopes in Azure authentication (#41003) -
pkg/stanza: Add support for batch processing in most operators (#39575)
The following operators now support batching:add,assign_keys,copy,flatten,move,
regex_replace,remove,retain,unquotejson_parser,json_array_parser,key_value_parser,
regex_parser,scope_name,severity,timestamp,trace_parser,uri_parser.The following operators do not support batching yet:
container,csv_parser,filter,
recombine,router,syslog. -
bmchelixexporter: Support .percent and .rate metric derivation for ratio and counter metrics respectively (#41611) -
awscloudwatchreceiver: Addedpatternconfiguration option for filtering log groups (#40981) -
elasticsearchexporter: Serialize the@timestampfield for metrics as a number (epoch millis) instead of a string (epoch mills with fractional). This improves the ingestion performance in Elasticsearch as it can leverage an optimized code path for date parsing. (#41811) -
sqlserverreceiver: enable events collection on windows (#41762) -
elasticsearchexporter: Update error handling to return a permanent error when the Elasticsearch exporter rejects an entire batch due to invalid mapping modes (#38268) -
internal/kafka: Allow to configure the metdata refresh interval when using the franz-go client in kafkareceiver or kafkaexporter. (#41088)
TheMetadata.RefreshIntervalis set asMetadataMaxAgewhen using the franz-go client implementation for the kafkareceiver or kafkaexporter. -
servicegraphconnector: Add native histograms support (#35460)
Add a new settingexponential_histogram_max_sizeto specify the maximum number of buckets for each positive or negative range in an exponential histogram.
Ensure that eitherlatency_histogram_bucketsorexponential_histogram_max_sizeis used, but not both. -
cmd/golden: Build a docker image for the golden binary, available as snapshot and release artifact (#40538) -
pkg/translator/prometheusremotewrite: Handle conflicts in PRW v2 (#33661) -
httpcheckreceiver: Add detailed timing metrics (#41379)
The timing metrics added to the receiver now include durations for dns lookup, tcp connection, tls handshake, request,
and response. -
k8sobjectsreceiver: Introducesinclude_initial_statefor watch mode, so the existing state of watched objects emitted as log events. (#41536) -
kafkaexporter: Enrich kafkaexporter errors with topic (#41691) -
kafkaexporter: Use exporterhelper'sWithQueueBatchand configure batch partitioner based on configured metadata keys (#41775) -
oracledbreceiver: Moving child_address from plan details to attributes in top N query collection. (#37478) -
mysqlreceiver: Add 'mysql.page_size' metric (#41572) -
solarwindsapmsettingsextension: SolarWinds is deprecating apm-proto and now provides an HTTP endpoint for retrieving settings. This change replaces apm-proto with HTTP (#41860) -
exporter/prometheus: Addtranslation_strategyconfiguration option to control how OTLP metric names are translated to Prometheus format. (#35459)
The newtranslation_strategyoption provides four different translation modes:UnderscoreEscapingWithSuffixes: Escapes special characters to underscores and appends type/unit suffixesUnderscoreEscapingWithoutSuffixes: Escapes special characters but omits suffixesNoUTF8EscapingWithSuffixes: Preserves UTF-8 characters while adding suffixesNoTranslation: Passes metric names through unaltered
Whentranslation_strategyis set, it always takes precedence over the deprecatedadd_metric_suffixesoption.
Theexporter.prometheusexporter.DisableAddMetricSuffixesfeature gate can be used to completely ignore the deprecatedadd_metric_suffixessetting.
-
metricstarttimeprocessor: refactor datastorage cache so it can be shared across strategies (#38381) -
datadogsemanticsprocessor: Add mapping for Datadog source code integration through VCS attributes (#41716)
mapsvcs.ref.head.revisiontogit.commit.shaandvcs.repository.url.fulltogit.repository_urlwith stripped protocol -
servicegraphconnector: Add support formetrics_timestamp_offsetconfiguration option to adjust metric timestamps. (#40999)
The servicegraphconnector now supports ametrics_timestamp_offsetconfiguration option that allows
adjusting metric timestamps by subtracting a specified duration from the current time. This enables
metrics to appear as if they were generated in the past, which can be useful for testing scenarios
or when aligning metrics with historical data. The default value is 0, preserving existing behavior. -
cmd/opampsupervisor: The Supervisor can now be configured to expose a health check endpoint (#40529)
Useagent::healthcheckto configure the Supervisor's health check endpoint. It supports all of
the configuration fromconfighttp.ServerConfig.
The health check endpoint is checking the following conditions:- The persistent state is not nil: this should cover the existence of the instance ID, among other things.
- The config state is not nil: this should cover the existence of the m...
v0.131.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/awscloudwatchlogsexporter
- exporter/carbonexporter
- extension/healthcheck
- extension/ecstaskobserver
- processor/groupbytraceprocessor
- processor/routingprocessor
- receiver/awscloudwatchmetricsreceiver
- receiver/bigipreceiver
- receiver/carbonreceiver
End User Changelog
🛑 Breaking changes 🛑
-
iisreceiver: Enable IIS Application Pool state and uptime metrics by default. (#34924)
WARNING: This change enables theiis.application_pool.stateandiis.application_pool.uptimemetrics by default.
This may cause a significant increase in the number of metrics collected if you have many application pools.
If you are concerned about the number of metrics, you can disable these metrics in your configuration. -
kineticaexporter: Remove the kineticaexporter (#38911) -
exporter/loki: TheLoki Exportercomponent has been removed from the repo and is no longer being published as it has been deprecated since 9th July 2024. (#41413)
Users of thelokiexportercan migrate to using an OTLP exporter. See #33916
🚩 Deprecations 🚩
kafkaexporter: Improve kafkaexporter internal metrics telemetry consistency, measure latency in seconds (#41108)
Improve internal metrics telemetry consistency:
kafka_broker_throttling_duration is deprecated in favor of kafka_broker_throttling_latency
kafka_exporter_latency is deprecated in favor of kafka_exporter_write_latency
kafka_exporter_messages is deprecated in favor kafka_exporter_records
🚀 New components 🚀
tinybirdexporter: Mark the tinybirdexporter as alpha (#40475)
💡 Enhancements 💡
-
elasticsearchexporter: Add telemetry for measuring latency to Elasticsearch bulk API (#41389)
Measure latency of Elasticsearch bulk API calls -
coralogixexporter: Print trace IDs in partial success response in the log message (#41544) -
jmxreceiver: Add support for jmx-scraper JARs (#37469) -
bmchelixexporter: Enhance metric name disambiguation using attributes (#41303) -
awss3exporter: Add a new configurationresource_attrs_to_s3/s3_bucketto enable mapping OTel resource attributes to s3 bucket (#40321) -
cloudflarereceiver: Support unixnano format timestamp for cloudflarereceiver (#40342) -
tinybirdexporter: Updated Readme.md file to guide users on the usage of the exporter. (#40475) -
elasticsearchexporter: An experimental feature to enrich internal telemetry from configured client metadata keys. (#41284) -
tinybirdexporter: Add metrics implementation (#40475) -
pkg/ottl: Add OS name and version attributes in theUserAgentfunction output. (#35458) -
exporter/azureblobexporter: Add support for Workload ID authentication to Azure Blob Exporter (#41285)
Enable the use of workload identity authentication when running the exporter in an AKS pod. -
awss3exporter: Add support for UUIDv7 as a unique key function in the S3 exporter. (#40515) -
httpcheckreceiver: Add TLS certificate checking capability for HTTPS endpoints. (#35968)
The receiver can collect TLS certificate metrics including time remaining until expiry, issuer, common name, and SANs.
If the HttpCheckTLSCertRemaining metric is enabled and the endpoint is HTTPS, it will collect the certificate metrics. -
httpcheckreceiver: Remove unnecessary status codes (#38564)
The httpcheckreceiver now removes the http.status_code attribute from httpcheck.status metrics
when the metric value is 0, as per the feature request to avoid redundant status codes. -
prometheusremotewriteexproter: Adds additional metrics to the Prometheus Remote Write Exporter when RW2 enable. The new metrics are: -
otelcol_exporter_prometheusremotewrite_written_samples: Number of Prometheus Samples that were successfully written to the remote write endpoint. -
otelcol_exporter_prometheusremotewrite_written_histograms: Number of Prometheus Histograms that were successfully written to the remote write endpoint. -
otelcol_exporter_prometheusremotewrite_written_exemplars: Number of Prometheus Exemplars that were successfully written to the remote write endpoint.
(#33661) -
processor/k8sattributes: Support extracting labels and annotations from k8s StatefulSets (#37957) -
libhoneyreceiver: Handle metadata in libhoneyreceiver (#40953)
By adding metadata handling to the libhoney receiver, users can configure the headers_setter extension with it. -
text_encoding: Movetext_encodingextension to alpha, adding it to the contrib distribution (#41452) -
mysqlreceiver: Support query-level collection. (#40965)
Added query sample collection. The query will gather the queries that were currently running at the moment when scraping is happening.
The number of collected queries can be configured. This will enable user to have better understanding on what is going on with the database.
This enhancement empowers users to not only monitor but also actively manage and optimize their MSSQL database performance based on real usage patterns. -
mysqlreceiver: Add the total number of buffer pool pages (#41252) -
prometheusremotewriteexproter: Adds wal pipeline lag metric to the Prometheus Remote Write Exporter. The new metric is: -
otelcol_exporter_prometheusremotewrite_wal_lag: WAL pipeline lag.
The frequency of recording pipeline lag can be configured with lag_record_frequency
(#39556)
-
oidcauthextension: Add support for multiple OIDC providers. (#40854)
Users can now configure multiple OIDC providers in the OIDC Auth extension. Tokens will
be matched to a provider based on theissclaim. -
oracledbreceiver: Add 'oracledb.logons' metric (#41067) -
oracledbreceiver: Support query-level log collection, fetching query samples. (#37478)
With the introduction of query level log collection, details about currently running queries can be collected.
The maximum number of queries to be collected can be configured. This feature helps the user to have a better understanding of the database operations. -
oracledbreceiver: Support query-level log collection, fetching top N query metrics. (#37478)
With the introduction of query level log collection, the oracledbreceiver can now send metrics for Top N queries,
filtered based on the highest CPU time consumed. The number of queries can be configured. This helps the user to have
a better understanding of the database operations. -
pkg/ottl: Add support for combiningscopewith other OTTL contexts. (#39308)
Previously, OTTL paths could only use theinstrumentation_scopecontext when combined with
lower-level contexts likelogormetric. This change allows thescopecontext to be
used interchangeably withinstrumentation_scope, improving flexibility and consistency. -
pkg/ottl: Added a newValuesOTTL Function. (#41243) -
pkg/ottl: Allow optional KeyPath in OTTL SliceToMap function. (#41390) -
postgresqlreceiver: Addpostgresql.function.callsmetric. (#40969)
Requirestrack_functions=pl|allin Postgres config -
postgresqlreceiver: Add 'postgresql.temp.io' metric (#41365)
The metric emits the amount of data written to temporary files. -
kafkaexporter: Add profiles support (#41369) -
prometheusreceiver: Add retry logic for connection refused errors so the collector doesn't crash at startup. (#40982)
This change adds retry logic for connection refused errors. The target allocator could be
busy starting up the receiver and the first connection attempt may fail. -
receiver/prometheus: Add support for otel_scope_schema_url label mapping to OpenTelemetry ScopeMetrics schema URL field (#41488) -
prometheusremotewritereceiver: Promote prometheusremotewritereceiver to alpha (#37277) -
receiver/prometheusremotewrite: Add support for Native Histogram Custom Buckets (NHCB). (#41043) -
architecture: New Tier 3 platform riscv64 allowing the collector to be built and distributed for this platform. (#41507) -
redactionprocessor: The newredact_all_typesoption redacts all field types after casting them to string. (#36684) -
sqlserverreceiver: Add 'sqlserver.computer.uptime' metric (#41207) -
sqlserverreceiver: Make queries compatible with Azure SQL Database and Azure SQL Managed Instance. (#41102) -
telemetrygen: Adds a new telemetrygen flag to generate unique timestamps for within a second interval (#39933)
🧰 Bug fixes 🧰
tailsamplingprocessor: Numeric-range values, if zero, are properly treated as unset. (#41562)bmchelixexporter: Fix distinct datapoints merged into a single metric payload (#40991)redisstorageextension: Ensure get operations fetch the values from redis storage. (#41328)elasticsearchexporter: An experimental feature to enrich internal telemetry from configured client metadata keys. (#41375)
Fixes collisions of frame IDs in profiling.elasticsearchexporter: ShutdownTelemetryBuilderon expoter shutdown (#41278)awscloudwatchreceiver: ensures on component shutdown that it calls any open storage clients from the receiver (#41215)filestorageextension: Add an option to recreate databse if the database file is corrupted. (#35899)tinybirdexporter: Default logs' Timestamp value to ObservedTimestamp when Timestamp is not set (#41447)...
v0.130.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Note that there has been a v0.130.1 release of the official contrib distribution that includes the changes in the v0.130.1 core release.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/carbonexporter
- exporter/kineticaexporter
- extension/healthcheck
- extension/observer/ecstaskobserver
- extension/oidcauth
- processor/groupbytrace
- receiver/awscloudwatchmetricsreceiver
- receiver/carbonreceiver
- scraper/zookeeperscraper
End User Changelog
❗ Known Issues ❗
-
Due to a bug in the internal telemetry Prometheus exporter, if you are configuring an internal telemetry Prometheus exporter, the collector's internal metrics will be emitted with an unexpected suffix in its name. For example, the metric
otelcol_exporter_sent_spans__spans__totalinstead ofotelcol_exporter_sent_spans_total. The workaround is to manually configurewithout_units: truein your internal telemetry Prometheus exporter configservice: telemetry: metrics: readers: - pull: exporter: prometheus: host: 0.0.0.0 port: 8888 without_units: true
If you are using the collector's default internal telemetry Prometheus exporter for exporting internal metrics you are unaffected.
This issue originates from the core Collector modules, for which there has been a v0.130.1 release that fixes this. If you are using the contrib distribution, please upgrade to the v0.130.1 binary release to avoid this issue.
🛑 Breaking changes 🛑
-
kubeletstats: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to stable (#39650) -
geoipprocessor: Use semantic convention Geo attributes (#34745)
Replacegeo.continent_code,geo.country_iso_code,geo.region_iso_code
with semantic conventionsgeo.continent.code,geo.country.iso_code,geo.region.iso_code
attributes. -
kafka: The default client ID for Kafka components now honours configuration, and defaults to "otel-collector". (#41090)
The client ID configuration was ineffective, and (when using the Sarama implementation)
always defaulted to "sarama". We now honour the configuration, and the default has changed,
hence this is a breaking change for anyone relying on the client ID being "sarama". -
servicegraphconnector: Remove deprecated fielddatabase_name_attributeand update the documentation. (#41094) -
cmd/opampsupervisor: Remote configuration by default now merges on top of user-provided config files. (#39963)
Previous, by default, user-provided config files were merged on top of all
other configuration. This is not the case anymore.The new default order configuration merging is as follows (from lowest to highest precedence):
$OWN_TELEMETRY_CONFIG- <USER_PROVIDED_CONFIG_FILES>
$OPAMP_EXTENSION_CONFIG$REMOTE_CONFIG
🚩 Deprecations 🚩
splunkhecexporter: Deprecate 'batcher' config, use 'sending_queue::batch' instead (#41224)spanmetricsconnector: Mark dimensions_cache_size as deprecated following the upstream guidelines (#41101)
🚀 New components 🚀
tinybird: Implement logs propagation for Tinybird exporter (#40475)
💡 Enhancements 💡
-
elasticsearchexporter: Add telemetry for bulk indexers used to index documents to Elasticsearch. (#38610) -
coralogixprocessor: Add transactions feature (#40863)
The transactions feature enables tracking of distributed transactions across microservices in a distributed system.
It provides end-to-end visibility into request flows by correlating spans across different services, allowing
developers to understand the complete journey of a request through their microservices architecture. This
feature is particularly useful for identifying performance bottlenecks, debugging issues, and monitoring
the health of distributed applications.More information:
https://coralogix.com/docs/user-guides/apm/features/transactions -
coralogixprocessor: Promote traces to alpha stability. (#41061) -
awslogsencodingextension: Bump the stability to Alpha, and include it in otelcontribcol. (#38627) -
cgroupruntimeextension: Promote to alpha stability (#41128) -
awslogsencodingextension: Add support for AWS CloudTrail logs. (#40246)
The AWS Logs Encoding Extension now supports unmarshaling AWS CloudTrail logs into OpenTelemetry logs format.
The implementation follows OpenTelemetry semantic conventions for attributes likerpc.method,rpc.system,
rpc.service,cloud.provider,cloud.region, andcloud.account.id.CloudTrail logs can be used to monitor API activity across your AWS infrastructure, and this integration
enables ingestion of these logs into your OpenTelemetry pipeline for unified observability. -
elasticsearchexporter: Support profiles variable sampling frequency. (#40115) -
elasticsearchexporter: Duplicate profiling events with count values larger than 1 (#40946)
Having all events with count=1 enables random sampling on the read path. -
elasticsearchexporter: Store Sample levelservice.namewith each profiling event. (#40967) -
elasticsearchexporter: Increase metric grouping hash and _metric_names_hash from 32 bit to 64 bit to reduce collisions and chance of consequent data loss. (#41208) -
faroreceiver: Ensure that the level is added to all the faro logs. (#40701) -
tinybirdexporter: Add traces implementation (#40475) -
jsonlogencodingextension: Add array_mode configuration option and add support to process arbitrary JSON inputs (#40877, #40545)
array_modeis default set to true to preserve backward compatibility. When set totrue, extension accepts single or concatenated Json (ex:- NDJSON) -
filelogreceiver: Add optioninclude_file_record_offsetto insert offset as attribute in log records aslog.file.record.offset(#39684) -
githubreceiver: Added the ability to convert custom repository properties to span attributes (#40878) -
elasticsearchexporter: Improve error messages for invalid datapoints by including metric names in error output (#39063)
Previously, error messages for invalid number data points and histogram data points were generic.
Now they include the specific metric name to help with debugging and troubleshooting. -
loadbalancingexporter: Use a linear probe to decrease variance caused by hash collisions, which was causing a non-uniform distribution of loadbalancing. (#41200) -
metricstarttimeprocessor: Add the start_time_metric, which sets the start time based on another metric in the batch of metrics. (#38383) -
mysqlreceiver: Collect 'fsync' log operations. (#41175) -
mysqlreceiver: Add mysql.max_used_connections metric (#40626)
mysql.max_used_connections contains the maximum number of used sessions since the instance start. -
sqlserverreceiver: Adding 'sqlserver.cpu.count' metric (#41032) -
postgresqlreceiver: Only scrape the query samples that are newer than last scraped (#40622) -
pkg/ottl: Add newKeysconverter to extract all keys from a given map. (#39256) -
pkg/ottl: Added a newParseIntOTTL Function. (#40758) -
receiver/postgresql: Move receiver.postgresql.connectionPool feature gate to alpha (#30831)
This change updates the receiver to use the connection pooling for performance benefits. -
transformprocessor: Add profiles support to transformprocessor. (#39009) -
prometheusremotewriteexporter: Adds WAL bytes read/write metrics to the Prometheus Remote Write Exporter. The new metrics are: -
otelcol_exporter_prometheusremotewrite_wal_bytes_written: The total number of bytes written to the WAL. -
otelcol_exporter_prometheusremotewrite_wal_bytes_read: The total number of bytes reads from the WAL.
(#39556) -
cmd/opampsupervisor: Allow the Supervisor send a SIGHUP signal to the agent to reload its configuration. (#40410)
This behavior is disabled by default. To enable it, set theagent::enable_hup_reloadflag totruein the supervisor configuration. -
cmd/opampsupervisor: Add support for total control of configuration merging through special configuration files (#39963)
The special configuration files can be used through theagent::config_filesoption to control the order
in which configuration is merged. This allows greater customization of this feature, so that it can adapt
many use cases without requiring code changes.Configuration is merged from the top of the list to the bottom, in order. This means that the first configuration
files will get overwritten by the later ones.Here's a list of the available special configuration options and what they represent:
- "$OWN_TELEMETRY_CONFIG": configuration to set up the agent's own telemetry (resource, identifying and non-identifying attributes, etc.).
- "$OPAMP_EXTENSION_CONFIG": configuration for the agent's OpAMP extension to connect t...