Releases: open-telemetry/opentelemetry-collector-contrib
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... |
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...