Skip to content

Releases: open-telemetry/opentelemetry-collector-contrib

v0.139.0

03 Nov 23:04
v0.139.0
e425f33

Choose a tag to compare

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: Add add_resource_attributes opt-in config option to keep resource attributes in generated metrics (#43394)
    This configuration option allows users to override the connector.spanmetrics.excludeResourceMetrics feature 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 the replace_all_patterns and replace_pattern functions. (#43555)

  • pkg/ottl: Add TrimPrefix and TrimSuffix to OTTL (#43883)
    This is a much optimal way to remove prefix/suffix compare with replace_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: Add unit and type subpaths for profile.sample_type and profile.period_type. (#43723)

  • pkg/ottl: Support taking match patterns from runtime data in the replace_all_matches and replace_match functions. (#43555)

  • pkg/ottl: Support taking match patterns from runtime data in the IsMatch function. (#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 a value to a XXH128 hash/digest (#42792)

  • pkg/ottl: Support dynamic keys in the delete_key and delete_matching_keys functions, allowing the key to be specified at runtime. (#43081)

  • pkg/ottl: Support paths and expressions as keys in keep_keys and keep_matching_keys (#43555)

  • pkg/ottl: Support dynamic pattern keys in ExtractPatterns and ExtractGrokPatterns functions, 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 the resource key 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 the dt.smartscape.host resource 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, _max etc.

  • 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 like private_key and scope.

  • 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 metric postgresql.table.vacuum.count to be vacuum instead 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 like private_key and scope.

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

Read more

v0.138.0

20 Oct 20:13
v0.138.0
e2444bf

Choose a tag to compare

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: Drop signaltometrics.service.{name, namespace} resource attribute from produced metrics. (#43148)
  • exporter/datadog: Remove logs::dump_payloads config option from datadogexporter config. (#43427)
    Please remove the previously deprecated logs::dump_payloads config option from your datadogexporter config.
  • exporter/elasticsearch: Remove batcher and related config in favor of sending queue (#42718)
    Previously deprecated batcher configuration is removed. num_consumers and flush are now deprecated as they conflict with sending_queue configurations.
  • 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 the protocol field with values "grpc" or "http".

  • exporter/datadog: Make defaults for sending_queue::batch section 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: Enable sending_queue section 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 a value to 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: Add ciscoosreceiver to 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: Add ClusterInfo capability to redisreceiver (#38117)

  • receiver/splunkenterprise: Added a new metric splunk.license.expiration.seconds_remaining to report the time remaining in seconds before a Splunk Enterprise license expires. (#42630)

    • Includes the following attributes: status, label, type.
  • 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: Remove logs::dump_payloads config option from pkg/datadog config. (#43427)

💡 Enhancements 💡

  • pkg/ottl: Add support for literal getters (#40222)
    This enhancement introduces the ottl.GetLiteralValue function 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

06 Oct 22:31
v0.137.0
7e4bf11

Choose a tag to compare

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.excludeResourceMetrics and is disabled by default.
    It will be enabled by default in the next release.

  • spanmetricsconnector: Change default duration metrics unit from ms to s (#42462)
    This change introduces a breaking change, which is now guarded by the feature gate connector.spanmetrics.useSecondAsDefaultMetricsUnit.
    Currently, the feature gate is disabled by default, so the unit will remain ms. After one release cycle, the unit will switch to s and the feature gate will also be enabled by default.

  • splunkhecexporter: Removed deprecated HecToOtelAttrs configuration 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 the headers_setter extension 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 new private_link configuration 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 into k8seventsreceiver using k8sleaderelector extension. (#42266)

  • receiver/k8sobjectsreceiver: Switch to standby mode when leader lease is lost instead of shutdown (#42706)

  • kafkareceiver: Add max_partition_fetch_size configuration 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: Add service.instance.id resource attribute (#42402)
    The service.instance.id resource 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 $Default as 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 set network.peer.address attribute (#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...
Read more

v0.136.0

22 Sep 21:37
v0.136.0
f5f5c4a

Choose a tag to compare

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 🛑

💡 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 set rate_limiter.enabled to false. (#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 the collector.instance.id attribute 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 option merge is 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 a tailsampling.cached_decision attribute 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 gosnowflake v1.16.0 (#42605)
    The solution was to downgrade the dependency version to v1.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 ignored auth.tls configuration 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 recreate behavior 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 background modelUpdateLoop goroutines. (#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 if sync_host_metadata is 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

08 Sep 20:08
05252e1

Choose a tag to compare

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
  • 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: The SAPM Receiver component 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 the merge_histogram_buckets function.

  • 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: Add rack_id configuration 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: FromMetricsV2 now 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 option namespaces for setting a list of namespaces to be observed by the receiver. This supersedes the namespace option 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: Add service.instance.id resource attribute to all metrics and logs (#41894)
    The service.instance.id attribute 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 to RemoteConfig messages with a RemoteConfigStatus message (#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 to DataDog/opentelemetry-mapping-go library in favor of DataDog/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

30 Aug 05:28
v0.134.0
88441c5

Choose a tag to compare

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 in replace_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 an Index(target, value) OTTL function which returns the index of the first occurrence of value in target. (#40351)

  • pkg/stanza: add sanitize_utf8 operator to replace invalid UTF-8 characters. (#42028)

🧰 Bug fixes 🧰

  • elasticsearchexporter: Fix the warning on Kibana when using sum operation 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

25 Aug 21:03
v0.133.0
a55f7f0

Choose a tag to compare

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 the error.type attribute to the
    elasticsearch.docs.processed metric. This change allows for better
    categorization and understanding of errors that occurs while processing documents.

  • awslogsencodingextension: Adds aws.access_key.id to CloudTrail logs and aligns aws.resources attribute 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: Add on_permanent_error option to message_marking configuration. (#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: Allow inf duration 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: support jmx_configs for 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: Create With*Functions factory 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

12 Aug 16:29
b42536f

Choose a tag to compare

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: Updated append_tags_as_attributes configuration 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: Allow sending_queue to queue and batch based on the new API and deprecate batcher config (#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: Add UUIDv7 function 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)
    If polls_to_archive setting is used in conjunction with storage setting, 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, unquote json_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: Added pattern configuration option for filtering log groups (#40981)

  • elasticsearchexporter: Serialize the @timestamp field 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)
    The Metadata.RefreshInterval is set as MetadataMaxAge when using the franz-go client implementation for the kafkareceiver or kafkaexporter.

  • servicegraphconnector: Add native histograms support (#35460)
    Add a new setting exponential_histogram_max_size to specify the maximum number of buckets for each positive or negative range in an exponential histogram.
    Ensure that either latency_histogram_buckets or exponential_histogram_max_size is 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: Introduces include_initial_state for watch mode, so the existing state of watched objects emitted as log events. (#41536)

  • kafkaexporter: Enrich kafkaexporter errors with topic (#41691)

  • kafkaexporter: Use exporterhelper's WithQueueBatch and 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: Add translation_strategy configuration option to control how OTLP metric names are translated to Prometheus format. (#35459)
    The new translation_strategy option provides four different translation modes:

    • UnderscoreEscapingWithSuffixes: Escapes special characters to underscores and appends type/unit suffixes
    • UnderscoreEscapingWithoutSuffixes: Escapes special characters but omits suffixes
    • NoUTF8EscapingWithSuffixes: Preserves UTF-8 characters while adding suffixes
    • NoTranslation: Passes metric names through unaltered
      When translation_strategy is set, it always takes precedence over the deprecated add_metric_suffixes option.
      The exporter.prometheusexporter.DisableAddMetricSuffixes feature gate can be used to completely ignore the deprecated add_metric_suffixes setting.
  • metricstarttimeprocessor: refactor datastorage cache so it can be shared across strategies (#38381)

  • datadogsemanticsprocessor: Add mapping for Datadog source code integration through VCS attributes (#41716)
    maps vcs.ref.head.revision to git.commit.sha and vcs.repository.url.full to git.repository_url with stripped protocol

  • servicegraphconnector: Add support for metrics_timestamp_offset configuration option to adjust metric timestamps. (#40999)
    The servicegraphconnector now supports a metrics_timestamp_offset configuration 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)
    Use agent::healthcheck to configure the Supervisor's health check endpoint. It supports all of
    the configuration from confighttp.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...
Read more

v0.131.0

29 Jul 18:13
v0.131.0
1459427

Choose a tag to compare

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 the iis.application_pool.state and iis.application_pool.uptime metrics 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: The Loki Exporter component has been removed from the repo and is no longer being published as it has been deprecated since 9th July 2024. (#41413)
    Users of the lokiexporter can 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 configuration resource_attrs_to_s3/s3_bucket to 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 the UserAgent function 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: Move text_encoding extension 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 the iss claim.

  • 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 combining scope with other OTTL contexts. (#39308)
    Previously, OTTL paths could only use the instrumentation_scope context when combined with
    lower-level contexts like log or metric. This change allows the scope context to be
    used interchangeably with instrumentation_scope, improving flexibility and consistency.

  • pkg/ottl: Added a new Values OTTL Function. (#41243)

  • pkg/ottl: Allow optional KeyPath in OTTL SliceToMap function. (#41390)

  • postgresqlreceiver: Add postgresql.function.calls metric. (#40969)
    Requires track_functions=pl|all in 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 new redact_all_types option 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: Shutdown TelemetryBuilder on 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)...
Read more

v0.130.0

14 Jul 16:06
v0.130.0
77be382

Choose a tag to compare

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__total instead of otelcol_exporter_sent_spans_total. The workaround is to manually configure without_units: true in your internal telemetry Prometheus exporter config

    service:
      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)
    Replace geo.continent_code, geo.country_iso_code, geo.region_iso_code
    with semantic conventions geo.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 field database_name_attribute and 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 like rpc.method, rpc.system,
    rpc.service, cloud.provider, cloud.region, and cloud.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 level service.name with 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_mode is default set to true to preserve backward compatibility. When set to true, extension accepts single or concatenated Json (ex:- NDJSON)

  • filelogreceiver: Add option include_file_record_offset to insert offset as attribute in log records as log.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 new Keys converter to extract all keys from a given map. (#39256)

  • pkg/ottl: Added a new ParseInt OTTL 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 the agent::enable_hup_reload flag to true in 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 the agent::config_files option 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...
Read more