Releases: open-telemetry/opentelemetry-collector-contrib
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 core release removes the 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.legacyLatencyMetricNames 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... |
v0.106.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
v0.106.1
🧰 Bug fixes 🧰
configauth
: Fix unmarshaling of authentication in HTTP servers. (#34325)
This brings in a bug fix from the core collector. See open-telemetry/opentelemetry-collector#10750.
v0.106.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.106.0
🛑 Breaking changes 🛑
-
vcenterreceiver
: Enables various vCenter metrics that were disabled by default until v0.106.0 (#33607)
The following metrics will be enabled by default "vcenter.datacenter.cluster.count", "vcenter.datacenter.vm.count", "vcenter.datacenter.datastore.count",
"vcenter.datacenter.host.count", "vcenter.datacenter.disk.space", "vcenter.datacenter.cpu.limit", "vcenter.datacenter.memory.limit",
"vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted". The
"resourcePoolMemoryUsageAttribute" has also been bumped up to release v.0.107.0 -
googlemanagedprometheusexporter
: Fix typo inexporter.googlemanagedpromethues.intToDouble
feature gate (#34232)
🚩 Deprecations 🚩
k8sattributesprocessor
: Deprecateextract.annotations.regex
andextract.labels.regex
config fields in favor of theExtractPatterns
function in the transform processor. TheFieldExtractConfig.Regex
parameter will be removed in version v0.111.0. (#25128)
Deprecating of FieldExtractConfig.Regex parameter means that it is recommended to use theExtractPatterns
function from the transform processor instead. To convert your current configuration please check theExtractPatterns
function documentation. You should use thepattern
parameter ofExtractPatterns
instead of using theFieldExtractConfig.Regex
parameter.
🚀 New components 🚀
otlpjsonconnector
: New component that will allow extracting otlpjson data from incoming Logs. (#34239, #34208)redis_storage
: Adds a new storage extension using Redis to store data in transit (#31682)
💡 Enhancements 💡
-
processor/transform
: Addscale_metric
function that scales all data points in a metric. (#16214) -
vcenterreceiver
: Adds vCenter vSAN host metrics. (#33556)
Introduces the following vSAN host metrics to the vCenter receiver:- vcenter.host.vsan.throughput
- vcenter.host.vsan.iops
- vcenter.host.vsan.congestions
- vcenter.host.vsan.cache.hit_rate
- vcenter.host.vsan.latency.avg
-
transformprocessor
: Support aggregating metrics based on their attributes. (#16224) -
metricstransformprocessor
: Adds the 'median' aggregation type to the Metrics Transform Processor. Also uses the refactored aggregation business logic from internal/core package. (#16224) -
telemetrygen
: uses the go logging SDK instead of pdata (#18902) -
elasticsearchexporter
: Add explicit bounds histogram support to metrics (#34045) -
hostmetricsreceiver
: allow configuring log pipeline to send host EntityState event (#33927) -
elasticsearchexporter
: Introduce an experimental OTel native mapping mode for logs (#33290) -
extension/healthcheckv2
: Add extension/subcomponent management logic. (#26661) -
otlpjsonconnector
: Add connector's implementations (#34249, #34208) -
windowsperfcountersreceiver
: Improve handling of non-existing instances for Windows Performance Counters (#33815)
It is an expected that when querying Windows Performance Counters the targeted instances may not be present.
The receiver will no longer require the use ofrecreate_query
to handle non-existing instances.
As soon as the instances are available, the receiver will start collecting metrics for them.
There won't be warning log messages when there are no matches for the configured instances. -
kafkareceiver
: Add settings session_timeout and heartbeat_interval to Kafka Receiver for group management facilities (#28630) -
otelarrowreceiver, otelarrowexporter
: OTel-Arrow internal packages moved into this repository. (#33567)
New integration testing between otelarrowexporter and otelarrowreceiver. -
otlpjsonconnector
: Move connector's stability to alpha. (#34208, #34253) -
pkg/ottl
: Adds anFormat
function to OTTL that callsfmt.Sprintf
(#33405) -
vcenterreceiver
: Adds a number of default disabled vSAN metrics for Clusters. (#33556) -
vcenterreceiver
: Adds a number of default disabled vSAN metrics for Virtual Machines. (#33556)
🧰 Bug fixes 🧰
clickhouseexporter
: Increase the default number of queue consumers to 10 (#34176)opencensusreceiver
: Do not report an error into resource status during receiver shutdown when the listener connection was closed. (#33865)datadogconnector
: Produce stats for non-root client and producer spans whenconnector.datadogconnector.NativeIngest
andcompute_top_level_by_span_kind
are enabled (#34197)
You should have only run into this bug when ALL the conditions below are met- feature gate
connector.datadogconnector.NativeIngest
is enabled - config
compute_top_level_by_span_kind
is set to true - config
compute_stats_by_span_kind
is unset or set to false - you have child spans with client or producer span kind
- feature gate
datadogconnector
: Respect_dd.measured
whenconnector.datadogconnector.NativeIngest
is enabled (#34197)
Spans with attribute_dd.measured
set to 1 will always get Datadog APM statsdeltatocumulativeprocessor
: fix bucket counts when downscaling exp histograms with odd offsets (#33831)otelarrowreceiver
: Fix potential goroutine leak when in stream-shutdown. (#34236)otelarrowreceiver
: Eliminate one spurious span error. (#34175)pkg/ottl
: Handle JSON array provided to ParseJSON function (#33535)exporter/datadog
: Fixes a bug whereotelcol_exporter_sent_log_records
was reporting double as many logs sent when using the logs agent feature gate. (#33887)statsdeceiver
: Log only non-EOF errors when reading payload received via TCP. (#33951)vcenterreceiver
: Adds destroys to the ContainerViews in the client. (#34254)
This may not be necessary, but it should be better practice than not.
v0.105.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.105.0
🛑 Breaking changes 🛑
skywalkingexporter
: Remove unmaintained component (#23796)elasticsearchexporter
: Make "dedup" option no-op, always de-duplicate. (#33773)
Elasticsearch does not permit duplicate keys in JSON objects, so there is no value in being able to configure deduplication.elasticsearchexporter
: Remove defunct "file" and "fields" configuration settings. (#33803)
This is a breaking change only because removing the attributes would prevent collector startup if those attributes are specified, but otherwise there is no functional change. These configuration attributes have never done anything.stanza
: errors from Operator.Process are returned instead of silently ignored. (#33783)
This public function is affected: https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza@v0.104.0/operator/helper#WriterOperator.Writevcenterreceiver
: Enables various vCenter metrics that were disabled by default until v0.105 (#34022)
The following metrics will be enabled by default "vcenter.host.network.packet.drop.rate",
"vcenter.vm.cpu.readiness", "vcenter.host.cpu.capacity", and "vcenter.host.cpu.reserved".
🚩 Deprecations 🚩
lokiexporter
: Deprecate component (#33916)
🚀 New components 🚀
sumconnector
: creates a wireframe and initial pr to develop from (#32669)extensions/observer/cfgardenobserver
: Add a new observer that discovers containers through the Garden API (#33618)
💡 Enhancements 💡
-
pkg/ottl
: Added Hex() converter function (#31929) -
pkg/ottl
: Add IsRootSpan() converter function. (#32918)
ConverterIsRootSpan()
returnstrue
if the span in the corresponding context is root, that means itsparent_span_id
equals to hexadecimal representation of zero. In all other scenarios function returnsfalse
. -
vcenterreceiver
: Adds additional vCenter resource pool metrics and a memory_usage_type attribute for vcenter.resource_pool.memory.usage metric to use. (#33607)
Added "vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted"
metrics. Also added an additional attribute, "memory_usage_type" for "vcenter.resource_pool.memory.usage" metric, which is
currently under a feature gate. -
kubeletstatsreceiver
: Addk8s.pod.memory.node.utilization
andk8s.container.memory.node.utilization
metrics (#33591) -
vcenterreceiver
: Adds vCenter metrics at the datacenter level. (#33607)
Introduces various datacenter metrics which work by aggregating stats from datastores, clusters, hosts, and VM's. -
processor/resource, processor/attributes
: Add an option to extract value from a client address by specifyingclient.address
value in thefrom_context
field. (#34051) -
awss3receiver
: Add support for retrieving logs and metrics to the AWS S3 Receiver. (#30750) -
receiver/azuremonitorreceiver
: Add support for Managed Identity and Default Credential auth (#31268, #33584) -
azuremonitorreceiver
: Addmaximum_number_of_records_per_resource
config parameter in order to overwrite default (#32165) -
clickhouseexporter
: Upgrading stability for logs to beta (#33615)
The logs exporter has been proven to be stable for large scale production deployments.
Configuration options specific to logs are unlikely to change. -
cloudfoundryreceiver
: Add support to receive CloudFoundry Logs (#32671) -
datadogreceiver
: Add support for metrics in Datadog receiver (#18278) -
datadogexporter
: Add a feature gateexporter.datadogexporter.TraceExportUseCustomHTTPClient
that allows a custom HTTP client to be used in trace export (#34025)
This is an experimental feature. By default the feature gate is disabled and trace export uses a default HTTP client. -
elasticsearchexporter
: Introduce experimentaltelemetry.log_request_body
andtelemetry.log_response_body
config (#33854) -
cmd/opampsupervisor
: Adds support for forwarding custom messages to/from the agent (#33575) -
geoipprocessor
: Add providers configuration and maxmind provider factory (#33269) -
healthcheckv2extension
: Add partial gRPC service implementation to healthcheckv2. (#26661) -
healthcheckv2extension
: Add support for streaming Watch RPC to healthcheckv2 gRPC service. (#26661) -
healthcheckv2extension
: Add HTTP service to healthcheckv2 (#26661) -
splunkhecexporter
: Increase the performance of JSON marshaling (#34011) -
pkg/stanza
: Addparse_ints
config in json parser to support parsing int or float properly (#33696) -
loadbalancingexporter
: Adds a new streamID routingKey, which will route based on the datapoint ID. See updated README for details (#32513) -
awsxrayexporter
: Allow multiple log group names/arns to be set in environmental variables (#33795) -
dockerobserver
: Add hint to error when using float forapi_version
field (#34043) -
dockerstatsreceiver
: Add hint to error when using float forapi_version
field (#34043) -
pkg/ottl
: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433) -
pkg/stanza
: Bump 'logs.jsonParserArray' and 'logs.assignKeys' feature gates to beta. (#33948)
This enables the feature gates by default to allow use of the
json_array_parser
andassign_keys
operations. -
receiver/filelog
: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946) -
statsdreceiver
: Allow configuring summary percentiles (#33701) -
pkg/stanza
: Switch to faster json parser lib for container operator (#33929) -
telemetrygen
: telemetrygen--rate
flag changed from Int64 to Float64 (#33984) -
extension/opamp
: Rely on the Collector APIs to do config redaction (#34078)
Previously all config fields had to be redacted, nowconfigopaque.String
is used to determine
which fields should be redacted. As a result, fields that are not sensitive are no longer redacted. -
azuremonitorreceiver
: Upgrade stability to alpha (#33689) -
windowsperfcountersreceiver
:windowsperfcountersreceiver
now appends an index number to additional instance names that share a name. An example of this is when scrapingrocess(*)
counters with multiple running instances of the same executable. (#32319)
NOTES- This change can expose cardinality issues where the counters were previously collapsed under the non-indexed instance name.
- The change mimics Windows Performance Monitor behavior: The first instance name remains unchanged, additional instances are suffixed with
#<N>
whereN=1
and is increased for each duplicate.- e.g. Given 3 powershell instances, this will return
powershell
,powershell#1
andpowershell#2
.
- e.g. Given 3 powershell instances, this will return
🧰 Bug fixes 🧰
servicegraphconnector
: Fix failed label does not work leads to servicegraph metrics error (#32018)apachesparkreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33906)azureblobreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33902)countconnector
: Updating the stability to reflect that the component is shipped as part of contrib. (#33903)deltatorateprocessor
: Updating the stability to reflect that the component is shipped as part of contrib. (#33904)httpcheckreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33897)metricsgenerationprocessor
: Updating the stability to reflect that the component is shipped as part of contrib. (#33905)podmanreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33899)purefareceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33901)purefbreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33900)zookeeperreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33898)probabilisticsamplerprocessor
: Fix bug where log sampling was being reported by the counterotelcol_processor_probabilistic_sampler_count_traces_sampled
(#33874)cmd/telemetrygen
: Fixmake docker-telemetrygen
command. (#33989)processor/groupbyattrsprocessor
: Fix dropping of metadata fields when processing metrics. (#33419)testbed
: Fixes incorrect count for sent data items in load generator. (#34057)prometheusreceiver
: Fix hash computation to include non exported fields like regex in scrape configuration for TargetAllocator (#29313)datadogexporter
: Exit when API key validation fails andapi::fail_on_invalid_key
is set totrue
. (#33935)kafkametricsreceiver
: Fix issue with incorrect consumer offset (#33309)sqlserverreceiver
: Enable default metrics to properly trigger SQL Server scrape (#34065)syslogreceiver
: Allow to definemax_octets
for octet counting RFC5424 syslog parser (#33182)windowsperfcountersreceiver
: Metric definitions with no matching performance counter are no longer included as metrics with zero datapoints in the scrape output. (#4972)
Go API Changelog
No changes.
v0.104.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
- The
otlpreceiver
now useslocalhost
by default instead of0.0.0.0
. This may break the receiver in containerized environments like Kubernetes. If you depend on0.0.0.0
disable thecomponent.UseLocalHostAsDefaultHost
feature gate or explicitly set the endpoint to0.0.0.0
. This change also affects contrib components which are listed in the release notes below. - Expansion of BASH-style environment variables, such as
$FOO
is no longer supported by default. If you depend on this syntax, disable theconfmap.unifyEnvVarExpansion
feature gate, but know that the feature will be removed in the future in favor of${env:FOO}
.
End User Changelog
🛑 Breaking changes 🛑
-
sumologicexporter
: removed compress_encoding (#33604) -
exporter/clickhouse
: Change behavior of how default database is read from the config (#33693)
Changed the defaultdatabase
todefault
.
The final database will prioritizeendpoint
, unlessdatabase
is set to a value not equal todefault
.
If neither are specified then it defaults to thedefault
database.
Possible breaking change if someone has the DSN configured in combination withdatabase
config option. -
exporter/clickhouse
: Addasync_insert
config option to enable inserting asynchronously by default. (#33614)
Addsasync_insert
config option to enable inserting asynchronously by default.
To preserve the previous behavior, setasync_insert
tofalse
in your config.
When enabled, the exporter will insert asynchronously, which can improve performance for high-throughput deployments.
Theasync_insert
option can be set totrue
orfalse
to enable or disable async inserts, respectively. The default value istrue
.
Keep in mind this setting is added since the exporter now sets it to default.
Async insert and its related settings can still be defined inendpoint
andconnection_params
, which take priority over the new config option. -
clickhouseexporter
: AddAggregationTemporality
column to histogram and exponential histogram tables. RenameAggTemp
column toAggregationTemporality
in sum table. (#33424)
It's a breaking change. users who upgrade to the latest version need to alter the Clickhouse table:ALTER TABLE otel_metrics_exponential_histogram ADD COLUMN AggregationTemporality Int32 CODEC(ZSTD(1)); ALTER TABLE otel_metrics_histogram ADD COLUMN AggregationTemporality Int32 CODEC(ZSTD(1)); ALTER TABLE otel_metrics_sum RENAME COLUMN AggTemp TO AggregationTemporality;
-
exporter/clickhouse
: Remove deprecatedttl_days
config option, usettl
instead. (#33648) -
vcenterreceiver
: Drops support for vCenter 6.7 (#33607) -
all
: Promotecomponent.UseLocalHostAsDefaultHost
feature gate to beta. This changes default endpoints from 0.0.0.0 to localhost (#30702)
This change affects the following components:- extension/awsproxy
- extension/health_check
- extension/health_checkv2
- extension/jaegerremotesampling
- internal/aws/proxy
- processor/remotetap
- receiver/awsfirehose
- receiver/awsxray
- receiver/influxdb
- receiver/jaeger
- receiver/loki
- receiver/opencensus
- receiver/sapm
- receiver/signalfx
- receiver/skywalking
- receiver/splunk_hec
- receiver/zipkin
- receiver/zookeeper
-
receiver/mongodb
: Graduate receiver.mongodb.removeDatabaseAttr feature gate to stable (#24972)
🚩 Deprecations 🚩
exporter/elasticsearch
: Deprecate the "dedot" configuration. (#33772)
dedot has been deprecated, and will always be enabled in ECS mode and disabled for other modes in futureexporter/elasticsearch
: Deprecate the "dedup" configuration. (#33773)
dedup has been deprecated, and will always be enabled in future.
🚀 New components 🚀
otelarrow
: OTel-Arrow exporter and receiver are marked alpha, added to otelcontribcol (#26491)
💡 Enhancements 💡
-
exporter/elasticsearch
: Add initial support for metrics (#33513) -
elasticsearchexporter
: Add translation for k8s.deployment.name resource attribute (#33622) -
k8sattributesprocessor
: Add support for exposingk8s.pod.ip
as a resource attribute (#32960) -
geoipprocessor
: Add MaxMind geoip provider for GeoIP2-City and GeoLite2-City databases. (#32663) -
vcenterreceiver
: Adds vCenter CPU readiness metric for VMs. (#33607) -
awsemfexporter
: AWS EMF Exporter to add AppSignals metadata flag into the user-agent (#32998) -
receiver/mongodb
: Ensure support of 6.0 and 7.0 MongoDB versions with integration tests (#32716) -
sumologicexporter
: added timeout validation (#33151) -
clickhouseexporter
: Updated the default logs table to a more optimized schema (#33611)
Simplified data types, improved partitioning and time range queries. -
datadogconnector
: Add a feature gateconnector.datadogconnector.NativeIngest
that enables datadog connector to use the new native OTel API in APM stats computation. (#33297)
The feature gateconnector.datadogconnector.NativeIngest
is disabled by default. -
datadogexporter
: Adds Kubernetes DD tags to keep when mapping resource attributes (#33728)
See DataDog/opentelemetry-mapping-go#334 for details. -
exporter/elasticsearch
: Add data stream routing (#33794, #33756)
data_stream.dataset
anddata_stream.namespace
in attributes will be respected when config*_dynamic_index.enabled
is true. -
exporter/elasticsearch
: Encode metrics resource attributes in ECS mapping mode (#33823) -
elasticsearchexporter
: Preservehost.name
resource attribute in ECS mode (#33670) -
servicegraphprocessor
: Added a new configuration optionenable_virtual_node_label
to allow users to identify which node is the virtual node in each edge of the service graph. (#31889) -
pkg/stanza
: Switch JSON parser used by json_parser to github.com/goccy/go-json (#33784) -
k8sobserver
: Add support for k8s.ingress endpoint. (#32971) -
statsdreceiver
: Optimize statsdreceiver to reduce object allocations (#33683) -
routingprocessor
: Use mdatagen to define the component's telemetry (#33526) -
loadbalancerexporter
: Refactors how the load balancing exporter splits metrics (#32513)
All splitting is behaviorally, the same. However, theresource
routingID now uses theinternal/exp/metrics/identity
package to generate the load balancing key, instead of bespoke code. This means that when upgrading to this version your routes for specific metric groupings could change. However, this will be stable and all future metrics will follow the new routing -
receiver/mongodbreceiver
: Addserver.address
andserver.port
resource attributes to MongoDB receiver. (#32810, #32350)
The new resource attributes are added to the MongoDB receiver to distinguish metrics coming from different MongoDB instances.server.address
: The address of the MongoDB host, enabled by default.server.port
: The port of the MongoDB host, disabled by default.
-
observerextension
: Expose host and port in endpoint's environment (#33571) -
rabbitmqexporter
: Promote rabbitmqexporter to alpha. (#33331) -
pkg/ottl
: Add aschema_url
field to access the SchemaURL in resources and scopes on all signals (#30229) -
solacereceiver
: Renamed some SemConv fields to support latest semantic conventions for messaging spans (version1.25.0
) (#33499) -
sqlserverreceiver
: Enable more perf counter metrics when directly connecting to SQL Server (#33420)
This enables the following metrics by default on non Windows-based systems:
sqlserver.batch.request.rate
sqlserver.batch.sql_compilation.rate
sqlserver.batch.sql_recompilation.rate
sqlserver.page.buffer_cache.hit_ratio
sqlserver.user.connection.count
-
extension/googleclientauth
: Add Google-signed ID token support (#33185)
Update github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauth to v0.48.0.
With this update, extension/googleclientauth now supports Google-signed ID token as auth header. -
vcenterreceiver
: Adds vCenter CPU capacity and network drop rate metrics to hosts. (#33607)
🧰 Bug fixes 🧰
-
resourcedetectionprocessor
: Fetch CPU info only if related attributes are enabled (#33774) -
datasetexporter
: Upgrade dataset-go to v0.19.0 and fix found issues (#33498, #32533, #33675)
Upgradedataset-go
library from v0.18.0 to v0.19.0.
Enable skipped integration test and adjust the test so it is passing again.
Do not validate configuration, let the framework run the validation. -
datasetexporter
: Upgrade dataset-go to v0.20.0 (#33812)
Upgradedataset-go
library from v0.19.0 to v0.20.0.
Make number of outgoing connections configurable. -
datadogexporter
: Fix panics on invalid sized trace & span IDs (#33566)
See DataDog/opentelemetry-mapping-go#340 for details. -
datadogexporter
: Ignore metric datapoints withno recorded value
flag (#33728)
This flag is not supported by Datadog, so we just ignore these datapoints. See DataDog/opentelemetry-mapping-go#330 for details. -
tailsamplingprocessor
: Fix precedence of inverted match in and policy (#33671)
Previously if the decision from a policy evaluation wasNotSampled
orInvertNotSampled
it would return aNotSampled
decision regardless, effectively downgrading the result.This was breaking the documented behaviour that inv...
v0.103.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 🛑
-
cmd/opampsupervisor,extension/opamp
: Upgrade the opamp-go library to v0.15.0 (#33416)
With this change, UUIDv7 is recommended for the OpAMP extension's instance_uid field instead of ULID. ULIDs will continue to work, but may be displayed as UUIDs.
The supervisor's persistent state (${storage_dir}/persistent_state.yaml) will need to be cleared to generate a new UUIDv7 instead of a ULID.
This change may be incompatible with management servers using v0.14.0 of opamp-go. -
mongodbreceiver
: Now only supportsTCP
connections (#32199)
This fixes a bug where hosts had to explicitly settcp
as the transport type. Thetransport
option has been removed. -
cmd/configschema
: Removes the deprecatedconfigschema
command. This command will no longer be released or supported. (#33384) -
sqlserverreceiver
: sqlserver.database.io.read_latency has been renamed to sqlserver.database.latency with adirection
attribute. (#29865)
🚩 Deprecations 🚩
-
healthcheckextension
: Remove incorrect logic behindcheck_collector_pipeline
config (#33469)
This logic incorrectly set the pipeline to OK after waiting for enough callbacks from the
opencensus library to be called. As this was broken, I'm removing it to remove the dependency
on opencensus as well. Improvements will be available via healthcheckv2 extension. -
googlecloudspannerreceiver
: Mark the component as unmaintained. If we don't find new maintainers, it will be deprecated and removed. (#32651)
💡 Enhancements 💡
-
filelogreceiver
: If include_file_record_number is true, it will add the file record number as the attributelog.file.record_number
(#33530) -
kubeletstats
: Add k8s.pod.cpu.node.utilization metric (#33390) -
awss3exporter
: endpoint should contain the S3 bucket (#32774) -
awss3receiver
: Add support for encoding extensions to be used in the AWS S3 Receiver. (#30750) -
gitproviderreceiver
: Adds branch commit and line based metrics (#22028)
Adds the following branch based metrics.- git.repository.branch.time
- git.repository.branch.commit.aheadby.count
- git.repository.branch.commit.behindby.count
- git.repository.branch.line.deletion.count
- git.repository.branch.line.addition.count
-
statsdreceiver
: update statsd receiver to use mdatagen (#33524) -
coralogixexporter
: Allow setting application name fromcx.application.name
andcx.subsystem.name
resource attributes (#33217) -
metricstransformprocessor
: Adds the 'count' aggregation type to the Metrics Transform Processor. (#24978) -
elasticsearchexporter
: Add support for confighttp options, notably "auth". (#33367)
Add support for confighttp and related configuration settings, such as "auth".
This change also means that the Elasticsearch URL may be specified as "endpoint",
like the otlphttp exporter. -
elasticsearchexporter
: Check that endpoints are valid URLs during config validation. (#33350)
Check that endpoints are valid URLs during config validation so that
an invalid endpoint causes a fatal error during startup, rather than
leading to a persistent runtime error. -
opampsupervisor
: Add config validation for the supervisor config (#32843) -
statsdreceiver
: Added received/accepted/refused metrics (#24278) -
filelogreceiver
: Add support for gzip compressed log files (#2328) -
confmap/provider/secretsmanagerprovider
: Add support for JSON formatted secrets in secretsmanagerprovider confmap (#32143)
Thesecretsmanagerprovider
confmap will now allow to get secret by a json key if the secret value is json.
To specify key separate key from secret name/arn by#
e.g.mySecret#mySecretKey
. -
geoipprocessor
: Add initial processing based on source.address resource attribute (#32663) -
healthcheckv2extension
: Add shared aggregation logic for status events. (#26661) -
tailsamplingprocessor
: Simple LRU Decision Cache for "keep" decisions (#31583) -
processor/tailsampling
: Migrates internal telemetry to OpenTelemetry SDK via mdatagen (#31581)
The metric names and their properties, such as bucket boundaries for histograms, were kept like before, to keep backwards compatibility. -
kafka
: Addeddisable_fast_negotiation
configuration option for Kafka Kerberos authentication, allowing the disabling of PA-FX-FAST negotiation. (#26345) -
pkg/ottl
: Addedkeep_matching_keys
function to allow dropping all keys from a map that don't match the pattern. (#32989) -
OTel-Arrow
: Update to OTel-Arrow v0.24.0 (#26491) -
pkg/ottl
: Add debug logs to help troubleshoot OTTL statements/conditions (#33274) -
pkg/ottl
: Introducingappend
function for appending items into an existing array (#32141) -
pkg/ottl
: IntroducingUri
converter parsing URI string into SemConv (#32433) -
probabilisticsamplerprocessor
: Add Proportional and Equalizing sampling modes (#31918)
Both the existing hash_seed mode and the two new modes use OTEP 235 semantic conventions to encode sampling probability. -
prometheusreceiver
: Resource attributes produced by the prometheus receiver now include stable semantic conventions forserver
andurl
. (#32814)
To migrate from the legacy net.host.name, net.host.port, and http.scheme resource attributes, |
migrate to server.address, server.port, and url.scheme, and then |
set the receiver.prometheus.removeLegacyResourceAttributes feature gate. -
datadogexporter
: The Datadog Exporter now supports theproxy_url
parameter to configure an HTTP proxy to use when sending telemetry to Datadog. (#33316) -
spanmetrics
: Produce delta temporality span metrics with StartTimeUnixNano and TimeUnixNano values representing an uninterrupted series (#31671, #30688)
This allows producing delta span metrics instead of the more memory-intensive cumulative metrics, specifically when a downstream component can convert the delta metrics to cumulative. -
sqlserverreceiver
: Add support for more Database IO metrics (#29865)
The following metrics have been added:- sqlserver.database.latency
- sqlserver.database.io
- sqlserver.database.operations
-
cmd/opampsupervisor
: Receive and report effective config to the OpAMP server (#30622) -
processor/transform
: Addtransform.flatten.logs
featuregate to give each log record a distinct resource and scope. (#32080)
This option is useful when applying transformations which alter the resource or scope. e.g.set(resource.attributes["to"], attributes["from"])
, which may otherwise result in unexpected behavior. Using this option typically incurs a performance penalty as the processor must compute many hashes and create copies of resource and scope information for every log record. -
receiver/windowsperfcounters
: Counter configuration now supports recreating the underlying performance query at scrape time. (#32798)
🧰 Bug fixes 🧰
filelogreceiver
: Container parser should add k8s metadata as resource attributes and not as log record attributes (#33341)deltatocumulative
: properly drop samples when at limit (#33285)
fixes a segfault in the limiting behavior, where streams exceeding the limit still had their samples processed. due to not being tracked, this led to a nil-pointer derefpostgresqlreceiver
: Fix bug wherepostgresql.rows
always returning 0 forstate="dead"
(#33489)prometheusreceiver
: Fall back to scrape config job/instance labels for aggregated metrics without instance/job labels (#32555)elasticsearchexporter
: Duplicate Key in JSON (#33454)logzioexporter
: Fix issue where log attributes were not correctly exported (#33231)exporter/datadog
: Prevents collector shut down when Datadog logs pipeline fails to validate API key (#33195)
API Changelog
🛑 Breaking changes 🛑
stanza
: remove deprecated code (#33519)
This change removes:- adapter.LogEmitter, use helper.LogEmitter instead
- adapter.NewLogEmitter, use helper.NewLogEmitter instead
- fileconsumer.Manager's SugaredLogger struct member
- pipeline.DirectedPipeline's SugaredLogger struct member
- testutil.Logger, use zaptest.NewLogger instead
💡 Enhancements 💡
pkg/winperfcounters
: It is now possible to force awatcher
to re-create the PDH query of a given counter via theReset()
function. (#32798)