Releases: open-telemetry/opentelemetry-collector-contrib
v0.116.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/kineticaexporter/
- exporter/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
🛑 Breaking changes 🛑
-
jsonlogencodingextension
: Change how logs are marshaled. Instead of marshaling just the first log, marshal all logs into a JSON array. (#34064) -
githubreceiver
: Update metric names to match VCS Metric Semantic Conventions and scraper key name. (#36714)- Change the
github
scraper key toscraper
- Add
vcs.repository.url.full
attribute - Change attribute
repository.name
tovcs.repository.name
- Change attribute
ref.name
tovcs.ref.head.name
- Change attribute
ref.type
tovcs.ref.head.type
- Change attribute
change.state
tovcs.change.state
- Add attribute
vcs.revision_delta.direction
withahead
andbehind
values - Change metric
vcs.repository.ref.revisions_ahead
tovcs.ref.revisions_delta
withvcs.revision_delta.direction=ahead
- Change metric
vcs.repository.ref.revisions_behind
tovcs.ref.revisions_delta
withvcs.revision_delta.direction=behind
- Change metric
vcs.repository.ref.count
tovcs.ref.count
- Change metric
vcs.repository.ref.time
tovcs.ref.time
- Add attribute
vcs.line_change.type
withadded
andremoved
values - Change metric
vcs.repository.ref.lines_added
tovcs.ref.lines_delta
withvcs.line_change.type=added
- Change metric
vcs.repository.ref.lines_removed
tovcs.ref.lines_delta
withvcs.line_change.type=removed
- Change metric
vcs.repository.contributor.count
tovcs.contributor.count
- Change metric
vcs.repository.change.time_open
tovcs.change.duration
withvcs.change.state=open
- Change metric
vcs.repository.change.time_to_approval
tovcs.change.time_to_approval
- Change metric
vcs.repository.change.time_to_merge
tovcs.change.time_to_merge
- Change metric
vcs.repository.change.count
tovcs.change.count
- Change the
-
processor/tailsampling
: Reverts #33671, allowing for composite policies to specify inverted clauses in conjunction with other policies. This is a change bringing the previous state into place, breaking users who rely on what was introduced as part of #33671. (#34085)
🚩 Deprecations 🚩
-
connector/routing
: Deprecatematch_once
parameter. (#29882) -
routingprocessor
: Deprecated in favor of the routing connector. (#36616) -
splunkhecexporter
: Addotel_attrs_to_hec_metadata/*
config fields to replacehec_metadata_to_otel_attrs/*
fields. (#35092)
otel_attrs_to_hec_metadata/*
config fields will replace thehec_metadata_to_otel_attrs/*
fields in a later release. -
kineticaexporter
: The kineticaexporter is now Unmaintained as it has no active code owners from the vendor (#36808)
🚀 New components 🚀
dorisexporter
: Mark the Doris exporter as Alpha. (#33479)libhoneyreceiver
: Introduce the scaffolding of a new component, libhoneyreceiver (#36693)
💡 Enhancements 💡
-
purefareceiver
: Implements support for scraping Pure Storage FlashArray with Purity version 6.6.11+ (#36251) -
azureeventhubreceiver
: support providing one or more time formats for timestamp parsing (#36650) -
googlecloudmonitoringreceiver
: Add metric-specific labels to googlecloudmonitoringreceiver component (#35711) -
awss3receiver
: Add support RFC3339 format for starttime and endtime (#36787) -
awsxrayexporter
: Generate url section in xray segment whennet.peer.name
is available (#35375) -
clickhouseexporter
: Exporter now sorts attribute maps' keys during INSERT, yielding better compression and predictable aggregates (#33634) -
datadogconnector
: Flip configstraces::compute_stats_by_span_kind
,traces::peer_tags_aggregation
andtraces::peer_service_aggregation
to true by default (#35969)
This enables Datadog APM stats on peer tags by default and is a backwards-compatible change. Read more on https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/. -
datadogexporter
: Flip configstraces::compute_stats_by_span_kind
,traces::peer_tags_aggregation
andtraces::peer_service_aggregation
to true by default (#35969)
This enables Datadog APM stats on peer tags by default and is a backwards-compatible change. Read more on https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/. -
elasticsearchexporter
: Map *.geo.location.{lat,lon} as geo_point field in OTel mode (#36565)
In OTel mapping mode, merge *.geo.location.{lat,lon} to *.geo.location such that they are stored as geo_point in Elasticsearch. -
fileexporter
: Add support for profiles signal. (#35978) -
pkg/ottl
: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. (#36821) -
githubreceiver
: Adds webhook skeleton to GitHub receiver to receive events from GitHub for tracing. (#27460)
This PR adds a skeleton for the GitHub receiver to receive events from GitHub
for tracing via a webhook. The trace portion of this receiver will run and
respond to GET requests for the health check only. -
kafkaexporter, kafkareceiver
: Add a new mechanism "AWS_MSK_IAM_OAUTHBEARER" for kafka exporter and kafka receiver. This mechanism use the AWS MSK IAM SASL Signer for Go https://github.com/aws/aws-msk-iam-sasl-signer-go. (#19747) -
loadbalancingexporter
: Adds a an optional configuration to the k8s resolver which returns hostnames instead of IPs for headless services pointing at statefulsets (#18412) -
mongodbatlasreceiver
: Adds additional metrics to the MongoDB Atlas receiver (#36525)
Adds a number of new default disabled metrics to the MongoDB Atlas receiver. These metrics are:- mongodbatlas.disk.partition.queue.depth
- mongodbatlas.disk.partition.throughput
- mongodbatlas.process.cache.ratio
-
s3exporter
: Upgrading to adopt aws sdk v2 (#36699) -
opampextension
: Use status subscription for fine granular component health reporting (#35856) -
pkg/pdatatest
: Add support for Profiles signal comparison. (#36232) -
receiver/prometheusremotewrite
: Parse labels from Prometheus Remote Write requests into Resource and Metric Attributes. (#35656)
Warning - The HTTP Server still doesn't pass metrics to the next consumer. The component is unusable for now. -
signaltometrics
: Add config validation and custom OTTL functions (#35930)
Adds config validation for the signal to metrics connector. Also introducesAdjustedCount
OTTL function. -
testbed
: Add batcher performance tests (#36206) -
tesbed
: add options for retry/storage for filelog sender (#36781)
🧰 Bug fixes 🧰
-
azuremonitorexporter
: fix bug to remove default config of endpoint which causes failing to parse endpoint correctly. (#36704) -
receiver/prometheusreceiver
: Metric adjuster no longer assumes that all metrics from a scrape come from the same resource (#36477) -
connector/datadog, exporter/datadog, pkg/datadog
: throw error if datadog API key contains invalid characters (#36509) -
parseutils
: Handle escaped quotes when parsing pairs using SplitString. (#36176) -
exporter/prometheusremotewrite
: Fix exemplar handling when the exemplar is an integer value. (#36657)
Send metrics with exemplars as integer values now are correctly handled. -
googlecloudmonitoringreceiver
: Fix "no validation found" error if workload is running on Google Cloud Platform (#36607) -
k8sattributesprocessor
: Override extracted k8s attributes if original value has been empty (#36373) -
k8sattributesreceiver
: Log any errors encountered during kube client initialisation (#35879)
This addresses an issue where the collector, due to an error encountered during the kubernetes client initialisation,
was reporting an 'unavailable' status via the health check extension without any further information to be found in the logs. -
opampextension
: Fix blocking agent shutdown due to unclosed channel (#36764) -
opampsupervisor
: avoid nil pointer access when reporting the last received remote config (#36850) -
postgresqlreceiver
: Update the postgresqlreceiver to handle new table schema for the bgwriter metrics in pg17+ (#36784) -
jaegerreceiver
: Remove ineffectual warning from jaegerreceiver (#35894) -
datadogexporter
: read response body on pushSketches to allow connection re-use (#36779) -
sumologicextension
: Skip likely zombie processes on Windows. (#36481)
API Changelog
🚩 Deprecations 🚩
routingprocessor
: Deprecated in favor of the routing connector. (#36616)
💡 Enhancements 💡
pkg/ottl
: Add theottl.ParserCollection
utility to help handling parsers for multiple OTTL contexts (#29017)
Theottl.ParserCollection
groups contexts'ottl.Parser
s, choosing the suitable one
to parse a given statement. It supports context inference using the given statements,
and allows prepending the context name to the statements' paths.
v0.115.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/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
🛑 Breaking changes 🛑
-
awsfirehosereceiver
: Follow receiver contract based on type of error (#5909) -
elasticsearchexporter
: Respectflush::bytes
in sync bulk indexer,flush::bytes
measures uncompressed size, change defaultbatcher::max_size_items
to0
(#36163)
Limit the bulk request size to roughlyflush::bytes
for sync bulk indexer. Sync bulk indexer is used whenbatcher::enabled
is either true or false. In order words, sync bulk indexer is not used when batcher config is undefined. Changeflush::bytes
to always measure in uncompressed bytes. Change defaultbatcher::max_size_items
to0
as bulk request size limit is now more effectively enforced byflush::bytes
. -
k8sattributesprocessor
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128)
Disable thek8sattr.fieldExtractConfigRegex.disallow
feature gate to get the old behavior. -
internal
: Remove stable gatecomponent.UseLocalHostAsDefaultHost
(#36589) -
cmd/opampsupervisor
: Update default logger output paths to stderr (#36072)
The default output paths for the opamp supervisor logger have been updated to stderr from [stdout, stderr]. -
opampsupervisor
: Enable strict unmarshalling of the OpAMP Supervisor config file. An error will now be returned if an invalid config key is set. (#35838)
🚩 Deprecations 🚩
postgresqlreceiver
: Minimal supported PostgreSQL version updated from 9.6 to 13.0 (#30923)
Aligning on the supported versions as can be seen in the PostgreSQL releases sectionexporter/prometheusremotewrite
: Changeexporter.prometheusremotewriteexporter.deprecateCreatedMetric
feature gate from Alpha to Beta version. (#35003)
Theexport_created_metric
configuration parameter is now ignored by default.
🚀 New components 🚀
signaltometricsconnector
: New component for generating metrics from raw signals using user defined OTTL expressions. (#35930)extension/cgroupruntime
: Initial implementation for cgroupruntime extension. (#30289)huaweicloudcesreceiver
: Introduce new receiver fetching data from huawei Cloud Eye Service. (#34953)netflowreceiver
: Introduce the netflow receiver (#32732)
💡 Enhancements 💡
-
datadogexporter
: Add a configurablereporter_period
parameter to the Datadog exporter’s host metadata configuration to allow users to specify the frequency at which host metadata is sent to Datadog. (#36450) -
awsemfexporter
: Add support for 1 second metric resolution in CloudWatch Embedded Metrics Format based on metric attributes (#29506) -
awsemfexporter
: Improvement unit conversion during EMF log translation (#35937) -
sumologicexporter
: adding new products for auto discovery (#35622) -
postgresqlreceiver
: Added new postgresql metrics to acheive parity with Telegraf (#36528) -
loadbalancingexporter
: Adding sending_queue, retry_on_failure and timeout settings to loadbalancing exporter configuration (#35378, #16826)
When switching to top-level sending_queue configuration - users should carefully review queue size
In some rare cases setting top-level queue size to n*queueSize might be not enough to prevent data loss -
pkg/stanza
: Introduce active file grouping mechanism. (#23787) -
receivercreator
: Add support for starting receivers/scrapers based on provided annotations' hints for metrics' collection (#34427) -
tailsamplingprocessor
: Adds decision cache for non-sampled trace IDs (#31583) -
cmd/opampsupervisor
: Support environment variable expansion in the OpAMP supervisor config. (#36269) -
pkg/ottl
: Move debug log toStatement.Execute
so that components using it instead ofStatementSequence
also get debug logs. (#36456) -
routingconnector
: Add abiilty to route by 'datapoint' context (#36523) -
signalfxreceiver
: Follow receiver contract based on type of error (#5909)
Use 503 error code for retryable and 400 error code for not-retryable errors instead of responding with a 500 unconditionally.
🧰 Bug fixes 🧰
-
cmd/opampsupervisor
: Do not log err if the last received doesn't exist (#36013) -
receiver/azureeventhub
: When using a storage extension, the component will call Close on the client during component shutdown. This fixes a bug that resulted in a file potentially remaining locked after component shutdown. (#36238) -
azuremonitorexporter
: Fixes an issue where the Azure Monitor exporter was not sending data to App Insights due to the Telemetry Channel not being flushed. (#35037) -
exporter/pulsarexporter
: Change configuration optionmap_connections_per_broker
, rename tomax_connections_per_broker
. (#36579) -
failoverconnector
: Resolves a bug that prevents proper recovery when disabling max retries (#36587) -
googlecloudpubsubexporter
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in the googlecloudpubsubexporter.
The goroutine leak was caused by the exporter not closing the underlying created gRPC client when using an insecure custom endpoint. -
processor/k8sattribute
: fixes parsing of k8s image names to support images with tags and digests. (#36131) -
clickhouseexporter
: Fix incorrect Resource Attributeservice.name
translation to ClickHouse ServiceName field for Logs Records (#36349) -
awsfirehosereceiver
: fix timestamp when ingesting logs from CloudWatch through firehose (#36122) -
pkg/ottl
: Allow indexing []int64, []float64, []bool, and []byte slices (#29441)
It should now be possible to index all slice types -
opencensusreceiver
: Do not report error message when OpenCensus receiver is shutdown cleanly. (#36622) -
loadbalancingexporter
: The k8sresolver in loadbalancingexporter was triggering exporter churn in the way the change event was handled. (#35658) -
vcenterreceiver
: The existing code did not honor TLS settings beyond 'insecure'. All TLS client config should now be honored. (#36482)
API Changelog
🛑 Breaking changes 🛑
pkg/datadog
: Refactor the API that provides metrics translator (#36474)
This is API change only and does not affect end users
v0.114.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/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
v0.114.0
🛑 Breaking changes 🛑
datadogexporter
: Stop prefixinghttp_server_duration
,http_server_request_size
andhttp_server_response_size
withotelcol
(#36265)
These metrics can be from SDKs rather than collector. Stop prefixing them to be consistent with https://opentelemetry.io/docs/collector/internal-telemetry/#lists-of-internal-metricsotelarrowreceiver
: New admission control metrics are consistent across Arrow and OTLP data paths. (#36334)
otelcol_otelarrow_admission_in_flight_bytes
new, replacesotelcol_otel_arrow_receiver_in_flight_bytes
otelcol_otelarrow_admission_waiting_bytes
: new, describes waiting requests
otelcol_otel_arrow_receiver_in_flight_items
: removed
otelcol_otel_arrow_receiver_in_flight_requests
: removed
🚩 Deprecations 🚩
exporter/prometheusremotewrite
: Deprecate configuration optionexport_created metric
(#35003)
Disable the exporter.prometheusremotewriteexporter.deprecateCreatedMetric feature gate to temporarily re-enable the created metric.
💡 Enhancements 💡
datadogreceiver
: Add json handling for theapi/v2/series
endpoint in the datadogreceiver (#36079)googlemanagedprometheus
: AddCumulativeNormalization
config option to allow users to configure to specify whether to report normalized or un-normalized points. Defaults to normalized. (#36357)elasticsearchexporter
: Translatek8s.*.name
resource attributes in ECS mode (#36233)
Translatek8s.job.name
,k8s.cronjob.name
,k8s.statefulset.name
,k8s.replicaset.name
,k8s.daemonset.name
,k8s.container.name
tokubernetes.*.name
. Translatek8s.cluster.name
toorchestrator.cluster.name
.encodingextension
: Add support for profiles signal to encodingextension (#36008)k8sattributesprocessor
: Add support for profiles signal (#35983)cmd/githubgen
: Adds a flag to skip checking GitHub organization membership for CODEOWNERS (#36263)container
: Set non root group permissions for container image (#35179)k8sclusterreceiver
: Add support for limiting observed resources to a specific namespace. (#9401)
This change allows to make use of this receiver withRoles
/RoleBindings
, as opposed to giving the collector cluster-wide read access.opampextension
: Add content type to opamp extension when reporting EffectiveConfig (#36327)
Add EffectiveConfig.ConfigMap.ConfigMap[*].ContentType as "text/yaml" to the opamp extension when reporting EffectiveConfig.otelarrowreceiver
: Admission control improvements (LIFO); admission.waiter_limit is deprecated, replaced with admission.waiting_limit_mib. (#36074)otelarrowreceiver
: Add a new LIFO-based bounded queue. (#36074)connector/otlpjson
: Throw error on invalid otlp payload. (#35738, #35739)prometheusremotewriteexporter
: reduce allocation when serializing protobuf (#35185)resourcedetectionprocessor
: Introduce support for Profiles signal type. (#35980)routingconnector
: Add ability to route by metric context (#36236)routingconnector
: Add ability to route by span context (#36276)processor/spanprocessor
: Add a new configuration option to keep the original span name when extracting attributes from the span name. (#36120)splunkenterprisereceiver
: Add new metrics for Splunk Enterprise dispatch artifacts caches (#36181)
🧰 Bug fixes 🧰
pkg/stanza
: Ensure that time parsing happens before entry is sent to downstream operators (#36213)prometheusexporter
: Fixes a race condition between the exporter start and shutdown functions. (#36139)processor/k8sattributes
: Block when starting until the metadata have been synced, to fix that some data couldn't be associated with metadata when the agent was just started. (#32556)exporter/loadbalancing
: Shutdown exporters during collector shutdown. This fixes a memory leak. (#36024)pkg/ottl
: Respect thedepth
option when flattening slices usingflatten
(#36161)
Thedepth
option is also now required to be at least1
.prometheusexporter
: reject metrics whose types have changed, use pre-existing descriptions when help strings change (#28617)pkg/stanza
: Synchronous handling of entries passed from the log emitter to the receiver adapter (#35453)prometheusreceiver
: Fix prometheus receiver to support static scrape config with Target Allocator (#36062)
API Changelog
v0.114.0
🛑 Breaking changes 🛑
pkg/stanza
: Changed signature ofemit.Callback
function inpkg/stanza/fileconsumer/emit
package by introducingemit.Token
struct that encapsulates the token's body and attributes. (#36260)
💡 Enhancements 💡
pkg/datadog
: Expose an APITranslatorFromConfig
that creates a new metrics translator (#36300)
This is only code refactor and has no user-facing impact
v0.113.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
v0.113.0
🛑 Breaking changes 🛑
-
sapmreceiver
: Remove the deprecated access_token_passthrough from SAPM receiver. (#35972)
Please useinclude_metadata
instead with the following config option applied to the batch processor:
batch:
metadata_keys: [X-Sf-Token] -
pkg/ottl
: Promoteprocessor.transform.ConvertBetweenSumAndGaugeMetricContext
feature gate to Stable (#36216)
This gate can no longer be disabled. Theconvert_sum_to_gauge
andconvert_gauge_to_sum
may now only be used with themetric
context.
🚩 Deprecations 🚩
opensearchexporter
: The OpenSearch exporter is now marked as unmaintained and will be removed in 6 months. (#35781)
Any codeowners can reinstate the component by submitting a PR to revert the change or commenting on #35781.
🚀 New components 🚀
dorisexporter
: metrics implementation (#33479)extensions/observer/cfgardenobserver
: Implemented the observer, the second PR in the 3 PR process for new components (#33618)
💡 Enhancements 💡
-
splunkenterprisereceiver
: Add telemetry around the Splunk Enterprise kv-store. (#35445) -
journaldreceiver
: adds ability to parse journald's MESSAGE field as a string if desired (#36005) -
journaldreceiver
: allows querying a journald namespace (#36031) -
hostmetricsreceiver
: Add the system.uptime metric in the hostmetrics receiver (#31627)
This metric is provided by the newsystem
scraper. -
azuredataexplorerexporter
: Add new configuration optionuse_default_auth
to enable default authentication for Azure Data Explorer. This option allows users to leverage workload identity for authentication. (#33667) -
awss3receiver
: Mark the AWS S3 receiver as Alpha. (#30750) -
opampsupervisor
: Makes the Supervisor's OpAmp server port configurable with 'agent::opamp_server_port'. (#36001) -
datadogreceiver
: Follow receiver contract based on type of error (#5909) -
hostmetrics
: Adjust scraper creation to make it so the scraper name is reported with hostmetrics scraper errors. (#35814) -
pkg/translator/prometheusremotewrite
:FromMetricsV2
now transforms attributes into labels. (#33661) -
ntpreceiver
: Move NTP receiver to alpha (#36152) -
opampsupervisor
: Supervisor waits for configurable healthchecks to report remote config status. (#21079) -
otelarrowreceiver
: Enable unlimited admission control when request_limit_mib is set to 0. (#36074) -
pkg/ottl
: Add SliceToMap function (#35256) -
receiver/prometheusremotewrite
: Implement body unmarshaling for Prometheus Remote Write requests (#35624)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. -
receiver/prometheusremotewrite
: Implement Content-Type negotiation for Prometheus Remote Write requests (#35565)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. -
otlpjsonfilereceiver
: Add support for profiles signal (#35977) -
journaldreceiver
: Restart journalctl if it exits unexpectedly (#35635) -
routingconnector
: Add ability to route by request metadata. (#19738) -
exporter/signalfx
: Enabling retrying for dimension properties update without tags in case of 400 response error. (#36044)
Property and tag updates are done using the same API call. After this change, the exporter will retry once to sync
properties in case of 400 response error. -
signalfxexporter
: Add more default metrics related to Kubernetes cronjobs, jobs, statefulset, and hpa (#36026) -
simpleprometheusreceiver
: Support to setjob_name
in config (#31502) -
solacereceiver
: Add support to the Solace Receiver to convert the newMove to Dead Message Queue
and newDelete
spans generated by Solace Event Broker to OTLP. (#36071) -
connector/routing
: Add ability to route log records individually using OTTL log record context. (#19738) -
splunkenterprisereceiver
: Add new metrics for Splunk Enterprise dispatch artifacts (#35950)
🧰 Bug fixes 🧰
-
awsfirehosereceiver
: make otlp_v1 a valid record type (#35750, #36125) -
datadogreceiver
: Return a json reponse instead of "OK" when a trace is received with a newer protocol version. (#35705) -
datadogreceiver
: Changes response message for/api/v1/check_run
202 response to be JSON and on par with Datadog API spec (#36027) -
receiver/windowseventlog
: Fix panic when rendering long event messages. (#36179) -
hostmetricsreceiver
: Do not set the default value of HOST_PROC_MOUNTINFO to respect root_path (#35990) -
prometheusexporter
: Fixes an issue where the prometheus exporter would not shut down the server when the collector was stopped. (#35464) -
k8sobserver
: Enable observation of ingress objects if theObserveIngresses
config option is set to true (#35324) -
pkg/stanza
: Fixed bug causing Operators with DropOnErrorQuiet to send log entries to the next operator. (#35010)
This issue was introduced by a bug fix meant to ensure Silent Operators are not logging errors (#35010). With this fix,
this side effect bug has been resolved. -
otelarrowreceiver
: Simplify receiver admission control logic (#36074) -
otelarrowreceiver
: Avoid breaking telemetry when admission control fails in OTLP handlers. (#36074) -
dbstorage
: Add postgresql support (#35692) -
splunkhecreceiver
: Avoid a memory leak by changing how we record obsreports for logs and metrics. (#35294) -
receiver/filelog
: fix record counting with header (#35869) -
connector/routing
: Fix detection of duplicate conditions in routing table. (#35962) -
solacereceiver
: The Solace receiver may unexpectedly terminate on reporting traces when used with a memory limiter processor and under high load (#35958) -
pkg/stanza/operator
: Retain Operator should propagate the severity field (#35832)
The retain operator should propagate the severity field like it does with timestamps. -
pkg/stanza
: Handle error of callback function ofParserOperator.ProcessWithCallback
(#35769)
ProcessWithCallback
ofParserOperator
first calls theParseWith
method
which properly handles errors withHandleEntryError
.
Then the callback function is called and its returned error should also
be handled by theHandleEntryError
ensuring a consistent experience. -
webhookeventreceiver
: Pass the consumer error to EndLogsOp (#35844)
API Changelog
v0.113.0
🛑 Breaking changes 🛑
testbed
:scenarios.createConfigYaml()
andutils.CreateConfigYaml()
functions now take processor configs as a struct slice argument instead ofmap[string]string
. (#33003)- This is to preserve processor order.
ProcessorNameAndConfigBody
is the newly created struct.
- This is to preserve processor order.
💡 Enhancements 💡
receiver/prometheusremotewrite
: Implement body unmarshaling for Prometheus Remote Write requests (#35624)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.
v0.112.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 🛑
elasticsearchexporter
: Enable gzip compression by default (#35865)
To disable compression, set configcompression
tonone
.elasticsearchexporter
: Set body.* for log body in OTel mode (#35771)
Log record body in OTel mapping mode will be stored in body.text, body.structured, body.flattened based on body value type and presence of event.name attributeprocessor/metricsgeneration
: Remove "experimental_" prefix from metrics generator processor name. (#35426)
🚩 Deprecations 🚩
sapmreceiver
: Deprecate SAPM receiver (#32125)elasticsearchexporter
: Deprecate retry::max_requests in favor of retry::max_retries (#32344)
retry::max_retries will be exactly retry::max_requests - 1
🚀 New components 🚀
confmap/aesprovider
: Initial aes encryption provider. Allows configurations to decrypt secrets using AES encryption. (#35550)systemdreceiver
: Introduce the scaffolding of a new component, systemdreceiver (#33532)ntpreceiver
: Introduce new receiver reporting the offset between the local machine and a NTP server. (#34375)tlscheckreceiver
: Add TLS Check Receiver component to monitor x.509 certificate expiry (#35423)
💡 Enhancements 💡
-
awsfirehosereceiver
: Add support for CloudWatch logs (#35077) -
awsfirehosereceiver
: added OTLP v1 support to Firehose receiver (#34982) -
awss3receiver
: Add support for monitoring the progress of ingesting data from an S3 bucket via OpAMP custom messages. (#30750) -
azureeventshubreceiver
: Updates the Azure Event Hub receiver to use the new Resource Logs translator. (#35357) -
cloudflarereceiver
: Respond 503 on non-permanent and 400 on permanent errors (#35642) -
elasticsearchexporter
: Add hint in error logs for TSDB version_conflict_engine_exception error (#35546) -
pkg/ottl
: Add ConvertAttributesToElementsXML Converter (#35328) -
logdedupprocessor
: Add acondition
field to the Log DeDuplication Processor. (#35440) -
opampextension
: Support using auth extensions for authenticating with opamp servers (#35507) -
azureblobreceiver
: adds support for using azidentity default auth, enabling the use of Azure Managed Identities, e.g. Workload Identities on AKS (#35636)
This change allows to use authentication type "default", which makes the receiver use azidentity default Credentials,
which automatically picks up, identities assigned to e.g. a container or a VirtualMachine -
elasticsearchexporter
: Introduce an experimental bodymap mapping mode for logs (#35444) -
googlecloudexporter
: Google Cloud exporter is marked as mutating. (#35366) -
googlemanagedprometheusexporter
: GMP exporter is marked as mutating. (#35366) -
k8sobserver
: Emit endpoint per Pod's container (#35491) -
mongodbreceiver
: Add support for MongoDB direct connection (#35427) -
exporter/clickhouse
: Add the ability to override default table names for all metric types. (#34225)
'metrics_table_name' of the clickhouse exporter config is deprecated and newly introduced parameter 'metrics_tables' should be used instead. -
metricsgenerationprocessor
: Introduce functionality to only do metric calculations on data points whose attributes match (#35425)
This functionality can be enabled by themetricsgeneration.MatchAttributes
feature gate, which is disabled by default. -
chronyreceiver
: Move chronyreceiver to beta (#35913) -
opampextension
: ImplementReportsHealth
capability in OpAMP extension (#35433) -
opampextension
: Report OS description semantic convention (os.description
) as a part of non-identifying agent description. (#35555) -
otelarrowexporter
: Adjust defaults from https://opentelemetry.io/blog/2024/otel-arrow-production/ experiments. (#35477) -
pkg/ottl
: Parsing invalid statements and conditions now prints all errors instead of just the first one found. (#35728) -
pkg/ottl
: Add ParseSimplifiedXML Converter (#35421) -
receiver/prometheusremotewrite
: Add HTTP Server to handler Prometheus Remote Write requests (#35535)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. -
rabbitmqexporter
: Allow to configure the name of the AMQP connection in the rabbitmqexporter (#34681) -
routingconnector
: Allow routing based on OTTL Conditions (#35731)
Each route must contain either a statement or a condition. -
sapmreceiver
: Respond 503 on non-permanent and 400 on permanent errors (#35300) -
opampsupervisor
: Allow collector logs to passthrough to supervisor output to facilitate running in a containerized environment. (#35473) -
hostmetricsreceiver
: Use HOST_PROC_MOUNTINFO as part of configuration instead of environment variable (#35504) -
pkg/ottl
: Add ConvertTextToElements Converter (#35364)
🧰 Bug fixes 🧰
-
metricstransform
: The previously removed functionality of aggregating against an empty label set is restored. (#34430) -
datadogreceiver
: UseCheck
name from Service Check structure as metric name rather than hardcoded stringservice_check
(#35718) -
azuredataexplorerexporter
: Fix compression type for Azure Data Explorer exporter by adding the compression type in ingestion properties. (#35353) -
telemetrygen
: ensure validate is called (#35745) -
deltatocumulative
: fix meter panic on startup (#35685)
properly constructs the TelemetryBuilder, so it does not panic on startup, rendering the entire component unusable -
elasticsearchexporter
: Log and drop invalid metrics instead of returning error to avoid upstream retries (#35740) -
elasticsearchexporter
: Preserve attribute names and metric names on prefix conflict in OTel mapping mode (#35651)
e.g. if there are attributes "a" and "a.b", they should be sent to Elasticsearch as is, instead of "a.value" and "a.b", in OTel mapping mode -
elasticsearchexporter
: Make OTel mapping mode send to data streams only (#35839)
This prevents auto creating regular indices in OTel mapping mode due to a race condition in Elasticsearch where otel-data index templates are not ready. -
elasticsearchexporter
: Sanitize datastream routing fields (#34285)
Sanitize the dataset and namespace fields according to https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html. -
oidcauthextension
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in oidcauthextension. The goroutine leak was caused by the oidcauthextension not closing the idle connections in the client and transport. -
filelogreceiver
: Supportsadd_metadata_from_filepath
for Windows filepaths (#35558) -
filelogreceiver
: Suppress errors on EBADF when unlocking files. (#35706)
This error is harmless and happens regularly when delete_after_read is set. This is because we acquire the lock right at the start of the ReadToEnd function and then defer the unlock, but that function also performs the delete. So, by the time it returns and the defer runs the file descriptor is no longer valid. -
kafkareceiver
: Fixes issue causing kafkareceiver to block during Shutdown(). (#30789) -
hostmetrics receiver
: Fix duplicate filesystem metrics (#34635, #34512)
The hostmetrics exposes duplicate metrics of identical mounts exposed in namespaces. The duplication causes errors in exporters that are sensitive to duplicate metrics. We can safely drop the duplicates as the metrics should be exactly the same. -
pkg/translator/prometheusremotewrite
: Fix metric comparison func in prom translation layer (#35741) -
pkg/ottl
: Allow indexing string slice type (#29441) -
mysqlreceiver
: Add replica metric support for versions of MySQL earlier than 8.0.22. (#35217) -
stanza/input/windows
: Close remote session while resubscribing (#35577) -
telemetrygen
: Enable the--otlp-insecure-skip-verify
flag (#35735) -
receiver/windowseventlog
: Errors returned when passing data downstream will now be propagated correctly. (#35461) -
datadogreceiver
: Changes response message for/api/v1/series
and/api/v2/series
202 response to be JSON and on par with Datadog API spec (#35743)
API Changelog
🛑 Breaking changes 🛑
pkg/translator/jaeger
: Remove error from method signature as it always returns nil (#35560)
🚀 New components 🚀
pkg/status
: Refactors the extension/healthcheckv2extension/internal/status into pkg/status (#34692)
💡 Enhancements 💡
pkg/translator/prometheusremotewrite
: add FromMetricsV2 (#33661)
The public function is partially implemented and not ready for usereceiver/prometheusremotewrite
: Add HTTP Server to handler Prometheus Remote Write requests (#35535)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.
v0.111.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
🆕 The binary release adds a new OTLP-only distro. Feel free to leave us feedback on this new distro on the opentelemetry-collector-releases issue tracker.
logging
exporter. See open-telemetry/opentelemetry-collector#11337 for instructions on how to migrate to the debug
exporter.
End User Changelog
🛑 Breaking changes 🛑
instanaexporter
: Remove deprecated instanaexporter (#35367)
Use theotlp
exporter instead as explained in IBM's documentation.elasticsearchexporter
: Drop cumulative temporality histogram and exponential histogram (#35442)
Cumulative temporality histogram and exponential histogram are not supported by Elasticsearch. Use cumulativetodeltaprocessor to convert cumulative temporality to delta temporality.elasticsearchexporter
: Implement receiver-based routing under *_dynamic_index config (#34246)config
: Move component.UseLocalHostAsDefaultHost feature gate to stable. (#35569)metricsgenerationprocessor
: Generate metrics even when the second metric's value is 0 (#35533)signalfxexporter
: Do not exclude the metriccontainer.memory.working_set
(#35475)sqlqueryreceiver
: Fail if value for log column in result set is missing, collect errors (#35068)windowseventlogreceiver
: The 'raw' flag no longer suppresses rendering info. (#34720)
Previously, this flag controlled two behaviors simultaneously:- Whether or not the body of the log record was an XML string or structured object.
- Whether or not rendering info was resolved.
A separate 'suppress_rendering_info' option now controls rendering info resolution.
This is considered a breaking change because users setting only the 'raw' flag without also setting the
new 'suppress_rendering_info' flag may see a performance decrease along with more detailed events.
🚩 Deprecations 🚩
sapmreceiver
:access_token_passthrough
is deprecated (#35330)- "
access_token_passthrough
is deprecated." - "Please enable include_metadata in the receiver and add the following config to the batch processor:"
batch: metadata_keys: [X-Sf-Token]
- "
🚀 New components 🚀
receiver/prometheusremotewrite
: Add a new receiver for Prometheus Remote Write.
(#33782)
💡 Enhancements 💡
-
sumconnector
: adds connector and summing logic along with tests (#32669) -
receivercreator
: Validate endpoint's configuration before starting receivers (#33145) -
otelarrowreceiver
: Add admission control in the otelarrow receiver's standard otlp data path.
Also moves admission control config options to a separate block.
arrow.admission_limit_mib -> admission.request_limit_mib
arrow.waiter_limit -> admission.waiter_limit
(#35021) -
clickhouseexporter
: Upgrading stability for traces to beta (#35186)
The trace exporter has proven to be stable for production deployments.
Trace configuration is unlikely to receive any significant changes. -
clickhouseexporter
: Updated the default trace table (#34245)
Reduced data types, improved partitioning and time range queries -
opampsupervisor
: Add configurable logging for the supervisor. (#35466) -
datadogreceiver
: Move receiver's metrics stability to alpha. (#18278) -
datadogreceiver
: Add container id from v0.5 request header (#35345) -
elasticsearchexporter
: Implement elasticsearch.mapping.hints attribute handling for data points in OTel mapping mode (#35479)
elasticsearch.mapping.hints takes a slice of strings._doc_count
enables emitting_doc_count
for the document.aggregate_metric_double
causes histogram or exponential histogram to be emitted as aggregate_metric_double. -
elasticsearchexporter
: Revert TSDB array dimension workaround for metrics OTel mode (#35291)
Remove the workaround to stringify array dimensions as the limitation has been lifted in Elasticsearch v8.16.0. -
receiver/statsd
: Add support for aggregating on Host/IP.
(#23809) -
opampsupervisor
: Skip executing the collector if no config is provided (#33680) -
googlecloudmonitoringreceiver
: Move receiver's stability to alpha. (#33762) -
hostmetricsreceiver
: Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435) -
kubeletstats
: Introduce feature gate for deprecation of container.cpu.utilization, k8s.pod.cpu.utilization and k8s.node.cpu.utilization metrics (#35139) -
opampsupervisor
: Make supervisor runnable as a Windows Service. (#34774) -
opampsupervisor
: Add config option for setting the timeout for the initial bootstrap information retrieval from the agent (#34996) -
pkg/ottl
: Add InsertXML Converter (#35436) -
pkg/ottl
: Add GetXML Converter (#35462) -
pkg/ottl
: Add ToKeyValueString Converter (#35334) -
pkg/ottl
: Add RemoveXML Converter (#35301) -
geoipprocessor
: No longer return an error when geo metadata is not found by a provider. (#35047) -
sqlserverreceiver
: Add computer name resource attribute to relevant metrics (#35040) -
windowseventlogreceiver
: Add 'suppress_rendering_info' option. (#34720)
When this flag is enabled, the receiver will not attempt to resolve rendering info. This can improve performance
but comes at a cost of losing some details in the event log. -
windowseventlogreceiver
: Move artificial "remote_server" field to 'attributes["server.address"]'. (#34720)
🧰 Bug fixes 🧰
webhookeventreceiver
: Fixed a bug where request bodies containing newline characters caused the results to split into multiple log entries (#35028)opampsupervisor
: Only use TLS config when connecting to OpAMP server if usingwss
orhttps
protocols. (#35283)metricsgenerationprocessor
: Allow metric calculations to be done on sum metrics (#35428)sqlqueryreceiver
: Fix reprocessing of logs when tracking_column type is timestamp (#35194)windowseventlogreceiver
: While collecting from a remote windows host, the stanza operator will no longer log "subscription handle is already open" constantly during successful collection. (#35520)windowseventlogreceiver
: If collecting from a remote host, the receiver will stop collecting if the host restarts. This change resubscribes when the host restarts. (#35175)
API Changelog
💡 Enhancements 💡
opampsupervisor
: Pass config structure instead of file path when using NewSupervisor function (#34379)
v0.110.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/stanza
: Movefilelog.container.removeOriginalTimeField
feature gate to beta (#33389)- Disable the
filelog.container.removeOriginalTimeField
feature gate to get the old behavior.
- Disable the
-
resourcedetectionprocessor
: Moveprocessor.resourcedetection.hostCPUSteppingAsString
feature gate to stable. (#31136) -
resourcedetectionprocessor
: Removeprocessor.resourcedetection.hostCPUModelAndFamilyAsString
feature gate. (#29025)
🚩 Deprecations 🚩
hostmetricsreceiver
: Set the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to stable. (#34763)
🚀 New components 🚀
azurelogs_translater
: Adds a new translater that converts Azure EventHub logs to OpenTelemetry logs used by the Azure Events Hub receiver. (#39704)dorisexporter
: logs implementation (#33479)dorisexporter
: traces implementation (#33479)
💡 Enhancements 💡
-
otelarrowexporter
: Allow separate arrow exporter per unique value of configured metadataKeys. (#34178) -
processor/transform
: Add custom function to the transform processor to convert exponential histograms to explicit histograms. (#33827) -
datadogconnector
: Map the new OTel semantic conventiondeployment.environment.name
toenv
for OTLP traces in APM stats. (#35147)
The old conventiondeployment.environment
still works -
datadogexporter
: Map the new OTel semantic conventiondeployment.environment.name
toenv
for OTLP traces, metrics and logs. (#35147)
The old conventiondeployment.environment
still works -
file_storage
: provide a new option to the user to create a directory on start (#34939) -
headersetterextension
: adding default_value config (#34412)
default_value config item applied in case context value is empty -
kafkaexporter
: Add support for encoding extensions in the Kafka exporter. (#34384)
This change adds support for encoding extensions in the Kafka exporter. Loading extensions takes precedence over the internally supported encodings. -
datadogexporter
: Adds exporter.datadogexporter.metricremappingdisabled featuregate which disables renaming OpenTelemetry metrics to match Datadog semantics. This feature gate is only for internal use. (#35025) -
otelarrowexporter
: Add BatcherConfig field following similar in OTLP exporter. (#34802) -
otelarrowreceiver
: Add gRPC timeout propagation. (#34742) -
kafkareceiver
: Add support forotlp_json
encoding to Kafka receiver. The payload is deserialized into OpenTelemetry traces using JSON format. (#33627)
This encoding allows the Kafka receiver to handle trace data in JSON format,
enabling integration with systems that export traces as JSON-encoded data. -
pkg/ottl
: Improved JSON unmarshaling performance by 10-20% by switching dependencies. (#35130) -
pkg/ottl
: Added support for locale in the Time converter (#32978) -
datadogexporter
: Upgrade logs in Datadog Exporter to beta (#35359) -
remotetapprocessor
: Origin header is no longer required for websocket connections (#34925) -
deltatorateprocessor
: Remove unnecessary data copies. (#35165) -
transformprocessor
: Remove unnecessary data copy when transform sum to/from gauge (#35177) -
sapmexporter
: Prioritize token in context when accesstokenpassthrough is enabled (#35123) -
tailsamplingprocessor
: Fix the behavior for numeric tag filters withinverse_match
set totrue
. (#34296)
🧰 Bug fixes 🧰
-
splunkenterprise
: Fix a flaky search related to iops metrics. (#35081) -
azuremonitorexporter
: fix issue for property endpoint is ignored when using instrumentation_key (#33971) -
groupbytraceprocessor
: Ensure processor_groupbytrace_incomplete_releases metric has a unit. (#35221) -
datadogreceiver
: Fix numeric span attributes (#35087) -
deltatocumulative
: do not drop gauges and summaries (#35284)
Gauges and Summaries are no longer dropped from processor output.
Instead, they are passed through as-is -
pkg/stanza
: Do not get formatted message for Windows events without an event provider. (#35135)
Attempting to get the formatted message for Windows events without an event provider can result in an error being logged. |
This change ensures that the formatted message is not retrieved for such events. -
cmd/opampsupervisor
: Ensure the Supervisor processes all fields in a ServerToAgent message. (#34349) -
signalfxexporter
: Ensure token is not sent through for event data (#35154) -
prometheusreceiver
: Fix the retrieval of scrape configurations by also considering scrape config files (#34786) -
redactionprocessor
: Fix panic when using the redaction processor in a logs pipeline (#35331) -
exporter/splunkhec
: Fix incorrect claim that the exporter doesn't mutate data when batching is enabled. (#35306)
The bug lead to runtime panics when the exporter was used with the batcher enabled in a fanout scenario.
API Changelog
🛑 Breaking changes 🛑
all
: TimeoutSettings/QueueSettings fields in various Config structs are no longer embedded (#35158)
Structs in which .TimeoutSettings is no longer embedded:- carbonexporter.Config
- googlecloudpubsubreceiver.Config
Structs in which .TimeoutSettings and .QueueSettings are no longer embedded: - alertmanagerexporter.Config
- googlecloudexporter.Config
- googlemanagedprometheusexporter.Config
- otelarrowexporter.Config
🚩 Deprecations 🚩
datadogexporter
: The datadog exporter config has been deprecated in favor of the newdatadog/config
package. The new package is shared between the Datadog exporter and the Datadog Connector.
(#35067)
The newdatadog/config
package is a shared module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector.
💡 Enhancements 💡
-
pkg/datadog
: Create a new module for Datadog exporter configuration.
(#35067)
This change introduces a new module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector. -
kafkaexporter
: Add option to supply destination topic through context. (#34503, #34432)
v0.109.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 🛑
-
clickhouseexporter
: Upgrade trace SpanKind and StatusCode string values (#34799)
This change updates the output of the trace SpanKind and StatusCode fields to be consistent
with the specification's enum values. While this change will not break any deployments, it may affect
queries dependent on the old enum names.For more details on old->new values, see this related PR:
open-telemetry/opentelemetry-collector#6250 -
spanmetricsconnector
: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227, #32818)
Default namespace for the generated metrics is traces.span.metrics now. | The deprecated metrics are: calls, duration and events. | The feature flag connector.spanmetrics.legacyMetricNames was added to revert the behavior. -
servicegraphconnector
: Fix histogram metrics miss unit (#34511)
All metrics will remove the suffix_seconds
. It will not introduce breaking change if users use |prometheusexporter
orprometheusremotewriteexporter
to exporter metrics in pipeline. | In some cases, like usingclickhouseexporter
(save data in native OTLP format), it will be a breaking change. | Users can usetransformprocessor
to add back this suffix. -
gitproviderreceiver
: The Git Provider Receiver has been renamed to GitHub Receiver. (#34731)
This rename was to better match the OpenTelemetry semantic convention changes in v1.27.0
and allows for Traces and Log signals to be added to this component. Traces
as mentioned in issue #27460 will be added in a future release to this component. -
ottl
: Remove tracing from OTTL due to performance concerns (#34910) -
vcenterreceiver
: Updated units on several metrics to be more in line with documented semantics. (#34946)
The following are the metrics with their respective unit changes:- vcenter.datacenter.cpu.limit ({MHz} -> MHz)
- vcenter.cluster.cpu.limit ({MHz} -> MHz)
- vcenter.cluster.cpu.effective ({MHz} -> MHz)
- vcenter.cluster.vsan.operations ({operations/sec} -> {operations/s})
- vcenter.cluster.vsan.congestions ({congestions/sec} -> {congestions/s})
- vcenter.host.network.packet.error.rate ({errors/sec} -> {errors/s})
- vcenter.host.network.packet.rate ({packets/sec} -> {packets/s})
- vcenter.host.network.packet.drop.rate ({packets/sec} -> {packets/s})
- vcenter.host.vsan.operations ({operations/sec} -> {operations/s})
- vcenter.host.vsan.congestions ({congestions/sec} -> {congestions/s})
- vcenter.resource_pool.cpu.usage ({MHz} -> MHz)
- vcenter.vm.network.throughput (By/sec -> By/s)
- vcenter.vm.network.packet.rate ({packets/sec} -> {packets/s})
- vcenter.vm.vsan.operations ({operations/sec} -> {operations/s})
🚩 Deprecations 🚩
instanaexporter
: Marking instanaexporter module as deprecated (#34994)
💡 Enhancements 💡
-
pkg/ottl
: Added Decode() converter function (#32493) -
testbed
: Add test case scenarios to handle large files to existing testbed. (#34288) -
filestorage
: Add directory validation for compaction on-rebound (#35114) -
windowseventlogreceiver
: Avoid rendering the whole event to obtain the provider name (#34755) -
datadogreceiver
: add support for sketch metrics in Datadog receiver (#18278) -
datadogconnector
: Optimize Datadog connector when there are many peer tags andconnector.datadogconnector.NativeIngest
is enabled (#34945)
connector.datadogconnector.NativeIngest
is currently enabled by default -
splunkhecexporter
: Drop empty log events (#34871)
Log records with no body are dropped by Splunk on reception
as they contain no log message, albeit they may have attributes.This PR removes those logs from consideration to be exported.
This is in tune with the behavior of splunkhecreceiver, which refuses HEC events with no event (#19769)
-
elasticsearchexporter
: Add exponential histogram support (#34813) -
elasticsearchexporter
: Add span event support to traces OTel mapping mode (#34831)
Span events are now supported in OTel mapping mode. They will be routed tologs-${data_stream.dataset}-${data_stream.namespace}
iftraces_dynamic_index::enabled
istrue
. -
transformprocessor
: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224) -
kafkareceiver
: Adds tunable fetch sizes to Kafka Receiver (#22741, #34431)
Adds the ability to tune the minumum, default and maximum fetch sizes for the Kafka Receiver -
solarwindsapmsettingsextension
: Added logic for refresh function (#27668) -
githubreceiver
: Promote GitHub receiver metrics to alpha status. (#34960) -
googlecloudmonitoringreceiver
: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. (#33762)- Implements client connection to Google Cloud Monitoring API.
- Scrapes timeseries data based on configured metrics.
- Converts the data into OpenTelemetry format for use in the pipeline.
-
processor/interval
: Support for gauge and summary metrics. (#34803)
Only the last value of a gauge or summary metric is reported in the interval processor, instead of all values. -
kafkareceiver
: Add support for encoding extensions in the Kafka receiver. (#33888)
This change adds support for encoding extensions in the Kafka receiver. Loading extensions takes precedence over the internally supported encodings. -
datadogexporter
: Add support for setting a custom log source from resource attributedatadog.log.source
(#35051) -
opampextension
: Adds the ability to configure the polling interval for the HTTP client. (#34749) -
otelarrowexporter
: Add gRPC timeout propagation. (#34733) -
pkg/ottl
: AddSort
function to sort array to ascending order or descending order (#34200) -
exporter/prometheusexpoter
: Support for Prometheus Created Timestamps. (#32521) -
redactionprocessor
: Add support for logs and metrics (#34479) -
exceptionsconnector,servicegraphconnector,spanmetricsconnector
: Extract thegetDimensionValue
function as a common function. (#34627) -
sqlqueryreceiver
: Support populating log attributes from sql query (#24459) -
opampsupervisor
: Add new config parameteragent.health_check_port
to allow configuring the port used by the agent healthcheck extension. (#34643)
🧰 Bug fixes 🧰
-
apachereceiver
: Fix panic on invalid endpoint configuration (#34992) -
deltatocumulative
: drop bad samples (#34979)
removes bad (rejected) samples from output. previously identified and metric-tracked those as such, but didn't actually drop them. -
elasticsearchexporter
: Fix dynamic mapping for double values storing integers (#34680) -
elasticsearchexporter
: Stringify attribute array values in metrics OTel mode (#35004)
Elasticsearch TSDB does not support array dimensions. Workaround it by stringifying attribute array values in OTel mapping mode for metrics. -
fileconsumer
: Fix bug where max_concurrent_files could not be set to 1. (#35080) -
servicegraphconnector
: Fix incorrectly reversed latency settings for the server and client (#34933) -
hostmetricsreceiver
: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043) -
splunkhecreceiver
: Fix memory leak when the receiver is used for both metrics and logs at the same time (#34886) -
geoipprocessor
: Avoid using internal empty attribute.Set pointer (#34882) -
pkg/stanza
: Synchronize shutdown in stanza adapter (#31074)
Stanza-based receivers should now flush all data before shutting down -
sqlserverreceiver
: Fix bug where metrics were being emitted with the wrong database name resource attribute (#35036) -
signalfxexporter
: Fix memory leak by re-organizing the exporter's functionality lifecycle (#32781) -
otlpjsonconnector
: Handle OTLPJSON unmarshal error (#34782) -
mysqlreceiver
: mysql client raise error when the TABLE_ROWS column is NULL, convert NULL to int64 (#34195) -
pkg/stanza
: An operator configured with silent errors shouldn't log errors while processing log entries. (#35008) -
datadogexporter
: Use correct hostname for logs when using Datadog Agent logs pipeline with a gateway deployment. (#35058)
API Changelog
🛑 Breaking changes 🛑
pkg/ottl
: Change the OTTL grammar to support expressing statements context via path names (#29017)
Theottl.Path
interface requires a new method:Context() string
prometheusreceiver
: Move the TargetAllocator configuration struct to an internal directory (#33146)
💡 Enhancements 💡
pkg/ottl
: Add support for localized time parsing into the coreinternal/timeutils (#32977)googlecloudmonitoringreceiver
: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. (#33762)- Implements client connection to Google Cloud Monitoring API.
- Scrapes timeseries data based on configured metrics.
- Converts the data into OpenTelemetry format for use in the pipeline.
v0.108.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 🛑
-
all
: Added support for go1.23, bumped the minimum version to 1.22 (#34658) -
lokiexporter
: Update the scope name for telemetry produced by the lokiexporter fromotelcol/loki
togithub.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter
(#34612) -
azuretranslator
: The scope name has been updated fromotelcol/azureresourcelogs
andotelcol/azureresourcetraces
togithub.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure
(#34712) -
datadogreceiver
: The scope name has been updated fromotelcol/datadogreceiver
togithub.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver/internal/translator
(#34711) -
splunkhecexporter
: The scope name has been updated fromotelcol/splunkhec
togithub.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter
(#34710) -
googlecloudmonitorreceiver
: The scope name has been updated fromotelcol/googlecloudmonitoringreceiver
togithub.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudmonitoringreceiver
(#34709) -
elasticsearchexporter
: Update OTel mapping mode for logs and metrics; Remove trace_flags (#34472)
Update logs and metrics OTel mapping mode to always emit "scope" and zero int, but not emit empty strings for known fields. Breaking change to remove trace_flags from logs. -
elasticsearchexporter
: Change default retry.retry_on_status to [429] (#32584)
To retain the previous behavior, set retry.retry_on_status to[429, 500, 502, 503, 504]
. -
gitproviderreceiver
: Update metric names and attributes to match the newest Semantic Conventions for VCS. (#34278)
Attribute Changes:branch.name
is nowref.name
- Added a
ref.type
attribute pull_request.state
is nowchange.state
git.vendor.name
is nowvcs.vendor.name
Metric Changes:git.repository.count
is nowvcs.repository.count
git.repository.contributor.count
is nowvcs.repository.contributor.count
git.repository.branch.count
is nowvcs.repository.ref.count
git.repository.branch.time
is now `vcs.repository.ref.timegit.repository.branch.commit.aheadby.count
is nowvcs.repository.ref.revisions_ahead
git.repository.branch.commit.behindby.count
is now `vcs.repository.ref.revisions_behindgit.repository.branch.line.addition.count
is nowvcs.repository.ref.lines_added
git.repository.branch.line.deletion.count
is nowvcs.repository.ref.lines_deleted
git.repository.pull_request.time_open
is nowvcs.change.time_open
git.repository.pull_request.time_to_merge
is nowvcs.change.time_to_merge
git.repository.pull_request.time_to_approval
is nowvcs.change.time_to_approval
git.repository.pull_request.count
is nowvcs.change.count
-
transformprocessor
: Promote processor.transform.ConvertBetweenSumAndGaugeMetricContext feature flag from alpha to beta (#34567) -
exporter/datadog
: Thelogs::dump_payloads
config option is invalid when the Datadog Agent logs pipeline is enabled (now enabled by default). (#34420)
An error will be raised iflogs::dump_payloads
is set while the Datadog Agent logs pipeline is enabled. To avoid this error, remove thelogs::dump_payloads
config option or temporarily disable theexporter.datadogexporter.UseLogsAgentExporter
feature gate. -
vcenterreceiver
: Several host performance metrics now return 1 data point per time series instead of 5. (#34708)
The 5 data points previously sent represented consecutive 20s sampling periods. Depending on the collection interval
these could easily overlap. Sending just the latest of these data points is more in line with other performance metrics.This change also fixes an issue with the googlecloud exporter seeing these datapoints as duplicates.
Following is the list of affected metrics which will now only report a single datapoint per set of unique attribute values.
- vcenter.host.cpu.reserved
- vcenter.host.disk.latency.avg
- vcenter.host.disk.latency.max
- vcenter.host.disk.throughput
- vcenter.host.network.packet.drop.rate
- vcenter.host.network.packet.error.rate
- vcenter.host.network.packet.rate
- vcenter.host.network.throughput
- vcenter.host.network.usage
🚀 New components 🚀
exporter/doris
: Add a new component for exporting logs, traces and metrics to Doris (#33479)
💡 Enhancements 💡
geoipprocessor
: Add a context configuration option to specify the IP address attribute telemetry location. (#34036)awss3receiver
: Enhance the logging of the AWS S3 Receiver in normal operation to make it easier for user to debug what is happening. (#30750)datadogreceiver
: Implement '/info' endpoint (#34772)datadogreceiver
: Add sampling.priority attribute for Probabilistic Sampling Processor (#34267)datadogreceiver
: Implement '/stats' endpoint (#34790)datadogconnector
: Add a configtraces::bucket_interval
(#34554)
traces::bucket_interval
specifies the time interval size of aggregation buckets that aggregate the Datadog trace metrics. It is also the time interval that Datadog trace metrics payloads are flushed to the pipeline. Default is 10s if unset.deltatocumulative
: Promote toalpha
stability (#34747)
promotes the deltatocumulative processor to alpha stability, as most features are now implemented and ready for wider testing.deltatocumulative
: explicit-bounds histograms (#30705)
implements aggregation of explicit-bounds (traditional) histograms.elasticsearchexporter
: Add OTel mapping mode for metrics (#34248)elasticsearchexporter
: Add OTel mapping mode for traces (#34588, #34590)
Add OTel mapping mode support for traces, without span events.filelogreceiver
: If acquire_fs_lock is true, attempt to acquire a shared lock before reading a file. (#34801)
Unix only. If a lock cannot be acquired then the file will be ignored until the next poll cycle.solacereceiver
: Updated the format for generated metrics. Included areceiver_name
attribute that identifies the Solace receiver that generated the metrics (#34541)geoipprocessor
: Move processor's stability to alpha. (#34737)prometheusreceiver
: Ensure Target Allocator's confighttp is used in the receiver's service discovery (#33370)datadogreceiver
: Include error when logging unmarshaling failures in Datadog receiver. (#34515)metricstransformprocessor
: Add scaling exponential histogram support (#29803)exporter/datadog
: Use Datadog Agent logs pipeline by default for exporting logs to Datadog. Upgradesexporter.datadogexporter.UseLogsAgentExporter
feature flag to beta. (#34420)pkg/ottl
: IntroduceUserAgent
converter to parse UserAgent strings (#32434)
🧰 Bug fixes 🧰
-
tailsamplingprocessor
: Update thepolicy
value in metrics dimension value to be unique across multiple tail sampling components with the same policy name. (#34192)
This change ensures that thepolicy
value in the metrics exported by the tail sampling processor is unique across multiple tail sampling processors with the same policy name. -
datadogreceiver
: add feature discovery (#34718) -
datadogconnector
: Put back theotelcol_
prefix for Datadog internal metrics on trace and APM stats exporting (#34807)
Recovers these metrics from an upstream breaking change. See open-telemetry/opentelemetry-collector#9759 and open-telemetry/opentelemetry-collector#10940. -
datadogexporter
: Put back theotelcol_
prefix for Datadog internal metrics on trace and APM stats exporting (#34807)
Recovers these metrics from an upstream breaking change. See open-telemetry/opentelemetry-collector#9759 and open-telemetry/opentelemetry-collector#10940. -
awsfirehosereceiver
: Fix validation of requests with empty access key (fixes CVE-2024-45043 / GHSA-prf6-xjxh-p698) (#34847) -
connector/exceptionsconnector
: Fix dimensions configuration did not take effect for resource attributes (#34603) -
prometheusreceiver
: Group scraped metrics into resources created fromjob
andinstance
label pairs (#34237)
The receiver will now create a resource for each distinct job/instance label combination.
In addition to the label/instance pairs detected from the scraped metrics, a resource representing the overall
scrape configuration will be created. This additional resource will contain the scrape metrics, such as the number of scraped metrics, the scrape duration, etc. -
cmd/opampsupervisor
: Fix supervisor support for Windows. (#34570) -
tailsamplingprocessor
: Fix the behavior for numeric tag filters withinverse_match
set totrue
. (#34296) -
pkg/stanza
: fix nil value conversion (#34672) -
k8sclusterreceiver
: Lower the log level of a message indicating a cache miss from WARN to DEBUG. (#34817)
API Changelog
🛑 Breaking changes 🛑
pkg/stanza/operator/input/windows
: Change type name fromEvtRpcLogin
toEvtRPCLogin
. (#34656)
v0.107.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
v0.107.0
This release fixes CVE-2024-42368 on the bearerauthtokenextension
(#34516)
🛑 Breaking changes 🛑
-
clickhouseexporter
: Addcompress
option to ClickHouse exporter, with default value oflz4
(#34365)
This change adds a newcompress
option to the config field and enables it by default.
Prior to this change, compression was not enabled by default.
The only way to enable compression prior to this change was via the DSN URL.
With this change,lz4
compression will be enabled by default.
The list of valid options is provided by the underlyingclickhouse-go
driver.
While this change is marked as breaking, there should be no effect to existing deployments by enabling compression.
Compression should improve network performance on most deployments that have a remote ClickHouse server. -
Update the scope name for telemetry produce by components. The following table summarizes the changes:
Component name | Previous scope | New scope | PR number |
---|---|---|---|
azureeventhubreceiver |
otelcol/azureeventhubreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver |
#34611 |
cloudfoundryreceiver |
otelcol/cloudfoundry |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver |
#34612 |
cloudflarereceiver |
otelcol/cloudflare |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver |
#34613 |
azuremonitorreceiver |
otelcol/azuremonitorreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver |
#34618 |
fileconsumer |
otelcol/fileconsumer |
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer |
#34619 |
loadbalancingexporter |
otelcol/loadbalancing |
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter |
#34429 |
sumologicexporter |
otelcol/sumologic |
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter |
#34438 |
prometheusremotewriteexporter |
otelcol/prometheusremotewrite |
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter |
#34440 |
activedirectorydsreceiver |
otelcol/activedirectorydsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver |
#34492 |
aerospikereceiver |
otelcol/aerospikereceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver |
#34518 |
apachereceiver |
otelcol/apachereceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver |
#34517 |
apachesparkreceiver |
otelcol/apachesparkreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver |
#34519 |
bigipreceiver |
otelcol/bigipreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver |
#34520 |
chronyreceiver |
otelcol/chronyreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver |
#34524 |
couchdbreceiver |
otelcol/couchdbreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver |
#34525 |
countconnector |
otelcol/countconnector |
github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector |
#34583 |
deltatocumulativeprocessor |
otelcol/deltatocumulative |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor |
#34550 |
dockerstatsreceiver |
otelcol/dockerstatsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver |
#34528 |
elasticsearchreceiver |
otelcol/elasticsearchreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver |
#34529 |
expvarreceiver |
otelcol/expvarreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver |
#34530 |
filestatsreceiver |
otelcol/filestatsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver |
#34429 |
filterprocessor |
otelcol/filter |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor |
#34550 |
flinkmetricsreceiver |
otelcol/flinkmetricsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver |
#34533 |
fluentforwardreceiver |
otelcol/fluentforwardreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver |
#34534 |
gitproviderreceiver |
otelcol/gitproviderreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/gitproviderreceiver |
#34496 |
googlespannerreceiver |
otelcol/googlecloudspannermetrics |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlespannerreceiver |
#34593 |
grafanacloudconnector |
otelcol/grafanacloud |
github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector |
#34552 |
groupbyattrsprocessor |
otelcol/groupbyattrs |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor |
#34550 |
groupbytraceprocessor |
otelcol/groupbytrace |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor |
#34550 |
haproxyreceiver |
otelcol/haproxyreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver |
#34498 |
hostmetricsreceiver receiver's scrapers |
otelcol/hostmetricsreceiver/* |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/* |
#34526 |
httpcheckreceiver |
otelcol/httpcheckreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver |
#34497 |
iisreceiver |
otelcol/iisreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver |
#34535 |
k8sattributesprocessor |
otelcol/k8sattributes |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor |
#34550 |
k8sclusterreceiver |
otelcol/k8sclusterreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver |
#34536 |
kafkametricsreceiver |
otelcol/kafkametricsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver |
#34538 |
kafkareceiver |
otelcol/kafkareceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver |
#34539 |
kubeletstatsreceiver |
otelcol/kubeletstatsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver |
#34537 |
memcachedreceiver |
otelcol/memcachedreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver |
#34542 |
mongodbatlasreceiver |
otelcol/mongodbatlasreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver |
#34543 |
mongodbreceiver |
otelcol/mongodbreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver |
#34544 |
mysqlreceiver |
otelcol/mysqlreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver |
#34545 |
nginxreceiver |
otelcol/nginxreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver |
#34493 |
nsxtreceiver |
otelcol/nsxtreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver |
#34429 |
oracledbreceiver |
otelcol/oracledbreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver |
#34491 |
otelarrowreceiver |
otelcol/otelarrowreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver |
#34546 |
podmanreceiver |
otelcol/podmanreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver |
#34429 |
postgresqlreceiver |
otelcol/postgresqlreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver |
#34476 |
probabilisticsamplerprocessor |
otelcol/probabilisticsampler |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor |
#34550 |
prometheusreceiver |
otelcol/prometheusreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver |
#34589 |
rabbitmqreceiver |
otelcol/rabbitmqreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver |
#34475 |
sshcheckreceiver |
otelcol/sshcheckreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver |
#34448 |
vcenterreceiver |
otelcol/vcenter |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver |
#34449 |
zookeeperreceiver |
otelcol/zookeeper |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver |
#34450 |
redisreceiver |
otelcol/redisreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver |
#34470 |
riakreceiver |
otelcol/riakreceiver |
`github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiv... |