Releases: open-telemetry/opentelemetry-collector-contrib
v0.127.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
-
sqlserverreceiver
: Zero values in delta attributes will be reported in top query collection. (#40041)
This change includes the following attributes:- sqlserver.total_worker_time
- sqlserver.execution_count
- sqlserver.total_logical_reads
- sqlserver.total_logical_writes
- sqlserver.total_physical_reads
- sqlserver.total_rows
- sqlserver.total_grant_kb
-
stefreceiver, stefexporter
: Updated to STEF 0.0.6, which had a breaking change in the format from 0.0.5 (#40058)
🚀 New components 🚀
stefreceiver
: Update stability of STEF receiver to Alpha. (#40062)
💡 Enhancements 💡
-
coralogixexporter
: Added a mechanism to drop telemetry data when rate limit, quota or authorization errors are encountered. (#40074)
Added a new configuration option to the Coralogix exporter to enable a rate limiter mechanism.
The rate limiter mechanism is disabled by default. It can be configured using the following configuration options:rate_limiter:
enabled: true
threshold: 10
duration: 1mWhere:
enabled
is a boolean flag to enable the rate limiter mechanism.threshold
is the number of errors to trigger the rate limiter mechanism (default: 10).duration
is the duration of the rate limit window (default: 1 minute).
Note the number of errors is cumulative and reset after the duration has passed or a successful request is made.
-
coralogixexporter
: Print metrics causing the partial success response from the backend. (#40199) -
awss3receiver
: Add SQS support to the awss3receiver component (#36315) -
azuremonitorreceiver
: Add support for azureauthextension as a token provider for azuremonitorreceiver. (#39048) -
datadogreceiver
: Address semantic conventions noncompliance and add support for http/db (#36924)- Bump semantic conventions to v1.30.0
- Add support for http and db attributes
- Use datadog's base service as service.name when available
- Set
server.address
on client/producer/consumer spans - Properly name postgresql/redis/servlet/spring spans
-
kafkaexporter
: Allow kafka exporter to produce to topics based on metadata key values (#39208)
Allows the Kafka exporter to dynamically use a signal's export target topic based
on the value of the pipeline's metadata, allowing dynamic signal routing. -
faroreceiver, faroexporter
: Stability level changed from development to alpha. (#40000) -
processor/tailsampling
: Add first policy match decision to tailsampling processor (#36795) -
gitlabreceiver
: add GitLab pipeline tracing functionality (#35207) -
receiver/k8sclusterreceiver
: Added new resource attributesk8s.hpa.scaletargetref.kind
,k8s.hpa.scaletargetref.name
, andk8s.hpa.scaletargetref.apiversion
to thek8s.hpa
resource. These attributes are disabled by default. (#38768) -
datdogexporter, datadogconnector
: Graduate the datadog.EnableReceiveResourceSpansV2 feature gate to beta. (#40083) -
k8sobserver
: Add namespaces setting for scoping k8s client to specific namespaces (#39677) -
lokireceiver
: Add support for structured metadata in lokireceiver (#40095) -
awss3exporter
: Add the retry mode, max attempts and max backoff to the settings (#36264) -
receiver/netflow
: Adds additional common EtherTypes fornetwork.type
. (#40219) -
prometheusremotewriteexproter
: Adds wal metrics to the Prometheus Remote WRite Exporter. The new metrics are: -
otelcol_exporter_prometheusremotewrite_wal_writes
: The total number of WAL writes. -
otelcol_exporter_prometheusremotewrite_wal_writes_failures
: The total number of WAL write failures.
(#39556) -
sumologicexporter
: Change how infinity bounds are represented in histogram buckets so that the Sumologic backend can properly handle them. (#39904) -
k8sattributesprocessor
: Add option to configure automatic service resource attributes (#37114)
Implements Service Attributes.If you are using the file log receiver, you can now create the same resource attributes as traces (via OTLP) received
from an application instrumented with the OpenTelemetry Operator -
simply by adding the
extract: { metadata: ["service.namespace", "service.name", "service.version", "service.instance.id"] }
configuration to thek8sattributesprocessor
processor.
See the documentation for more details. -
signaltometricsconnector
: Add support for parsing gauge metrics from any signal types (#37093) -
receiver/sqlserver
: Add new metric for disk IO rate on a resource pool (#39977)
The new metricsqlserver.resource_pool.disk.operations
is disabled by default. -
receiver/sqlserver
: Add new metricsqlserver.lock.wait.count
(#39892)
This metric is disabled by default. -
receiver/sqlserver
: Add new metric to track OS wait times (#39977)
The new metric is namedsqlserver.os.wait.duration
and disabled by default. -
receiver/sqlserver
: Enablesqlserver.page.life_expectancy
metric for all configurations (#39940)
This metric was originally only available when running on Windows, but is
now available for all configuration options, including direct connection.
Since this metric is enabled by default, users who have direct connection
configured will now have this metric emitted by default. -
sqlserverreceiver
: Add configuration optiontop_query_collection.collection_interval
for top query collection to make the collection less frequent. (#40002)- This change only applies to the
top_query_collection
feature. - The default value is
60s
- This change only applies to the
🧰 Bug fixes 🧰
-
elasticsearchexporter
: Fix panic when encoding non-string scope attributes. (#37701) -
awsfirehosereceiver
: Parse encoding as a component ID, not just type, allowing for named encodings. (#39808) -
awsfirehosereceiver
: Fix decoding for OTLP-formatted metrics. (#39462)
OTLP-formatted metrics were not being decoded correctly until now. -
azuremonitorreceiver
: usemetrics
aggregation filter whenuse_batch_api: true
(#40079) -
googlecloudexporter
: Update the MapMonitoredResource mapping when the exporter.googlecloud.CustomMonitoredResources feature flag is used (#40186) -
golden
: Return an error on timeout without receiving any data (#40076) -
postgresqlreceiver
: fix too many top query got reported. top query should only report those queries were executed during the query interval (#39942) -
filelogreceiver
: Introduceutf8-raw
encoding to avoid replacing invalid bytes with \uFFFD when reading UTF-8 input. (#39653) -
internal/splunk
: Treat HTTP 403 Forbidden as a permanent error. (#39037)- Splunk responses with a 403 typically indicate an authentication or authorization issue that is not likely to be resolved by retrying.
- This change ensures that the error is treated as permanent to avoid unnecessary retries.
- This change is applicable to
splunkhecexporter
,signalfxexporter
.
-
spanmetricsconnector
: Fix bug causing span metrics calls count to be always 0 when using delta temporality (#40139) -
kafkareceiver, kafkaexporter
: Add support for named encoding extensions in kafkareceiver and kafkaexporter (#40142) -
libhoneyreceiver
: Handle paths without slashes at the end by adding them (#40070) -
exporter/datadog
: Correctly treat summary counts as cumulative monotonic sums instead of cumulative non-monotonic sums (#40176) -
opampsupervisor
: Fix bug in order of configuration composition and server start (#39949)
First start the Supervisor's OpAMP server at a random port, then
compose the configuration for the agent with that port. -
cmd/opampsupervisor
: Fix race condition where the Supervisor could report the wrong health status (#40207) -
opampsupervisor
: If there is a remote config, the supervisor now reports the remote config as applied and the correct hash on startup. (#40233) -
stefreceiver
: Correctly handle Shutdown request (#40082)
The receiver now correctly Shutdown even if there are active connections
API Changelog
🛑 Breaking changes 🛑
cloudfoundryreceiver
: Unexport EnvelopeStreamFactory and UAATokenProvider (#40270)fluentforwardreceiver
: Unexport all structs in fluentforward receiver. (#40108)postgresqlreceiver
: Unexport Item (#40265)netflowreceiver
: Unexport OtelLogsProducerWrapper (#40269)k8sobserver
: Unexport RunningContainer (#40228)receiver/vcenter
: unexport struct DatacenterStats (#40109)tcpcheckreceiver
: Unexport TCPConnectionState (#40271)wavefrontreceiver
: Unexport WavefrontParser struct (#40105)
💡 Enhancements 💡
sqlserverreceiver
: Use generated structured event functions in mdatagen (#40041)
🧰 Bug fixes 🧰
pkg/experimentalmetricmetadata
: Add missing otel.entity.type field to the delete events (#40279)
We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @l00py, @spacekitteh, @simitt, @stollero, @npordash, @maxarndt, @jsonlsy, @AndersonQ, @mheffner ! 🎉
v0.126.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
-
pkg
: Remove the fields from category AzureCdnAccessLog from the body log record and place them as log record attributes. (#39811) -
azuremonitorreceiver
: Renamed theauth
field tocredentials
in the azuremonitorreceiver configuration. (#39738) -
pkg/datadog
: Switch feature gate datadog.EnableOperationAndResourceNameV2 to beta. This gate affects exporter/datadog and connector/datadog. It modifies the logic for computing operation names from OTLP spans to produce shorter, more readable names and improve alignment with OpenTelemetry specifications. (#39895)
Please see the migration guide for more details. https://docs.datadoghq.com/opentelemetry/migrate/migrate_operation_names/?tab=opentelemetrycollector -
opampsupervisor
: Remnoveagent.health_check_port
. (#39908)
The opampsupervisor no longer starts the collector with a default health check extension. -
googlecloudpubsubreceiver
: Addignore_encoding_error
configuration to ignore decoding failures from the configured encoder (#38164)
Introduce a setting to ignore errors when the configured encoder. It's advised to set this totrue
when using
a custom encoder, and use the newreceiver.googlecloudpubsub.encoding_error
metric to monitor the number of errors.
Ignoring the error will cause the receiver to drop the message. -
coralogixexporter
: Remove deprecated batcher config for coralogixexporter, use sending_queue::batch (#39960) -
sqlserverreceiver
: Update event properties (#39868)
This change only applies to top query events and query sample events:- Update event name of top query event from
top query
todb.server.top_query
- Update event name of query sample event from
query sample
todb.server.query_sample
- Remove body of query sample event
- Rename
sqlserver.username
touser.name
in query sample event
- Update event name of top query event from
-
receiver/prometheus
: Upgradereceiver.prometheusreceiver.RemoveLegacyResourceAttributes
feature gate tobeta
stability (enabled by default) (#32814)
Disable thereceiver.prometheusreceiver.RemoveLegacyResourceAttributes
feature gate to restore previous behavior. This feature gate will be removed in a future release.
The feature gate is used to replace the following legacy resource attributes:
net.host.name
->server.address
net.host.port
->server.port
http.scheme
->url.scheme
🚩 Deprecations 🚩
-
googlecloudpubsubreceiver
: Add deprecation warning for the build-in encoders (#39371)
The build-in encoderscloud_logging
andraw_text
both have encoding extension alternatives and will be removed
in version v0.132.0 of the collector. -
processor/tailsampling
: The invert decisions (InvertSampled and InvertNotSampled) have been deprecated, please make use of drop policy to explicitly not sample select traces. (#39833)
🚀 New components 🚀
-
golden
: Add a new CLI, golden, to run comparison of expected payloads over OTLP. (#39662)
You can run golden with--otlp-endpoint localhost:4317 --expected expected.yaml --write-expected --timeout 1m
-
confmap/googlesecretmanagerprovider
: Initial implementation of secrets manager provider. Allows fetch secrets from Google Secrets Manager (#39665) -
googlecloudlogentryencodingextension
: Update stability to alpha. (#37531)
💡 Enhancements 💡
-
azuremonitorexxporter
: support logging exceptions for azuremonitor exporter (#38432) -
fileconsumer
: Support "compression:auto
" which automatically detects file compression type and ingests data. Currently, only gzip compressed files are auto detected. This allows for mix of compressed and uncompressed files to be ingested with the same filelogreceiver. (#37772) -
kafkaexporter
: Add compression level in kafka producer. (#39772) -
processor/metricstarttime
: Upgrade the stability toAlpha
(#39857) -
splunkenterprisereceiver
: addssplunk.indexer.rollingrestart.status
metric (#39023) -
carbonreceiver
: Support unnamed groups in carbon receiver regex parser (#39137) -
splunkenterprisereceiver
: Added a newsplunk.search.initiation
,splunk.search.duration
,splunk.search.status
, andsplunk.search.success
metrics. (#39566) -
googlecloudexporter
: Updated the exporter.googlecloud.CustomMonitoredResources featuregate to support user defined mapping from OTel resources to Monitored Resources for logging (#40001) -
dockerstatsreceiver
: Returns Docker client options, using the DOCKER_HOST environment variable if no endpoint is configured. (#35779)- Previously, the receiver required explicit configuration of the endpoint.
- This change allows automatic detection of DOCKER_HOST, improving flexibility in different environments.
-
elasticsearchexporter
: Report Elasticsearch request success / failure via componentstatus (#39562) -
eventlogreceiver
: add raw XML query filtering option (#38517) -
faroreceiver
: Completes the implementation of the Faro receiver. (#19180) -
mongodbatlasreceiver
: Add support for setting custom base URL for the MongoDB Atlas API (#39345) -
postgresqlreceiver
: Reduce component footprint by removing the loading of unnecessary SQL drivers (#39918)
Custom builds that are using the postgresql receiver and no other SQL related receivers
will see a reduction in the output binary size. A similar effect is expected also for
the sqlserverreceiver. -
spanmetricsconnector
: Separate Dimensions for calls and duration metrics (#36805)
Add two new fields to the settings:histogram.dimensions
andcalls_dimensions
.
Use them to add independent dimensions to the duration and calls metrics. -
cmd/golden
: Add a docker image for golden (#39662) -
confmap/googlesecretmanager
: Mark the Google Secret Manager provider as alpha stability. (#39665) -
confmap/googlesecretmanager
: Update scheme to use googlesecretsmanager instead of googlesecretmanagerprovider. (#39971) -
pkg/ottl
: Add support for HasPrefix and HasSuffix functions (#39825) -
datadogexporter
: Enable instrumentation_scope_metadata_as_tags by default in datadogexporter. Scope attributes are now added as tags to metrics. (#39767)
If you have too many unique values for instrumentation scope attributes, this may cause cardinality issues.
If this is a concern, you can disable this by settingdatadog.metrics.instrumentation_scope_metadata_as_tags
tofalse
. -
prometheusremotewriteexporter
: Addexporter.prometheusremotewritexporter.enableSendingRW2
feature gate and configuration to the exporter to send Prometheus remote write 2.0 version. (#33661)
WARNING! PRW 2.0 support for the exporter is still under development and not ready for usage. -
k8sobjectsreceiver
: k8sobject receiver support leader election (#39054) -
receiver/k8scluster
: Add node name to pod metadata (#37454) -
receiver/hostmetricsreceiver
: Migratedhostmetricsreceiver
to usepkg/winperfcounters
when retrieving Windows performance counters. (#38858) -
netflowreceiver
: Addsend_raw
option to send logs as a raw string in the log body instead of parsed into attributes. (#38920) -
oidcauthextension
: Add ignore_audience config option for ignoring oidc audience (#36568)
go-oidc SkipClientIDCheck is set based on config ignore_audience -
opampsupervisor
: Update supervisor to forward the agent's ComponentHealth message to the server whenever it is received. (#39890) -
pkg/ottl
: Add the OTTL function ProfileID() (#39587) -
pkg/ottl
: OTTL is now officially considered Beta stability (#39910) -
postgresqlreceiver
: we introduced the top query collection to postgresql receiver. this will collect the queries frompg_stat_statements
and report the related metrics. this will help the end user to identify which queries are most executed, and resources most used. (#39573) -
processor/redaction
: Apply redaction to log.body (#37239) -
metricstarttimeprocessor
: Implementation of the subtractinitial strategy (#38379) -
awsfirehosereceiver
: support all possible quantile values of CloudWatch metrics in addition to quantile 0 (min) and 1 (max) (#39687) -
processor/tailsampling
: New policy type to explicitly drop traces regardless of other policy decisions. (#39668) -
stefexporter
: Implement async exporting (#39958) -
processor/transform
: The transformprocessor is now officially considered Beta stability (#39928) -
receiver/ntp
: Move ntpreceiver to beta stability (#39897)
🧰 Bug fixes 🧰
-
pkg
: Fix empty resource attributes in the azure logs translator (#39571) -
datadogexporter
: Fixes a memory leak in the Datadog exporter caused by an uninitialized logger. (#39959) -
datadogreceiver
: Support 128 bits TraceIDs coming from Datadog (#36926)
This fix is released behind a featuregate so as to not be a breaking change for users. To enable it, enable
receiver.datadogreceiver.Enable128BitTraceID
. The feature uses an LRU cache that will keep the last 100 trace ids by
default. This can be configured viareceivers.datadog.trace_id_cache_size
. -
kafkaexporter
: Make Sarama's ConfigurationError as permanent to prevent retries (#38604) -
clickhouseexporter
: clickhouseexporter doesn't set the database name in the dsn of the query that creates the database (#38829) -
kafkaexporter
: fix the default topic configuration, and default message partitioning (#39810, #39816) -
kafkareceiver
: Fix support for built-in text encodings with hyphens in the encoding name (#39793) -
tailsamplingprocessor
: Fix the misleading decision timer latency metric (#38502) -
pkg/stanza/fileconsumer
: Mute new reader log when the noStateTracker is used (#39...
v0.125.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
-
awscloudwatchreceiver
: Adds option to set storage for AWS CloudWatch receiver (#32231)- The default value of the
start_from
field in the logs config changed to Unix epoch (1970-01-01T00:00:00Z
) when not explicitly configured. This may alter the behavior of existing configurations relying on the previous default. - To maintain previous behavior, explicitly configure
start_from
in the logs configuraiton.
- The default value of the
-
k8sobjectsreceiver
: Check for K8s API objects existence on receiver startup and not during config validation. (#38803) -
receiver/kubeletstats
: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to beta (#39487)
Deprecated metricscontainer.cpu.utilization
,k8s.pod.cpu.utilization
andk8s.node.cpu.utilization
are being replaced
bycontainer.cpu.usage
,k8s.pod.cpu.usage
andk8s.node.cpu.usage
.
To be able to use the deprecated metrics, switchreceiver.kubeletstats.enableCPUUsageMetrics
feature gate tofalse
. -
processor/k8sattributes
: Change processor/k8sattributes to return error if unset envvar is used fornode_from_env_var
(#39447)
Before this was a valid configuration, but had an unexpected behavior to monitor the entire cluster. | To keep the same behavior simply do not set thenode_from_env_var
value or use empty string. -
sqlserverreceiver
:host.name
,sqlserver.computer.name
, andsqlserver.instance.name
are now resource attributes instead of log attributes. We used to reportcomputer_name
andinstance_name
in the log attributes for top query collection and they are now deprecated. Now we report the three resources attributes in both top query collection and sample query collection. (#39449)
This change is only relevant for logs.
🚩 Deprecations 🚩
spanmetricsconnector
: Deprecate the unused configurationdimensions_cache_size
(#39646)
Deprecated configurationdimensions_cache_size
, please useaggregation_cardinality_limit
instead
🚀 New components 🚀
dnslookupprocessor
: Add structure of new processor (#34398)datadogextension
: Introduce framework for Datadog Extension (#39589)sematextexporter
: basic logs implementation (#36465)
💡 Enhancements 💡
-
spanmetricsconnector
: Add newaggregation_cardinality_limit
configuration option to limit the number of unique combinations of dimensions that will be tracked for metrics aggregation. (#38990) -
awslogsencodingextension
: Add support for S3 Access Logs. (#39161) -
pkg
: Improve performance of azure logs translator. (#39340) -
azureauthextension
: Update stability to alpha. (#39574) -
countconnector
: Add profiles support (#39577) -
awscloudwatchlogsexporter
: Add dynamic log_group_name and log_group_stream naming, based on awsemfexporter (#31382) -
elasticsearchexporter
: Add support for include_source_on_error, which configures whether bulk index responses should include source document on error (#39211) -
elasticsearchexporter
: Introduce LRU cache for profiles (#38606) -
elasticsearchexporter
: Add support for extracting mapping mode from a scope attribute. (#39110) -
opampextension
: Introduces a new config fieldinclude_resource_attributes
which allows the extension to copy the agent's resource attributes to the non-identifying attributes in the agent description. (#37487) -
statsdreceiver
: Add new config to customize socket permissions when transport is set tounixgram
. (#37807) -
kubeletstatsreceiver
: Adds support for collecting Node and Pod network IO/error metrics for all network interfaces (#30196) -
awss3exporter
: add configuration fieldresource_attrs_to_s3/s3_prefix
to support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefix
is configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefix
will serve as a fallback. -
azureblobexporter
: Add SerialNumBeforeExtension option to BlobNameFormat in Azure Blob exporter as an option to avoid breaking file extension (#39593) -
splunkhecexporter
: Use ObservedTimestamp if Timestamp is empty. (#39221) -
githubreceiver
: add dedicated job queue spans with cicd.pipeline.run.queue.duration attribute (#39081) -
hostmetricsreceiver
: Possible to enable the process scraper under FreeBSD in the hostmetrics receiver. (#39622) -
k8sclusterreceiver
: add support for k8s leader election in k8s cluster receiver (#38429)
Allows multiple instances of the k8s cluster receiver to run in a HA mode in a single cluster. -
kafkareceiver
: Add support for configuring Kafka consumer rebalance strategy and group instance ID (#39513)
This enhancement introduces two optional settings: group_rebalance_strategy and group_instance_id.
These allow users to override the default Range-based rebalance strategy and optionally provide a static instance ID (as per KIP-345) for cooperative sticky balancing.
This is particularly useful when handling high-cardinality metric workloads, as it reduces rebalance impact, improves cache reuse, and boosts CPU efficiency.
Both settings are optional to maintain full backward compatibility. -
kafkareceiver
: Added a new 'topic' attribute to all existing internal consume-claim metrics. (#35336) -
kafkareceiver
: Addmax_fetch_wait
config setting (#39360)
This setting allows you to specify the maximum time that the broker will wait for
min_fetch_size bytes of data to be available before sending a response to the client.
Defaults to 250ms. -
receiver_creator
: Fix kafkametrics receiver instantiation (#39313) -
signaltometricsconnector
: Add profiles support (#39609) -
sqlserverreceiver
: Acceptcontext_info
withtraceparent
format in query sample collection, setting log record with correct traceId and spanId. (#39539) -
opampsupervisor
: Add support for the opampsupervisor to be able to start with only local config (#38794) -
prometheusremotewritereceiver
: Cachetarget_info
metrics so it can be used to populate metrics' Resource Attributes. (#37277)
You can read more about resource attributes handling in https://opentelemetry.io/docs/specs/otel/compatibility/prometheus_and_openmetrics/#resource-attributes-1
🧰 Bug fixes 🧰
sqlqueryreceiver
: respectmax_open_conn
configuration for multiple queries (#39270)resourcedetectionprocessor
: change the EKS cluster identifier and check the cluster version instead of the existence of aws-auth configmap (#39479)datadogexporter
: Fix a race condition in metric serializer exporter where the exporter may not be fully initialized when it receives metrics (#39669)filelogreceiver
: Fix frozen receiver when max_concurrent_files is 1 (#39598)transformprocessor
: Fix the context inferrer to also take into consideration the global OTTL conditions configuration. (#39455)prometheusreceiver
: When a histogram metric has both classic and native histogram buckets, keep both, instead of throwing away the native histogram buckets. (#26555)
This was a technical dept from the previous implementation in PR 28663.geoipprocessor
: Close providers readers on shutdown (#38961)receivercreator
: Fix how escaped backticks are handled in receiver creator templates (#39163)opampsupervisor
: Supervisor will no longer report a config status of "applying" if the config has not changed (#39500)githubreceiver
: Fix span end times for skipped and cancelled workflows (#39020)k8sobjectsreceiver
: Introduceserror_mode
, so users can choose between propagating, ignoring, or silencing missing objects. (#38803)opampextension
: Skips loading TLS config for insecure endpoints (#39515)opampsupervisor
: fixes OpAMP Supervisor macOS example config (#39492)tcpcheckreceiver
: Fix tcpcheck.error to report as a cumulative value instead of always being 1. (#39234)kafkareceiver
:name
label will be correctly set in receiver metrics (#39483)signaltometricsconnector
: Fix incorrect result for metrics configured with same name but different type (#39442)tcplogreceiver
: Ignore SplitFuncBuilder field to prevent panic during config marshaling (#39474)deltatocumulative
: fixes misuse of xsync, leading to bad mutex unlock (#39106)
API Changelog
💡 Enhancements 💡
-
pkg/ottl
: Addottl.WithContextInferenceConditions
option to allow configuring extra context inferrer OTTL conditions (#39455) -
awss3exporter
: add configuration fieldresource_attrs_to_s3/s3_prefix
to support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefix
is configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefix
will serve as a fallback. -
pkg/golden
: Expose methods to write data to file outside of the scope of a test (#39673)
Expose WriteMetricsToFile to write pmetric data to a file outside of the scope of a test.
Expose WriteTracesToFile to write ptrace data to a file outside of the scope of a test
Expose WriteLogsToFile to write plog data to a file outside of the scope of a test
Expose WriteProfilesToFile to write pprofile data to a file outside of the scope of a test -
pkg/ottl
: Add PMapGetSetter interface and StandardPMapGetSetter type. (#39657)
🧰 Bug fixes 🧰
v0.124.1
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
v0.124.1
🧰 Bug fixes 🧰
receiver/filelog
: Remove printing to console the names of files which are read by File Log receiver (#39414)
v0.124.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/carbonexporter
- 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
v0.124.0 User changelog
🐛 Known bugs 🐛
receiver/filelog
: names of files are printed repeatedly tostdout
#39414
🛑 Breaking changes 🛑
splunkenterprisereceiver
: added new attributes to the receiver and modified config (#36330)extension/headerssetter
: ChangeDefaultValue
to useconfigopaque.String
type. (#39127)splunkenterprisereceiver
: disabled default metrics except for splunkHealth to ensure scrapes run on Splunk instance are opt-in (#39068)processor/transform
: Fix Basic Config style to properly handlecache
access. (#38926)
The Transform processor now requires only one configuration style per processor's configuration, which means Advanced Config and Basic Config cannot be used together anymore.sqlserverreceiver
: update the unit ofdb.lock_timeout
attribute from millisecond to second. this attribute is part of the emitted query sample collection. (#39042)
🚩 Deprecations 🚩
datadogexporter
: Deprecate confighost_metadata::first_resource
(#39069)
Opt in to https://docs.datadoghq.com/opentelemetry/mapping/host_metadata/ instead. Its behavior is more predictable and provides more flexibility.datadogexporter
: Deprecate feature gateexporter.datadogexporter.metricexportnativeclient
. Datadog exporter now uses the serializer to send metrics by default. (#39148)
Use feature gateexporter.datadogexporter.metricexportserializerclient
insteadkafkaexporter
: Deprecateauth::tls
and introducetls
config (#37776)kafkametricsreceiver
: Deprecateauth::tls
and introducetls
config (#37776)kafkareceiver
: Deprecateauth::tls
and introducetls
config (#37776)kafkatopicsobserverextension
: Deprecateauth::tls
and introducetls
config (#37776)kafkaexporter
: deprecatetopic
andencoding
, introduce signal-specific configuration (#35432)kafkareceiver
: Add signal-specific topic and encoding config, deprecate existing topic/encoding config. (#32735)
🚀 New components 🚀
googlecloudlogentryencodingextension
: Add Google Cloud LogEntry Encoding Extension to support decoding logs produced by Google Cloud services (#37531)stefreceiver
: Make the receiver initially code complete (#38979)
💡 Enhancements 💡
-
azureblobexporter
: support for append blob in azure blob storage exporter (#39075) -
alertmanagerexporter
: Add alert labels based on event attribute list in alermanager exporter (#38063) -
alertmanagerexporter
: Add support for api version in Alertmanager endpoint, default is v2 (#38694) -
azureauthextension
: Add implement for extensionauth.HTTPClient and extensionauth.Server interface functions. (#39178) -
azureblobexporter
: change to alpha for azure blob exporter (#39272) -
azuremonitorreceiver
: Add subscription name resource attribute (#39029) -
azuremonitorreceiver
: Allow to use metrics:getBatch API (Azure Monitor Metrics Data Plane) (#38651) -
servicegraphconnector
: Change database_name_attribute to accept a list of values. (#37777) -
datadogexporter
: Move feature gateexporter.datadogexporter.metricexportserializerclient
to beta. Datadog exporter now uses the serializer to send metrics by default. (#39148)
The serializer has overall better performance and throughput. Note the deprecatedhost_metadata::hostname_source::first_resource
config is ignored in the serializer. -
elasticsearchexporter
: Addtelemetry::log_failed_docs_input
andtelemetry::log_failed_docs_input_rate_limit
config to facilitate debugging of failed bulk request items (#39205)
Additionally, log a warning about potentially exposing sensitive data on any enabledtelemetry
config. -
kafkareceiver
: Propagate Kafka headers as metadata (#39129)
Allwos the Kafka receiver to propagate Kafka headers as client.Info (metadata). Allowing downstream processors and exporters to access the values via the enriched context. -
kafkaexporter
: Propagate metadata keys as headers (#39130)
Adds a new config option specifying a list of metadata keys that should be propagated as Kafka message headers. -
faroexporter
: Completes the implementation of the Faro exporter. (#35319) -
farotranslator
: Adds support for user actions in the Faro translator. (#39141) -
receivercreator
: Add kafkatopicsobserver to the receivercreator configuration (#37665) -
clickhouseexporter
: use a more precise conversion function to create TTL (#38942) -
kafkaexporter
: enable partitioning for all encodings (#39001, #38999)
With the exception of Jaeger encodings which have their own partitioning logic,
partitioning is now independent of the encoding used. This means that all encodings
now support partitioning. -
signalfxexporter
: Errors will now include the URL that it was trying to access (#39026) -
splunkhecexporter
: Errors will now include the URL that it was trying to access (#39026) -
telemetrygen
: Fix flaky test TestTemporalityStartTimes (#39219) -
k8sattributesprocessor
: Add option to configure automatic resource attributes - with annotation prefix (#37114)
Implements Specify resource attributes using Kubernetes annotations.If you are using the file log receiver, you can now create the same resource attributes as traces (via OTLP) received
from an application instrumented with the OpenTelemetry Operator -
simply by adding theextract: { otel_annotations: true }
configuration to thek8sattributesprocessor
processor.
See the documentation for more details. -
signaltometricsconnector
: Allow to configureoptional
attributes which are copied as-is to the output metric. (#38600) -
oracledbreceiver
: Add support for parallel operations metrics (#39215)
The following metrics are now available, all disabled by default:- 'DDL statements parallelized'
- 'DML statements parallelized'
- 'Parallel operations not downgraded'
- 'Parallel operations downgraded to serial'
- 'Parallel operations downgraded (1-25%)'
- 'Parallel operations downgraded (25-50%)'
- 'Parallel operations downgraded (50-75%)'
- 'Parallel operations downgraded (75-99%)'
-
ottlprofile
: Add OTTL support for profiles. (#36104) -
k8sclusterreceiver
: Add missing attributes to entities in experimental entity feature (#39038) -
pkg/stanza
: Use buffer pool for the read buffers to limit allocations" (#39373) -
postgresqlreceiver
: add top query collection to help end user identify which query were executed in the postgresql database. (#39311) -
sqlserverreceiver
: Allow full control of the "connection string" via thedatasource
configuration option (#39235) -
azureauthextension
: Use credentials to handle the access token. (#39057) -
sigv4auth
: Added support for authenticating with AssumeRoleWithWebIdentity API (#103107)
Adds the ability to specify the authenticator with an OIDC JWT and AWS IAM role to be assumed
using the AssumeRoleWithWebIdentity API instead of just the AssumeRole API. -
spanmetricsconnector
: Initialise new calls_total metrics at 0 (#38537) -
pkg/stanza
: Remove unnecessary slice allocation to track errors (even nil) (#39367) -
awslogs_encoding
: Add support for VPC flow logs sent to S3 in plain text format. (#38896) -
opampsupervisor
: add support for including local configuration files (#37886) -
awslogsencodingextension
: Rename aws.eni.id attribute to network.interface.name and update README (#39051) -
awslogsencodingextension
: Add support for ECS fields. (#39241) -
awslogsencodingextension
: Improve performance when unmarshalling plain-text VPC flow logs. (#39043)
🧰 Bug fixes 🧰
-
metricstransformprocessor
: Fix aggregation of exponential histograms in metricstransform processor. (#39143)
Fix a panic when the number of populated buckets varies, and fix summing of counts for the Zero bucket. -
datadogexporter
: Fix a bug on missing APM stats when feature gateexporter.datadogexporter.metricexportserializerclient
is enabled. (#39148) -
datadogexporter
: Fix a bug oninstrumentation_scope_metadata_as_tags
not being honored when feature gateexporter.datadogexporter.metricexportserializerclient
is enabled. (#39148) -
elasticsearchexporter
: Handle edge cases in metrics grouping causing TSDB version_conflict_engine_exception (#38083)
Fix 2 edge cases where metrics grouping were not done correctly:- In ecs mode, metric grouping now considers data point attributes overwriting resource attributes.
- In ecs and otel mode, attributes are now sorted before hashing. Metrics with attributes but in different order are now grouped together.
-
pkg/ottl
: Fix OTTL context inference order to prioritiz...
v0.123.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/carbonexporter
- 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 🛑
-
elasticsearchexporter
: Remove deprecated fields [min|max]_size_items from batch config (#38836) -
receiver/azuremonitorreceiver
: multi subscriptions support and automatic discovery (#36612) -
kafkaexporter
: change default client_id to "otel-collector" (#38411)
The exporter now uses the "configkafka" package which consolidates
common configuration structures and default values. As a result of
this change, we update the default client_id value to "otel-collector". -
kafkametricsreceiver
: change default client_id to "otel-collector", deprecate "refresh_frequency" (#38411)
The receiver now uses the "configkafka" package which consolidates
common configuration structures and default values. As a result of
this change, we update the default client_id value to "otel-collector",
and deprecate "refresh_frequency" in favour of "metadata.refresh_interval". -
prometheusremotewriteexporter
: Removeexport_created_metric
config option (#35003) -
k8sattributesprocessor
: Remove stable feature gatek8sattr.rfc3339
(#38810) -
tlscheckreceiver
: Add file-based TLS certificate checks (#38906)
🚩 Deprecations 🚩
kafkaexporter
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883)kafkametricsreceiver
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883)kafkareceiver
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883)kafkatopicsobserverextension
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883)
🚀 New components 🚀
awslogsencodingextension
: Add AWS Logs Encoding Extension to support decoding logs produced by AWS services (#38627)stefreceiver
: Add structure of new receiver (#38979)k8slogreceiver
: Add the skeleton for the new k8slogreceiver in development. (#23339)azureauthextension
: Add new authenticator extension for Azure. (#38908)tpmextension
: Add scaffolding for Trusted Platform Module extension. (#38682)
💡 Enhancements 💡
-
spanmetricsconnector
: Add instrumentation scope to span metrics connector. (#23662)
This change adds the instrumentation scope to the span metrics connector, which allows users to specify the instrumentation scope for the connector.
Now, the connector has a new configuration option:include_instrumentation_scope
: A list of instrumentation scope names to include from the traces.
The instrumentation scope name is the name of the instrumentation library that collected the span.
-
azuremonitorexporter
: support span links for traces for azure monitor exporter (#35855) -
splunkhecreceiver
: Splunk HEC timestamp accepts nanoseconds, microseconds, milliseconds, and seconds epoch. (#36571) -
farotranslator
: Add Faro translator package (#19180, #35319) -
lokiexporter
: Add lokiexporter component to the contrib distribution (#38993) -
oracledbreceiver
: Add support for additional read/write metrics (#37814)
The following metrics are now available, all disabled by default:
'physical reads direct', 'physical writes', 'physical writes direct',
'physical read io requests' and 'physical write io requests' metrics' -
tlscheckreceiver
: addtlscheck.x509.san
attribute (#38872)
Subject Alternative Name records are stored as an array on the metric. -
prometheusremotewriteexporter
: Adds logic to convert from the internal OTEL Metrics unit format to Prometheus unit format and emit unit as part of Prometheus metadata. (#29452) -
awslogsencodingextension
: Add support for cloudwatch logs coming from subscription filters. (#38820) -
awscloudwatchencodingextension
: Increase component stability to Alpha (#37870) -
awss3exporter
: Implement timeout for S3 exporter (#36264) -
azureauthextension
: Implement extensionauth.Server and azcore.TokenCredential. (#39012) -
bearertokenauthextension
: Allow the header name to be customized in the bearerauthtoken extension (#38793) -
schemaprocessor
: Add functionality to transform metrics for the schema processor.
(#38628)
Adds functionality to transform metrics using the target schema version. -
elasticsearchexporter
: Enable native frame symbolization for Universal Profiling via the symbolization queue indices. (#38577) -
hostmetricsreceiver
: Reduced the cost of retrieving number of threads and parent process ID on Windows. Disable the featuregatehostmetrics.process.onWindowsUseNewGetProcesses
to fallback to the previous implementation.
(#32947, #38589) -
prometheusremotewritereciever
: Add help ref attribute to metric (#37277) -
hostmetricsreceiver
: Reduced the CPU cost of collecting theprocess.handles
metric on Windows. (#38886)
Instead of using WMI to retrieve the number of opened handles by each process
the scraper now uses the GetProcessHandleCount Win32 API which results in
reduced CPU usage when the metricprocess.handles
is enabled. -
pkg/ottl
: Enhance the Decode OTTL function to support all flavors of Base64 (#38854) -
rabbitmqreceiver
: Enhance the RabbitMQ receiver to collect and report additional node-level metrics:rabbitmq.node.disk_free
,rabbitmq.node.disk_free_limit
,rabbitmq.node.disk_free_alarm
,rabbitmq.node.disk_free_details.rate
,rabbitmq.node.mem_used
,rabbitmq.node.mem_limit
,rabbitmq.node.mem_alarm
,rabbitmq.node.mem_used_details.rate
,rabbitmq.node.fd_used
,rabbitmq.node.fd_total
,rabbitmq.node.fd_used_details.rate
,rabbitmq.node.sockets_used
,rabbitmq.node.sockets_total
,rabbitmq.node.sockets_used_details.rate
,rabbitmq.node.proc_used
,rabbitmq.node.proc_total
,rabbitmq.node.proc_used_details.rate
. These provide additional observability into the state and resource usage of RabbitMQ nodes. (#38976) -
rabbitmqreceiver
: Enhance the RabbitMQ receiver to collect and report additional node-level metrics across multiple categories. These include metrics related to memory, file descriptors, sockets, processes, disk, uptime, scheduling, garbage collection (GC), I/O, message store, connections, clustering, configuration, application info, and context switches. This significantly improves visibility into the performance, state, and resource usage of RabbitMQ nodes. (#38997) -
resourcedetection
: Adding the os.version resource attribute to system resourcedetection processor (#38087) -
prometheusremotewritereciever
: Separate timeseries with the same labels are now translated into the same OTLP metric. (#37791)
timeseries that belongs to the same metric should be added to the same datapoints slice. -
prometheusremotewritereceiver
: Use Created Timestamps to populate Datapoint's StartTimeUnixNano (#37277) -
workflow
: Remove path parts from component label suffixes (#38527) -
sqlserverreceiver
: support sqlserverreceiver to record every executing query (#36462)
We introduced Query Sample collection in this PR. The scraper will record all the currently
executing queries once (in most case) and report related metrics. With this, user will be
able to see what queries got executed and can combine with the Top Query to get more insights
on troubleshooting and fine tuning. -
sqlserverreceiver
: Support query-level log collection (#36462)
Added top query (most CPU 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 MSSQL database performance based on real usage patterns. -
opampsupervisor
: Allow controlling Collectors that don't include the nopreceiver and nopexporer (#38809)
This requires Collectors built with Collector API v0.122.0+. The nopreceiver
and nopexporter will continue to be supported for a few releases, after which
only v0.122.0+ will be supported. -
opampsupervisor
: Report the reception of an unexpected UID during bootstrapping (#29864)
🧰 Bug fixes 🧰
-
metricstarttimeprocessor
: Add reset detection for histograms (#38582) -
prometheusremotewriteexporter
: Disallow users from setting compression type other than snappy (#37232)
This change ensures that only the snappy compression type can be set, as required by the Prometheus Remote Write protocol. -
awsecscontainermetrics
: Ensure that the storage.read_bytes and storage.write_bytes metrics include i/o counts from all devices (#38301) -
receiver/sqlserver
: the current metric scraper would report error when parsing value, the value was parsed as int but actually it should be a float (#38823) -
redisstorageextension
: fix missing redi...
v0.122.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/carbonexporter
- 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_initi...
v0.121.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🛑 Breaking changes 🛑
-
telemetrygen
: Update attribute of generated traces fromnet.peer.ip
tonet.sock.peer.addr
to bring it in line with new semconv. (#38043) -
awss3exporter
: Replaced thes3_partition
option withs3_partition_format
to provide more flexibility to users. (#37915, #37503)
Users can provide custom file partitions using strftime formatting.
The default value ofyear=%Y/month=%m/day=%d/hour=%H/minute=%M
matches the older pattern (withs3_partition: minute
)If users do not provide a value for
s3_prefix
, the exporter will not create a/
folder in the bucket. -
elasticsearchexporter
: drop support for metrics for none, raw, and bodymap mapping modes (#37928)
Metrics support is in development, and was added for "ecs" and "otel" mapping modes.
Support was unintentionally added for the other mapping modes, defaulting to the same
behaviour as "ecs" mode. While metrics support is still in development, drop support
from these mapping modes and require users to use the intended mapping modes. -
awscontainerinsightreceiver
: Remove high cardinality attributeTimestamp
from metrics generated byawscontainerinsightreceiver
(#35861) -
failoverconnector
: Refactors the failover logic and changes the retry mechanism to sample data points (#38064) -
processor/k8sattributes
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128) -
signalfxexporter
: Remove the deprecated configuration optiontranslation_rules
(#35332)
Please use processors to handle desired metric transformations instead. Find migration guidance in the
translation rules migration guide. -
signaltometricsconnector
:get
OTTL function is removed and expressions are now parsed usingParseValueExpression
(#38098)
🚩 Deprecations 🚩
elasticsearchexporter
: Deprecatebatcher::min_size_items
andbatcher::max_size_items
in favor ofbatcher::min_size
andbatcher::max_size
. (#38243)prometheusreceiver
: Deprecate metric start time adjustment in the prometheus receiver. It is being replaced by the metricstarttime processor. (#37186)
Start time adjustment is still enabled by default. To disable it, enable the | receiver.prometheusreceiver.RemoveStartTimeAdjustment feature gate.
🚀 New components 🚀
windowsservicereceiver
: Adding a wireframe for a new receiver: windowsservicereceiver (#31377)azureblobexporter
: Add new exporter for sending telemetry to Azure Storage Blob (#35717)kafkatopicsobserver
: Adding implementation and tests of the component's logic. (#37665)
💡 Enhancements 💡
-
coralogixexporter
: Add support for profiles to the Coralogix exporter. (#38011)
This change adds support for profiles to the Coralogix exporter.
It allows users to export profiles to Coralogix. -
coralogixexporter
: Add new batching capabilities to the Coralogix exporter. (#38081)
This change adds a new batching capabilities to the Coralogix exporter.
This change is triggered by open-telemetry/opentelemetry-collector#8122.The new batching capabilities are disabled by default.
To enable them, you need to set the following configuration:exporters: coralogix: batcher: enabled: true # Enable batching flush_timeout: 3s # Flush timeout min_size_items: 8888 # Minimum number of items to flush max_size_items: 10000 # Maximum number of items to batch
-
awsfirehosereceiver
: Addcloud.provider
,aws.log.group.names
andaws.log.stream.names
resource attributes to logs and set scope name and version of logs and metrics ingested by awsfirehosereceiver. (#37968) -
googlecloudpubsubexporter
: Add support for exporting ordered messages to GCP Pub/Sub (#32850) -
prometheusremotewriteexproter
: Adds additional metrics to the Prometheus Remote Write Exporter. The new metrics are: -
otelcol_exporter_prometheusremotewrite_sent_batches
: The total number of batches sent to the remote write endpoint. -
otelcol_exporter_prometheusremotewrite_consumers
: The total number of consumers that are currently sending data to the remote write endpoint.
(#37912) -
aesprovider
: Promote to alpha stability (#38252) -
azuretranslator
: Map application-defined properties for trace signals (#35402) -
clickhouseexporter
: Add client info to queries (#34915, #37146)
This change adds client product info to the system.query_log for more insight on where queries originate -
telemetrygen
: Support--service
for all signal types, rather than just traces (#38044) -
coralogixexporter
: Partial success response from Coralogix (#38022)
Adds the ability to log partial success responses from Coralogix when using the Coralogix exporter. -
processor/resourcedetection
: Introduce retry logic for failed resource detection. (#34761) -
dorisexporter
: add new config: log_response, label_prefix, headers, log_progress_interval (#38162) -
dorisexporter
: optimize schema: add 'service_instance_id', add materialized views, add trace_graph table and trace_graph job. (#38229) -
pkg/ottl
: Support dynamic indexing of math expressions in maps and slices (#37644) -
elasticsearchexporter
: Add_metric_names_hash
field to metric documents inotel
mode to avoid metric rejections (#37511) -
envoyalsreceiver
: Markenvoyalsreceiver
as an alpha receiver. (#36464) -
envoyalsreceiver
: Add node and log identifier resource attributes (#37800) -
receiver/sqlquery
: Add support for SapASE (sybase) database connections (#36328) -
awsfirehosereceiver
: Add support for encoding extensions (#37113)
Addsencoding
config setting, and deprecates therecord_type
setting. -
googlecloudexporter
: Updatedopentelemetry-operations-go
to v0.51.0 (#38116)
The new release ofopentelemetry-operations-go
will construct a more accurate default User Agent for its requests
by using acomponent.BuildInfo
. This should have no user-facing effect. -
iisreceiver
: Added state and uptime metrics for application pools (#34924) -
pkg/stanza
: Add entry's timestamp and attributes to errors logs from log transformers processors (#37285)
When a log transformer processor fails to process an log entry it will include entry's timestamp and attributes in its own logs.
With this information the user can more easily identify the log file and find the entry that's having issues. -
kafkareceiver
: Add error backoff configuration to kafka receiver which allows to wait and retry a failed message when the next consumer returns some errors. (#37009) -
receiver/kafkametricsreceiver
: Addrefresh_frequency
config tokafkametricsreceiver
, to configure custom duration for cluster metadata refresh (#37896)- Helps fine tuning the refresh_frequency, and enables custom cluster metadata refresh intervals
- Default refresh_frequency is set 10 minutes from Sarama library defaults
-
processor/resourcedetection
: Add k8s.cluster.uid to kubeadm detector (#38207) -
elasticsearchexporter
: Support specifying mapping mode via client metadata (#36092)
Add configmapping::allowed_modes
to restrict mapping modes configurable from client metadata. -
metricstarttimeprocessor
: add true_reset_point strategy for setting the start timestamp of cumulative points. (#37186)
The implementation is copied from the Prometheus receiver. -
mongodbreceiver
: Added mongodb replica metrics and routing logic for multiple mongodb instances (#37517) -
netflowreceiver
: Promote the NetFlow Receiver to alpha stability (#38255) -
telemetrygen
: Add support foraggregation-temporality
flag in telemetrygen. Supported values (delta or cumulative) (#38073) -
cmd/opampsupervisor
: Allow configuring Collector process execution via environment variables, custom config files and additional arguments (#24324) -
pkg/ottl
: Addevent_index
to the available paths of the span event context (#35778) -
pkg/ottl
: Introduce Weekday() converter function (#38126) -
prometheusreceiver
: Make use of creation timestamp from prometheus (#36473) -
receiver/prometheusremotewrite
: Add value and timestamp handling in the Prometheus Remote Write receiver by using SetDoubleValue and SetTimestamp (#37277) -
cloudflarereceiver
: Ingest all attributes by default when attributes map is empty (#37720) -
processor/redaction
: Introduce 'blocked_key_patterns' parameter (#35830) -
opampextension
: Support retrieval of available components via the OpAMP extension. (#37246) -
opampsupervisor
: Support retrieval of available components via the OpAMP supervisor. (#37247) -
processor/resourcedetection
: Add a feature flag to allow the processor (and collector) to fail if resource detection fails (#37961)
This feature can be enabled via the following feature gate
--feature-gates=processor.resourcedetection.propagateerrors
-
awss3exporter
: Addedacl
option (#37935) -
confmap/provider/s3
: Promote to alpha stability (#38227) -
secretsmanagerprovider
: Promote to alpha stability (#38251) -
receiver/sqlserverreceiver
: Addserver.address
andserver.port
resource attributes to SQL server receiver. (#35183)
The new resource attributes are added to the SQL server receiver to distinguish metrics coming from different SQL server instances.server.address
: The address of the SQL server host, disabled by default.- `server....
v0.120.1
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🧰 Bug fixes 🧰
receiver/prometheus
: Fix Collector failing to start up if Prometheus receiver is present in config without 'fallback_scrape_protocol'. (#38018)
v0.120.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🛑 Breaking changes 🛑
receiver/prometheus
: Prometheus receiver now uses scrapers in Prometheus 3.0. (#36873)
There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/.all
: Added support for go1.24, bumped minimum version to 1.23 (#37875)elasticsearchexporter
: Use go-elasticsearch/v8, require minimum version of ES 7.17.x or 8.x (#32454)elasticsearchexporter
: Remove dedot config. ECS mode now always dedots, no others dedot at all. (#33772)activedirectorydsreceiver
: Fixed typo in the attributedistingushed_names
, renaming it todistinguished_names
. (#37606)githubreceiver
: Therequired_header
configuration option for the trace receiver has been changed torequired_headers
. (#37578)receiver/hostmetrics
: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate (#34763)tailsamplingprocessor
: Fix the decision timer metric to capture longer latencies beyond 50ms. (#37722)
This changes the unit of the decision timer metric from microseconds to milliseconds.routingconnector
: Removematch_once
configuration parameter. (#36824)
🚩 Deprecations 🚩
opencensusexporter
: Deprecate the OpenCensus exporter (#36791)
Migrate to use the OTLP exporter moving forward.opencensusreceiver
: Deprecate the OpenCensus receiver (#36791)
Migrate to use the OTLP receiver moving forward.
🚀 New components 🚀
bmchelixexporter
: Mark the BMC Helix exporter as Alpha. (#36773)bmchelixexporter
: metrics implementation (#36773)kafkatopicsobserver
: Adding new kafka topics observer extension (#37665)googlecloudlogentryencodingextension
: Introduce the scaffolding of a new component, googlecloudlogentryencodingextension (#37531)
💡 Enhancements 💡
-
elasticsearchexporter
: Syncs support for compression level on elasticsearch exporter with confighttp. The default compression level is 1 if not set. (#37260) -
processor/transformprocessor
: Add support for global conditions and error mode overrides. (#29017)
Global conditions are now available for context-inferred structured configurations, allowing the use of fully
qualified paths. Additionally, a new configuration key callederror_mode
has been added to the context statements group.
This key determines how the processor reacts to errors that occur while processing that specific group of statements.
When provided, it overrides the top-level error mode, offering more granular control over error handling. -
pkg/stanza
: Allow users to configure initial buffer size (#37786) -
vcenterreceiver
: Adds three more vCenter virtual machine performance metrics (#37488) -
k8sclusterreceiver
: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. (#37580)- Adds the following attributes to k8s.namespace entity:
- k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
- k8s.namespace.creation_timestamp: The time when the namespace object was created.
- Adds the following attributes to container entity:
- container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
- Adds the following attributes to k8s.namespace entity:
-
splunkenterprisereceiver
: Added a newsplunk.health
metric. (#36695) -
pkg/ottl
: Introduce ToLowerCase converter function (#32942) -
pkg/ottl
: Introduce ToSnakeCase converter function (#32942) -
pkg/ottl
: Introduce ToUpperCase converter function (#32942) -
datadogreceiver
: Implement support for span links (#37449) -
resourcedetectionprocessor
: add the Dynatrace detector to the resource detection processor (#37577) -
elasticsearchexporter
: Add profiles support to elasticsearch exporter (#37567) -
googlecloudmonitoringreceiver
: support use monitoring filters to filter metrics (#36898) -
awsfirehosereceiver
: Refactor unmarshallers to implement pdata unmarshaler interfaces (#37361) -
githubreceiver
: add support for GitHub Actions workflow run events using deterministic Trace and Root Span IDs. (#37578) -
pkg/translator/jaeger/internal/jaeger
: Remove jaeger model/converter/thrift/jaeger dependency (#37820) -
pkg/translator/zipkin/internal/zipkin
: Remove jaeger model/converter/thrift/zipkin dependency (#37795) -
extension/oauth2clientauth
: Addexpiry_buffer
config tooauth2client
extension, allowing token refresh before expiration with a default buffer of 5 minutes. (#35148)- Prevents authentication failures by refreshing the token early.
- The default expiry buffer is set to 5 minutes, and users can adjust it as needed.
-
datadogexporter
: Add a gauge metric datadog.otel.gateway which is 1 if the collector is used as a gateway or 0 otherwise. (#37499) -
pkg/ottl
: Introduce ToCamelCase converter function (#32942) -
googlecloudpubsubreceiver
: Turn noisywarn
log about Pub/Sub servers intodebug
, and turn the reset count into a metric (#37571)
The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers
recurrently close the connection after a time period to avoid a long-running sticky connection. Before the
receiver loggedwarn
log lines everytime this happened. These log lines are moved to debug so that fleets with
lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a
connection reset happens aotelcol_receiver_googlecloudpubsub_stream_restarts
metric is increased by one. -
processor/redaction
: Introduce 'allowed_values' parameter for allowed values of attributes (#35840) -
exporter/logzioexporter
: Remove dependency on Jaeger pkg/cache (#37833) -
routingconnector
: Avoid unnecessary copy of the data in routing connector (#37946) -
awscontainerinsightreceiver
: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. (#35862) -
syslogreceiver
: Support settingon_error
config for syslog receiver. (#36906) -
processor/tailsampling
: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision.
This functionality is disabled by default, you can enable it by passing the following feature flag to the collector:+processor.tailsamplingprocessor.recordpolicy
(#35180) -
tailsamplingprocessor
: makes thenumeric_attribute
more flexible and allows to set onlymin_value
ormax_value
, without the need to set both (#37328)
This is useful to have simple configurations like these:{ type: numeric_attribute, numeric_attribute: { key: http.status_code, min_value: 400 } }
-
testbed
: Include the specified resource limits for CPU and memory in the benchmark results (#36720) -
stefexporter
: Add basic STEF exporter implementation (#37759) -
receiver/zipkinreceiver
: Remove zipkinreceiver dependency on Jaeger (#37795)
🧰 Bug fixes 🧰
azureeventhubreceiver
: Fix bug where persisted offset would be ignored after restart (#37157)bearertokenauthextension
: Load token lazily for gRPC AUTH to fix token refresh issue (#36749)opampsupervisor
: The OnConnectionClose was not correctly connected for the supervisor. (#37761)elasticsearchexporter
: Fix data loss caused by incorrect metric grouping in ECS and OTel mode (#37898)
Fix data loss when the same metric exists across different resources or scopes. Data points / metrics were incorrectly grouped together, leading to data loss with warning logs e.g. "metric with name '***' has already been serialized".k8sattributes
: Fix bug whereFilters.Labels
failed with when theexists
ornot-exists
operations were used. (#37913)prometheusreceiver
: Start time metric adjuster now handles reset points correctly (#37717)prometheusremotewriteexproter
: Resolves a deadlock in the WAL by temporarily releasing a lock while waiting for new writes to the WAL.
(#19363, #24399, #15277)awscontainerinsightreceiver
: Fix race condition in shutdown of AWS Container Insight receiver (#37695)
API changelog
🛑 Breaking changes 🛑
s3provider
: Delete deprecatedNew
factory function. UseNewFactory
instead. (#37921)secretsmanagerprovider
: Delete deprecatedNew
function, useNewFactory
instead (#37923)pkg/stanza
: Remove deprecatedflush.WithPeriod
. (#37784)pkg/stanza
: Remove deprecated func BuildWithSplitFunc from stanza/fileconsumer (#37723)
🚩 Deprecations 🚩
pkg/stanza
: Deprecate all functions in stanza/decode (#37734)
💡 Enhancements 💡
pkg/translator/prometheusremotewrite
: add support for metric type sum in FromMetricsV2 (#33661)
The public function is partially implemented and not ready for usepkg/datadog
: Expose the internal Zaplogger implementation (#37939)dbstorageextension
: Add DB Transactions to dbstorage.Batch() method as it is expected by Storage API (#37805)internal/datadog
: create new packagegithub.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/hostmetadata
which exposesGetSourceProvider
fromgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog/hostmetadata
(#37668)textutil
: Remove unnecessary copy while decoding and constructing string (#37734)
This PR affects all log receivers, text extension and kafkareceiver.telemetrygen
: Exported the API ...