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
- exporter/kineticaexporter
- exporter/opensearchexporter
- extension/observer/ecstaskobserver
- receiver/awscloudwatchmetricsreceiver
- receiver/carbonreceiver
- receiver/couchdbreceiver
- receiver/elasticsearchreceiver
- receiver/memcachedreceiver
- receiver/mysqlreceiver
- receiver/postgresqlreceiver
- receiver/zookeeperreceiver
- scraper/zookeeperscraper
End user changelog
π Breaking changes π
-
deltatocumulative
: removes legacy and clean up existing metrics (#38079)
renamed:otelcol_deltatocumulative.datapoints.processed
tootelcol_deltatocumulative_datapoints
otelcol_deltatocumulative.datapoints.dropped
tootelcol_deltatocumulative_datapoints{error="..."}
otelcol_deltatocumulative.max_stale
tootelcol_deltatocumulative_max_stale
otelcol_deltatocumulative.streams.limit
tootelcol_deltatocumulative_streams_limit
otelcol_deltatocumulative.streams.tracked
tootelcol_deltatocumulative_streams_tracked
removed (already unused):otelcol_deltatocumulative.datapoints.linear
otelcol_deltatocumulative.streams.tracked.linear
otelcol_deltatocumulative.streams.evicted
otelcol_deltatocumulative.gaps.length
-
elasticsearchexporter
: Dynamically route documents by default unless{logs,metrics,traces}_index
is non-empty (#38361)
Overhaul in document routing. Deprecate and make{logs,metrics,traces}_dynamic_index
config no-op. Config validation error on{logs,metrics,traces}_dynamic_index::enabled
and{logs,metrics,traces}_index
set at the same time, as users who rely on dynamic index should not set{logs,metrics,traces}_index
. Removeelasticsearch.index.{prefix,suffix}
handling. Replace it withelasticsearch.index
handling that uses attribute value as index directly. Users rely on the previously supportedelasticsearch.index.prefix
andelasticsearch.index.suffix
should migrate to a transform processor that setselasticsearch.index
. Fix a bug where receiver-based routing overwrites data_stream.dataset. -
elasticsearchexporter
: Change defaultmapping::mode
config tootel
(#37241)
The new default, OTel mapping mode, requires Elasticsearch 8.12+. To retain the old behavior, explicitly setmapping::mode
tonone
. -
dbstorageextension
: Change SQLite driver to non-CGO version (#35280)
New SQLite driver has incompatible set of options and users should carefully review used driver options (if any) on update
Migration guide and available driver options are added to component documentation -
kafkatopicsobserver
: Remove session_timeout and heartbeat_interval config (#38414)
These attributes are only relevant to Kafka consumers. -
examples/demo
: Remove examples/demo (#38488)
The other examples are sufficient, and there exists the more comprehensive OpenTelemetry Demo. -
receiver/sqlserverreceiver
: SQL Server receiver now requires a positive serial number for X509 certificates. (#38099)
See known issues in README ofreceiver/sqlserverreceiver
for more information. -
tlscheckreceiver
: Implement TLS Check Receiver for host-based checks (#35842)
Changing configuration scheme to use standard confignet TCP client
π New components π
awscloudwatchencodingextension
: Introduce new encoding extension for AWS CloudWatch Metric Streams (#37870)azureblobexporter
: implementation of azure blob exporter (#34319)faroreceiver
: Introduce a new receiver to recieve faro data (#19180)kafkatopicsobserver
: Change stability level of kafkatopicsobserver to alpha (#37665)datadogsemanticsprocessor
: Add datadogsemanticsprocessor, which transforms OpenTelemetry semantic conventions to Datadog semantic conventions (#35304)pprofreceiver
: Introduce a new receiver to report pprof profiles (#38260)sematextexporter
: Advanced metrics implementation (#36465)sematextexporter
: basic metrics implementation (#36465)tcpcheckreceiver
: Introducing new component tcpcheck receiver (#34414)k8sleaderelector
: allows single instance of the receiver/exporter to be active via kubernetes leader election mechanism (#34460)
π‘ Enhancements π‘
-
azuremonitorexporter
: support sending to multiple azure monitor exporters (#34188) -
azuremonitorexporter
: support custom event for logs for azure monitor exporter (#37422) -
splunkhecreceiver
: splunk hec receiver accepts metrics with empty string Event field (#38464) -
prometheusremotewriteexproter
: Adds theendpoint
label to remote write exporter metrics to help identify the remote write endpoint within the metrics. (#38397) -
faroexporter
: Add Faro exporter package (#35319) -
awscloudwatchmetricstreamsencodingextension
: Add unmarshaler for JSON cloudwatch metric stream (#38407) -
awscloudwatchmetricstreamsencodingextension
: Add support for opentelemetry1.0 format (#38408) -
sqlserverreceiver
: Add new performance-related metrics (#37884)
Added metrics are:- sqlserver.database.backup_or_restore.rate
- sqlserver.replica.sent.rate
- sqlserver.replica.received.rate
- sqlserver.database.execution_errors.count
- sqlserver.table.count
- sqlserver.memory.free_list_stalls.rate
- sqlserver.database.free_space_tempdb
- sqlserver.database.full_scans.rate
- sqlserver.index.search.rate
- sqlserver.database.login.rate
- sqlserver.database.logout.rate
- sqlserver.database.deadlock.rate
- sqlserver.database.mirror_write_transaction.rate
- sqlserver.memory.grants_pending.count
- sqlserver.page.lookup.rate
- sqlserver.transaction.delay
- sqlserver.memory.used
- sqlserver.database.version_store_size
-
awscloudwatchlogsexporter, awsemfexporter, awsxrayexporter
: Adding external id support when assuming a role for AWS credentials. (#36725)
AWS IAM Docs https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html#id_roles_third-party_external-id -
hostmetricsreceiver
: Added thesystem.linux.memory.dirty
andsystem.memory.page_size
metrics. (#38672) -
mongodbreceiver
: Added new mongodb metrics to achieve parity with Telegraf (#37227) -
opampsupervisor
: add ability to report own traces/logs (#38360) -
googlecloudexporter
: Adds a featuregate to support user defined mapping from OTel resources to Monitored Resources (#38102) -
metricstarttimeprocessor
: Decouples the cache from the strategies for adjusting (#38382) -
schemaprocessor
: Adds functionality to transform logs (#38615)- Adds functionality to transform logs using the target schema version.
-
schemaprocessor
: Adds functionality to transform traces (#38486)- Adds functionality to transform traces using the target schema version.
-
datadogexporter
: Add support for exporting metrics to Datadog using the Datadog serializer. Enable feature gateexporter.datadogexporter.metricexportserializerclient
to send metrics with the Datadog serializer.
(#37930)
This change adds ability to export metrics to Datadog using the Datadog serializer. Apart from performance improvements, this change also adds support for metrics origins in the Datadog App. It also removes the support for using the host attributes from the first resource the exporter processes. -
awsecscontainermetricsreceiver
: Upgrading to aws sdk v2 (#38479) -
elasticsearchexporter
: Add stratified downsampling to the profiles support in the elasticsearch exporter (#37893) -
elasticsearchexporter
: Add configlogs_dynamic_pipeline
to dynamically set the document pipeline to the value of the attributeelasticsearch.ingest_pipeline
, this only applies to logs. (#37419) -
routingconnector
: Adds Standard Converter functions to routing connector. (#38282) -
azuremonitorreceiver
: Adds filtering by metric and/or aggregation (#37420) -
headersetterextension
: Add support for setting headers based on authentication data (#38441) -
collectdreceiver
: apply fieldalignment to collectd records to reduce memory allocation (#37321) -
pkg/ottl
: Enhance flatten() editor to resolve attribute key conflicts by adding a number suffix to the conflicting keys. (#35793) -
geoipprocessor
: Add theattributes
parameter and consider bothsource.address
andclient.address
by default (#37008) -
githubreceiver
: add GitHub workflow job spans (#38016) -
prometheusremotewritereciever
: Handleotel_scope_name
andotel_scope_version
labels in Prometheus Remote Write receiver properly if not present (#37791)
if otel_scope_name or otel_scope_name is missing, use collectorβs version and description according to the otel spec. -
exporter/loadbalancing
: Add support for route with composite keys (#35320) -
kafka
: Upgrading to aws sdk v2 (#38478) -
extension/observer/kafakatopicsobserver
: add support for client_id and metadata config (#38411)
The kafkatopicsobserver is now using the common configkafka package,
which brings support for client_id and metadata configuration.
This also means that protocol_version is no longer required, and a
default version will be used like in other Kafka-related components. -
exporter/kafka
: do not ask for user and password if auth mechanism is set to AWS IAM (#37417) -
metricstarttimeprocessor
: Add the subtract_initial_point strategy skeleton (#37186, #38379)
The subtract_initial_point strategy is not fully implemented -
receiver/awscloudwatchreceiver
: Upgrading to adopt AWS SDK v2 (#36699)
This change upgrades the AWS SDK used in the CloudWatch receiver from v1 to v2.
It ensures better performance and compatibility with newer AWS features. -
bearertokenauthextension
: Add the ability to configure multiple bearer tokens for the same endpoint. (#38148) -
opampsupervisor
: Support HTTP endpoint for opampsupervisor (#38654) -
opampsupervisor
: Add support for configuring the Logs SDK (#38477) -
pkg/ottl
: AddIsValidLuhn()
checksum verification function (#37880) -
pkg/ottl
: Add ability to compare maps in Boolean Expressions (#38611) -
pkg/ottl
: AddMurmur3Hash
andMurmur3Hash128
functions to convert thetarget
string to Murmur3 hash in hexadecimal string format (#34077) -
receiver/prometheus
: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646) -
saphanareceiver
: Promote to alpha stability (#38257) -
tcpcheckreceiver
: Promote to alpha stability (#38442) -
rabbitmqreceiver
: Enhance the RabbitMQ receiver to collect and report node-level metrics (rabbitmq.node.disk_free
,rabbitmq.node.fd_used
,rabbitmq.node.mem_limit
, andrabbitmq.node.mem_used
). This provides additional observability into the state and resource usage of RabbitMQ nodes. (#36925) -
processor/redaction
: Support hashing instead of masking values via 'hash_function' parameter (#35830) -
redisstorageextension
: allow redis key prefix to be specified in extension config (#37677) -
pkg/stanza
: Add 'regex_replace' operator (#37443) -
jaegerreceiver
: Remove dependency on jaeger/cmd/agent (#38655) -
metricstarttimeprocessor
: Use a hash of resource attributes to cache start times for metrics (#38286) -
resourceprocessor
: Add support for profile signal type (#359979) -
secretsmanagerprovider
: Allow for default values when the selector is empty or the JSON key is not found (#37535)
Uses the same syntax as theenvprovider
-
receiver/azuremonitorreceiver
: Add dimensions.enabled and dimensions.overrides which allows to opt out from automatically split by all the dimensions of the resource type (#36611) -
sqlqueryreceiver
: Allow users to specify the maximum number of concurrent open connections to DB server usingmax_open_conn
config parameter (#36752) -
pkg/stanza
: Prevent data loss in Stanza-based receivers on ungraceful shutdown of the collector (#35456)
Enable thestanza.synchronousLogEmitter
feature gate to unlock this feature.
See the documentation for more information. -
telemetrygen
: Support integer values in--telemetry-attributes
and--otlp-attributes
flags (#38392)- Previously, all attribute values had to be strings wrapped in double quotes.
- Now, unquoted integer values (e.g.,
server.port=8000
) are correctly parsed as integers. - Ensures backward compatibility with existing string and boolean attributes.
-
tlscheckreceiver
: Promote to alpha stability (#38460) -
receiver/webhookeventreceiver
: Add option to include headers as log attributes (#37815)
Adds newheader_attribute_regex
option. If set, add headers matching supplied regex as log attributes.
Header attributes will be prefixed withheader.
π§° Bug fixes π§°
filelogreceiver
: Extend container parser log file path pattern to include rotated files. (#35137)opampsupervisor
: Use OwnLogsConnSettings along with Metrics & Traces settings to evaluate if configuration changed on message. (#38409)awsfirehosereceiver
: Fix cwlogs encoding to not consider CONTROL_MESSAGE records invalid (#38433)cloudflarereceiver
: Add missing telemetry for Cloudflare receiver (#38447)mysqlreceiver
: Fixed issue where the system attempted to convert string value '0.0000' (stored as []uint8) to int64 type, which was causing an invalid syntax error. (#38276)attributesprocessor
: Validate metrics configuration parameters before processing (#36077)otlpjsonfilereceiver
: Fix nil pointer dereference due to empty token (#38289)awsfirehosereceiver
: Remove error log when gzip reader type assertion fails due to nil value (#38352)azuremonitorexporter
: Fix flushes on each single Span (#37214)servicegraphconnector
: Change the default value ofmetrics_flush_interval
to 60s to avoid excessive metric data point generation with default settings.
(#34843)githubreceiver
: Fixes a bug where Job Step Spans did not have the correct Parent SpanID. (#38647)syslogexporter
: Fixes handling of multiple structured data elements (#33300)
Previous version added all structured data within one bracket pair. According to the RFC each structured data element should have its own bracket pair.healthcheckv2extension
: Fix the deadlock in healthcheckv2 extension in case of an error in the healthcheckv2 Start function. (#38269)probabilisticsampler
: Logs priority sampling behavior applies only when the priority attribute is present. (#38468)pkg/ottl
: Fix limitation of map literals within slice literals not being handled correctly (#37405)
API changelog
π Breaking changes π
-
pkg/ottl
: Add support for parsing OTTL conditions to theottl.ParserCollection
. (#37904)
Theottl.WithParserCollectionContext
option now requires the converters to be configured using theottl.WithStatementConverter
andottl.WithConditionConverter
options. -
datadogconnector
: Removedatagodconnector.TracesConfig
, usedatadogconfig.TracesConnectorConfig
instead (#38661)
π‘ Enhancements π‘
dbstorageextension
: Optimize dbstorage.Batch() performance for single-type Operations set call (#38026)bearertokenauthextension
: Add the ability to configure multiple bearer tokens for the same endpoint. (#38148)pkg/pdatatest
: Add ValidateProfile() function to validate pprofile.Profile. (#38452)receiver/prometheus
: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)pkg/pdatatest
: Simplify generating profiles for testing by transforming Go structs to profiles. (#38430)