Releases: open-telemetry/opentelemetry-collector-contrib
v0.120.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🛑 Breaking changes 🛑
all
: Added support for go1.24, bumped minimum version to 1.23 (#37875)elasticsearchexporter
: Use go-elasticsearch/v8, require minimum version of ES 7.17.x or 8.x (#32454)elasticsearchexporter
: Remove dedot config. ECS mode now always dedots, no others dedot at all. (#33772)activedirectorydsreceiver
: Fixed typo in the attributedistingushed_names
, renaming it todistinguished_names
. (#37606)githubreceiver
: Therequired_header
configuration option for the trace receiver has been changed torequired_headers
. (#37578)receiver/hostmetrics
: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate (#34763)tailsamplingprocessor
: Fix the decision timer metric to capture longer latencies beyond 50ms. (#37722)
This changes the unit of the decision timer metric from microseconds to milliseconds.routingconnector
: Removematch_once
configuration parameter. (#36824)
🚩 Deprecations 🚩
opencensusexporter
: Deprecate the OpenCensus exporter (#36791)
Migrate to use the OTLP exporter moving forward.opencensusreceiver
: Deprecate the OpenCensus receiver (#36791)
Migrate to use the OTLP receiver moving forward.
🚀 New components 🚀
bmchelixexporter
: Mark the BMC Helix exporter as Alpha. (#36773)bmchelixexporter
: metrics implementation (#36773)kafkatopicsobserver
: Adding new kafka topics observer extension (#37665)googlecloudlogentryencodingextension
: Introduce the scaffolding of a new component, googlecloudlogentryencodingextension (#37531)
💡 Enhancements 💡
-
elasticsearchexporter
: Syncs support for compression level on elasticsearch exporter with confighttp. The default compression level is 1 if not set. (#37260) -
processor/transformprocessor
: Add support for global conditions and error mode overrides. (#29017)
Global conditions are now available for context-inferred structured configurations, allowing the use of fully
qualified paths. Additionally, a new configuration key callederror_mode
has been added to the context statements group.
This key determines how the processor reacts to errors that occur while processing that specific group of statements.
When provided, it overrides the top-level error mode, offering more granular control over error handling. -
pkg/stanza
: Allow users to configure initial buffer size (#37786) -
vcenterreceiver
: Adds three more vCenter virtual machine performance metrics (#37488) -
k8sclusterreceiver
: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. (#37580)- Adds the following attributes to k8s.namespace entity:
- k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
- k8s.namespace.creation_timestamp: The time when the namespace object was created.
- Adds the following attributes to container entity:
- container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
- Adds the following attributes to k8s.namespace entity:
-
splunkenterprisereceiver
: Added a newsplunk.health
metric. (#36695) -
pkg/ottl
: Introduce ToLowerCase converter function (#32942) -
pkg/ottl
: Introduce ToSnakeCase converter function (#32942) -
pkg/ottl
: Introduce ToUpperCase converter function (#32942) -
datadogreceiver
: Implement support for span links (#37449) -
resourcedetectionprocessor
: add the Dynatrace detector to the resource detection processor (#37577) -
elasticsearchexporter
: Add profiles support to elasticsearch exporter (#37567) -
googlecloudmonitoringreceiver
: support use monitoring filters to filter metrics (#36898) -
awsfirehosereceiver
: Refactor unmarshallers to implement pdata unmarshaler interfaces (#37361) -
githubreceiver
: add support for GitHub Actions workflow run events using deterministic Trace and Root Span IDs. (#37578) -
pkg/translator/jaeger/internal/jaeger
: Remove jaeger model/converter/thrift/jaeger dependency (#37820) -
pkg/translator/zipkin/internal/zipkin
: Remove jaeger model/converter/thrift/zipkin dependency (#37795) -
extension/oauth2clientauth
: Addexpiry_buffer
config tooauth2client
extension, allowing token refresh before expiration with a default buffer of 5 minutes. (#35148)- Prevents authentication failures by refreshing the token early.
- The default expiry buffer is set to 5 minutes, and users can adjust it as needed.
-
datadogexporter
: Add a gauge metric datadog.otel.gateway which is 1 if the collector is used as a gateway or 0 otherwise. (#37499) -
pkg/ottl
: Introduce ToCamelCase converter function (#32942) -
googlecloudpubsubreceiver
: Turn noisywarn
log about Pub/Sub servers intodebug
, and turn the reset count into a metric (#37571)
The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers
recurrently close the connection after a time period to avoid a long-running sticky connection. Before the
receiver loggedwarn
log lines everytime this happened. These log lines are moved to debug so that fleets with
lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a
connection reset happens aotelcol_receiver_googlecloudpubsub_stream_restarts
metric is increased by one. -
processor/redaction
: Introduce 'allowed_values' parameter for allowed values of attributes (#35840) -
exporter/logzioexporter
: Remove dependency on Jaeger pkg/cache (#37833) -
routingconnector
: Avoid unnecessary copy of the data in routing connector (#37946) -
awscontainerinsightreceiver
: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. (#35862) -
syslogreceiver
: Support settingon_error
config for syslog receiver. (#36906) -
processor/tailsampling
: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision.
This functionality is disabled by default, you can enable it by passing the following feature flag to the collector:+processor.tailsamplingprocessor.recordpolicy
(#35180) -
tailsamplingprocessor
: makes thenumeric_attribute
more flexible and allows to set onlymin_value
ormax_value
, without the need to set both (#37328)
This is useful to have simple configurations like these:{ type: numeric_attribute, numeric_attribute: { key: http.status_code, min_value: 400 } }
-
testbed
: Include the specified resource limits for CPU and memory in the benchmark results (#36720) -
stefexporter
: Add basic STEF exporter implementation (#37759) -
receiver/zipkinreceiver
: Remove zipkinreceiver dependency on Jaeger (#37795)
🧰 Bug fixes 🧰
azureeventhubreceiver
: Fix bug where persisted offset would be ignored after restart (#37157)bearertokenauthextension
: Load token lazily for gRPC AUTH to fix token refresh issue (#36749)opampsupervisor
: The OnConnectionClose was not correctly connected for the supervisor. (#37761)elasticsearchexporter
: Fix data loss caused by incorrect metric grouping in ECS and OTel mode (#37898)
Fix data loss when the same metric exists across different resources or scopes. Data points / metrics were incorrectly grouped together, leading to data loss with warning logs e.g. "metric with name '***' has already been serialized".k8sattributes
: Fix bug whereFilters.Labels
failed with when theexists
ornot-exists
operations were used. (#37913)prometheusreceiver
: Start time metric adjuster now handles reset points correctly (#37717)prometheusremotewriteexproter
: Resolves a deadlock in the WAL by temporarily releasing a lock while waiting for new writes to the WAL.
(#19363, #24399, #15277)awscontainerinsightreceiver
: Fix race condition in shutdown of AWS Container Insight receiver (#37695)
API changelog
🛑 Breaking changes 🛑
s3provider
: Delete deprecatedNew
factory function. UseNewFactory
instead. (#37921)secretsmanagerprovider
: Delete deprecatedNew
function, useNewFactory
instead (#37923)pkg/stanza
: Remove deprecatedflush.WithPeriod
. (#37784)pkg/stanza
: Remove deprecated func BuildWithSplitFunc from stanza/fileconsumer (#37723)
🚩 Deprecations 🚩
pkg/stanza
: Deprecate all functions in stanza/decode (#37734)
💡 Enhancements 💡
pkg/translator/prometheusremotewrite
: add support for metric type sum in FromMetricsV2 (#33661)
The public function is partially implemented and not ready for usepkg/datadog
: Expose the internal Zaplogger implementation (#37939)dbstorageextension
: Add DB Transactions to dbstorage.Batch() method as it is expected by Storage API (#37805)internal/datadog
: create new packagegithub.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/hostmetadata
which exposesGetSourceProvider
fromgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog/hostmetadata
(#37668)textutil
: Remove unnecessary copy while decoding and constructing string (#37734)
This PR affects all log receivers, text extension and kafkareceiver.telemetrygen
: Exported the API for telemetrygen for test uses. Additionally added new E2E tests and fixed race condition (#36984)tailsamplingprocessor
: Add support for external caches when using the Tailsampling Processor in code. (#37035)
v0.119.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/kineticaexporter/
- exporter/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/awscloudwatchmetricsreceiver/
- receiver/rabbitmqreceiver/
End user changelog
🛑 Breaking changes 🛑
-
receiver/cloudfoundry
: Promotecloudfoundry.resourceAttributes.allow
feature gate to beta (#34824)
Thecloudfoundry.resourceAttributes.allow
feature gate is now enabled by default. -
datadogexporter
: Remove stable feature gateexporter.datadog.hostname.preview
(#37561) -
exporter/prometheusremotewrite
: Changeexporter.prometheusremotewriteexporter.deprecateCreatedMetric
feature gate from Beta to Stable version. (#35003)
Theexport_created_metric
configuration parameter is now permanently deprecated. -
elasticsearchexporter
: Consistently store the structured body of logs and events inbody.structured
inotel
mode (#37387) -
solacereceiver
: Update validation step to allow only one auth method. (#36386)
🚩 Deprecations 🚩
signalfxreceiver
:access_token_passthrough
is deprecated (#37575)- "
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 🚀
envoyalsreceiver
: Add a new receiver for the Envoy ALS (Access Log Service). (#36464)metricstarttimeprocessor
: Add the initial skeleton for the metricsstarttimeprocessor (#37186)
The component is still in development and is not ready for use.exporter/sematext
: Add a new component for exporting metrics and logs to Sematext (#36465)
💡 Enhancements 💡
-
awss3exporter
: Add support for S3 Storgeclass (#35173) -
processor/transformprocessor
: Add support for flat configuration style. (#29017)
The flat configuration style allows users to configure statements by providing a list of statements instead of a
structured configuration map. The statement's context is expressed by adding the context's name prefix to path names,
which are used to infer and to select the appropriate context for the statement. -
httpcheckreceiver
: Added support for specifying multiple endpoints in thehttpcheckreceiver
using theendpoints
field. Users can now monitor multiple URLs with a single configuration block, improving flexibility and reducing redundancy. (#37121) -
signaltometricsconnector
: Move signal to metrics connector to alpha stability (#35930) -
exporter/clickhouse
: Adding missing examples of DDL created by the clickhouse exporter (#35903) -
opampsupervisor
: add support for headers configuration for reporting own telemetry (#37353) -
opampsupervisor
: report own metrics via OTLP instead of prometheus receiver (#37346) -
resourcedetectionprocessor
: Expose additional configuration parameters for the AWS metadata client used by the EC2 detector (#35936)
In some cases, you might need to change the behavior of the AWS metadata client from the standard retryerBy default, the client retries 3 times with a max backoff delay of 20s.
We offer a limited set of options to override those defaults specifically, such that you can set the client to retry 10 times, for up to 5 minutes, for example:
processors: resourcedetection/ec2: detectors: ["ec2"] ec2: max_attempts: 10 max_backoff: 5m
-
cumulativetodeltaprocessor
: Add metric type filter for cumulativetodelta processor (#33673) -
datadogconnector
: Support obfuscating sql queries in APM stats (#37457)
Ensure that feature flags "enable_receive_resource_spans_v2" and "enable_operation_and_resource_name_logic_v2"
are also enabled on both Datadog Exporter and Datadog Connector so that span attributes are properly
mapped to span type and span resource in Datadog APM; otherwise spans and apm stats may not be
obfuscated and attributes on stats payloads may not match traces.
See https://docs.datadoghq.com/opentelemetry/schema_semantics/semantic_mapping/?tab=datadogexporter#mapping-opentelemetry-database-system-type-to-datadog-span-typeNOTE: Long/complex SQL queries may cause a performance impact on APM Stats calculation in Datadog Connector.
Consider implementing sampling in your pipeline prior to sending traces to Datadog Connector if you experience this. -
resourcedetectionprocessor
: Addfail_on_missing_metadata
option on EC2 detector (#35936)
If the EC2 metadata endpoint is unavailable, the EC2 detector by default ignores the error.
By settingfail_on_missing_metadata
to true on the detector, the user will now trigger an error explicitly,
which will stop the collector from starting. -
elasticsearchexporter
: Group data points into a single document even if they are from different but equal resources (#37509)
This may prevent document rejections in case the same batch contains different resources or scopes that have the same set of attributes -
elasticsearchexporter
: Add configlogs_dynamic_id
to dynamically set the document ID of log records using log record attributeelasticsearch.document_id
(#36882) -
elasticsearchexporter
: Declare MutatesData: false (#37234)
When multiple exporters are used, the collector doesn't need to clone the incoming data anymore -
resourcedetectionprocessor
: Thegcp
resource detector will now detect resource attributes identifying a GCE instance's managed instance group. (#36142) -
jaegerreceiver
: Log the endpoints of different servers started by jaegerreceiver (#36961)
This change logs the endpoints of different servers started by jaegerreceiver. It simplifies debugging by ensuring log messages match configuration settings. -
githubgen
: Switch over all usages of githubgen to the new tool location, since the old tool was deprecated (#37412, #37294) -
hostmetrics/process
: Added support for tracking process.uptime (#36667) -
netflowreceiver
: Adds the implementation of the netflow receiver (#32732)
The receiver now supports receiving NetFlow v5, NetFow v9, IPFIX, and sFlow v5 logs. -
googlecloudpubsubreceiver
: Added support for encoding extensions. (#37109) -
processor/transformprocessor
: Replace parser collection implementations withottl.ParserCollection
and add initial support for expressing statement's context via path names. (#29017) -
prometheusreceiver
: Addreceiver.prometheusreceiver.UseCollectorStartTimeFallback
featuregate for the start time metric adjuster to use the collector start time as an approximation of process start time as a fallback. (#36364) -
tailsamplingprocessor
: Reworked the consume traces, sampling decision, and policy loading paths to improve performance and readability (#37560)
🧰 Bug fixes 🧰
-
deltatocumulativeprocessor
: In order to cap number of histogram buckets take the min of desired scale across negative and positive buckets instead of the max (#37416) -
filelogreceiver
: Fix issue where flushed tokens could be truncated. (#35042) -
connector/routing
: Fix config validation with context other thanresource
(#37410) -
k8sattributesprocessor
: Wait for the other informers to complete their initial sync before starting the pod informers (#37056) -
metricsgenerationprocessor
: Generated metric name may not match metric being scaled (#37474) -
otlpjsonfilereceiver
: Include file attributes and append it to the log record (#36641) -
routingconnector
: The connector splits the original payload so that it may be emitted in parts to each route. (#37390) -
pkg/stanza
: Fix default source identifier in recombine operator (#37210)
Its defualt value is now aligned with the semantic conventions:attributes["log.file.path"]
-
tailsamplingprocessor
: Fixed sampling decision metricsotelcol_processor_tail_sampling_sampling_trace_dropped_too_early
andotelcol_processor_tail_sampling_sampling_policy_evaluation_error_total
, these were sometimes overcounted. (#37212)
As a result of this change non-zero values ofotelcol_processor_tail_sampling_sampling_trace_dropped_too_early
andotelcol_processor_tail_sampling_sampling_policy_evaluation_error_total
metrics will be lower.
Before this fix, errors got counted several times depending on the amount of traces being processed
that tick and where in the batch the error happened.
Zero values are unaffected. -
signalfxexporter
: Warn on dropping metric data points when they have more than allowed dimension count (#37484)
The SignalFx exporter drops metric data points if they have more than 36 dimensions.
Currently, the exporter logs at debug level when this occurs.
With this change, the exporter will log at the warning level.
API changelog
🚀 New components 🚀
metricstarttimeprocessor
: Add the initial skeleton for the metricsstarttimeprocessor (#37186)
The component is still in development and is not ready for use.
v0.118.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
🐛 Known bugs 🐛
connector/routing
: Invalid configuration when usingcontext
other thanresource
#37410
🛑 Breaking changes 🛑
-
elasticsearchexporter
: Remove Index config, which was deprecated and replace with LogsIndex since v0.60.0 (#37094) -
elasticsearchexporter
: Removededup
config setting that was deprecated in v0.104.0 (#33773) -
pkg/stanza
: Movefilelog.container.removeOriginalTimeField
feature gate to stable (#33389) -
pkg/ottl
: Support dynamic indexing of maps and slices. (#36644) -
prometheusremotewriteexporter
: Only append label values if they are different for colliding OTel attributes (#35896)
This change ensures that, when translating colliding attributes from OTel attributes to Prometheus label, the label values are only appended if their values are different.
This is a breaking change as it changes the value of label outputted. -
routingconnector
: Disconnectmatch_once
parameter from functionality. (#29882)
The parameter will be ignored, except to trigger a warning log about its upcoming removal in v0.120.0.
🚩 Deprecations 🚩
awscloudwatchmetricsreceiver
: move the component to unmaintained status (#36599)githubgen
: Deprecate githubgen in this repository (#37294)
githubgen has moved to opentelemetry-go-build-tools. Please change your scripts to use this new location.
🚀 New components 🚀
intervalprocessor
: Interval Processor is now Alpha stability and is added to thecontrib
andk8s
distributions (#36514)exporter/bmchelix
: Add a new component for exporting metrics to BMC Helix (#36773)gitlabreceiver
: Adds webhook skeleton to GitLab receiver to receive events from GitLab for tracing. (#35207)
This PR adds a skeleton for the GitLab receiver to receive events from GitLab for tracing via a webhook. The trace portion of this receiver will run and respond to GET requests for the health check only.extension/skywalkingencodingextension
: Support skywalking_encoding extension for skywalking traces. (#28693)
💡 Enhancements 💡
mysqlreceiver
: Add delete_multi, update_multi metrics to mysql.commands for mysqlreceiver (#37301)datadogexporter
: Add a feature gate datadog.EnableReceiveResourceSpansV2. Enabling this gate uses a refactored implementation of OTLP->Datadog Span translation in datadogexporter and datadogconnector which improves performance by 10%, and deprecates the following functionality: - No longer checks for resource-related values (container, env, hostname) in span attributes. This previous behavior did not follow the OTel spec. (#37171)pkg/ottl
: Add theNanosecond
converter to return the nanosecond component from the specified time.Time (#37042)pkg/ottl
: Add theSecond
converter to return the second component from the specified time.Time (#37042)vcenterreceiver
: Adds vCenter memory capacity for hosts and memory granted metric for VMs. (#37257)awss3exporter
: Implement sending queue for S3 exporter (#37274, #36264)huaweicloudces
: Move huaweicloudces receiver to alpha (#34953)cgroupruntimeextension
: Implement ECS metadata retrieval for cgroupruntime extension. (#36814)deltatocumulativeprocessor
: cap the number of exponential histogram buckets to 160 (#33277)resourcedetectionprocessor
: This enhancement detects AWS EKS cloud account ID (#37179)elasticsearchexporter
: HandleEventName
for log records in OTel mode (#37011)elasticsearchexporter
: More efficient JSON encoding for OTel mode (#37032)
Increases throughput for metrics by 2x and for logs and traces by 3xelasticsearchexporter
: Mark OTel mapping mode as stable (#37240)
OTel mapping mode should no longer be considered unstable as there is no planned breaking change.googlecloudmonitoringreceiver
: set the minimum collection interval as 60s (#36898)datadogexporter
: Add a feature gate datadog.EnableOperationAndResourceNameV2. Enabling this gate modifies the logic for computing operation and resource names from OTLP spans to produce shorter, more readable names and improve alignment with OpenTelemetry specifications. (#36419)dorisexporter
: send json lines to doris rather than json array (#36896)k8sattributesprocessor
: For pods with only one container, thecontainer.id
andk8s.container.name
are not longer required in the resource attributes to add the container attributes (#34189)logdedupprocessor
: Add 'include_fields' option to deduplicate log records via body or attribute fields. (#36965)pkg/ottl
: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)pkg/ottl
: Add theFormatTime
function to converttime.Time
values to human-readable strings (#36870)prometheusremotewriteexporter
: Re allows the configuration of multiple workers (#36134)receiver/prometheusremotewrite
: Check if Scope is already present comparing with the received labels (#36927)extension/jaegerremotesampling
: remove dependency on jaeger internal code (#36976)telemetrygen
: Remove go-grpc-middleware dependency (#37103)resourcedetectionprocessor
: Introduce kubeadm detector to retrieve local cluster name. (#35116)signalfxexporter
: Prioritize retrieving token from context when accesstokenpassthrough is enabled (#37102)signaltometricsconnector
: Add core logic for the signal to metrics connector to make it functional. (#35930)signaltometrics
: Adds resource attributes based on telemetry settings to the connector to ensure single writer (#35930)tailsamplingprocessor
: Added debug logging to the sampling decision caches. (#37038)tailsamplingprocessor
: Improved not sampled decision cache usage and deleting traces from the internal map when they are in a decision cache. (#37189)
🧰 Bug fixes 🧰
-
googlecloudpubsubreceiver
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in the googlecloudpubsubreceiver.
The goroutine leak was caused by the receiver not closing the underlying created gRPC client when using an insecure custom endpoint. -
signalfxexporter
: Honor access_token_passthrough config option for sending events (#37102) -
clickhouseexporter
: Fix Nil Pointer Exception on Metrics/Traces export without service.name Resource Attribute (#37030) -
k8sattributesprocessor
: Ensure the pods gathered by the processor contain the information about their related replica sets and deployments after the initial sync (#37056) -
logdedupprocessor
: Fix config validation not working when creating a processor. (#37278) -
pkg/ottl
: Fix bug withreplace_all_matches
andreplace_all_patterns
that caused non-string values to be changed to empty string when matching against empty string. (#37071) -
tailsamplingprocessor
: Fixed sampling policy evaluation debug logging batch metrics (e.g. sampled). (#37040) -
tailsamplingprocessor
: Late span age histogram should include sampled traces. (#37180)
API changelog
🛑 Breaking changes 🛑
routingconnector
: Changematch_once
parameter frombool
to*bool
. (#29882)
Boolean values should still unmarshal successfully, but direct instantiation in code will fail.
The change allows us to check for usage and warn of the upcoming removal in v0.120.0.
💡 Enhancements 💡
pkg/ottl
: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)pkg/ottl
: Add value expression parser that enables components using ottl to retrieve values from the output of an expression (#35621)
the expression can be either a literal value, a path value within the context, or the result of a converter and/or a mathematical expression.
v0.117.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/kineticaexporter/
- exporter/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
🛑 Breaking changes 🛑
-
cloudfoundryreceiver
: Introduce a feature gate enable copying envelope tags to the metrics as resource attributes instead of datapoint attributes. (#34824) -
pkg/ottl
: removed the ability to reference entire parent objects. (#36872)
Statements likeset(cache["resource"], resource)
in non-resource contexts will no longer work. -
routingconnector
: Change default value ofmatch_once
parameter totrue
. (#29882)
This field was deprecated in v0.116.0 and will be removed in v0.120.0.
🚩 Deprecations 🚩
sapmexporter
: Deprecate SAPM exporter (#36028)
The SAPM exporter is being marked as deprecated. Please use theotlphttp
exporter with the configuration shown
below. Also update your pipeline configuration for Traces accordingly.exporters: otlphttp: traces_endpoint: "${SPLUNK_INGEST_URL}/v2/trace/otlp" headers: "X-SF-Token": "${SPLUNK_ACCESS_TOKEN}"
🚀 New components 🚀
libhoneyreceiver
: Mark the libhoney receiver exporter as Alpha. (#36693)
💡 Enhancements 💡
-
k8sclusterreceiver
: Add additional attributes to node and pod entities (#35879)
Adds the following attributes to node and pod metadata/entities:k8s.pod.phase
: The phase of a Pod indicates where the Pod is in its lifecycle. E.g. 'Pending', 'Running'k8s.pod.status_reason
: A brief message indicating details about why the pod is in this state. E.g. 'Evicted'k8s.node.condition_*
: The condition of a node. e.g.k8s.node.condition_ready
. The value can betrue
,false
,unknown
.
-
awsxrayexporter
: merge in latest semantic conventions for awsxrayexporter. (#36894) -
receivercreator
: Add support for starting logs' collection based on provided k8s annotations' hints (#34427) -
opensearchexporter
: Add Sending Queue to enable persistent queue in case of upstream failure (#33919) -
libhoneyreceiver
: Implement log signal for libhoney receiver (#36693) -
ottl
: Add a new ottl trim function that trims leading and trailing characters from a string (default- whitespace). (#34100) -
exporter/prometheusremotewrite
: In preparation to re-introducing multiple workers, we're removing a data-race when batching timeseries. (#36601) -
redisstorageextension
: Move redis storage extension to alpha (#36778) -
logzioexporter
: Remove jaeger dbmodel dependency. (#36972) -
sigv4authextension
: Add support for endpoint based names for logs and traces (#36828) -
awsemfexporter
: Split EMF log to multiple log splits when buckets larger than 100. (#36771) -
sqlqueryreceiver
: Add instrumentation scope to SQL query receiver metrics and logs (#31028) -
statsdreceiver
: Add UDS support to statsdreceiver (#21385) -
tailsamplingprocessor
: Support hot sampling policy loading (#37014) -
cmd/telemetrygen
: Introduce support for generating histograms in telemetrygen (#36322) -
libhoneyreceiver
: Implement trace signal for libhoney receiver (#36693)
🧰 Bug fixes 🧰
-
receiver/azureeventhub
: Ensure that observed timestamp is set when unmarshaling logs. (#36861) -
internal/docker
: Fix image matching regular expression to properly match SHA256 strings. (#36239)
This affects thedocker_observer
extension. -
opampsupervisor
: Report an 'Applied' remote config status when an empty config is received. (#36682) -
k8sobjectsreceiver
: ensure thek8s.namespace.name
attribute is set for objects retrieved using thewatch
mode (#36352) -
mongodbatlasreceiver
: Update the mongoDB Atlas receiver to use the Default HTTP Transport that supports default proxy configuration (#36412) -
mysqlreceiver
: Avoid recording a value for the MysqlBufferPoolPages metric when out-of-bounds. (#35495)
When using compressed tables, Innodb_buffer_pool_pages_misc may report an out-of-bounds value.
See https://bugs.mysql.com/bug.php?id=59550 for context. -
pkg/ottl
: fix handling of nested maps within slices in theflatten
function (#36162) -
mysqlreceiver
: Divide large values directly in SQL queries to avoid int overflows (#35495)
API Changelog
💡 Enhancements 💡
pkg/ottl
: Change OTTL contexts to properly handleottl.Path
with context (#29017)
The OTTL contexts have a new optionEnablePathContextNames
to enable support for expressing a statement's context via path names in the statement
v0.116.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/kineticaexporter/
- exporter/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
🛑 Breaking changes 🛑
-
jsonlogencodingextension
: Change how logs are marshaled. Instead of marshaling just the first log, marshal all logs into a JSON array. (#34064) -
githubreceiver
: Update metric names to match VCS Metric Semantic Conventions and scraper key name. (#36714)- Change the
github
scraper key toscraper
- Add
vcs.repository.url.full
attribute - Change attribute
repository.name
tovcs.repository.name
- Change attribute
ref.name
tovcs.ref.head.name
- Change attribute
ref.type
tovcs.ref.head.type
- Change attribute
change.state
tovcs.change.state
- Add attribute
vcs.revision_delta.direction
withahead
andbehind
values - Change metric
vcs.repository.ref.revisions_ahead
tovcs.ref.revisions_delta
withvcs.revision_delta.direction=ahead
- Change metric
vcs.repository.ref.revisions_behind
tovcs.ref.revisions_delta
withvcs.revision_delta.direction=behind
- Change metric
vcs.repository.ref.count
tovcs.ref.count
- Change metric
vcs.repository.ref.time
tovcs.ref.time
- Add attribute
vcs.line_change.type
withadded
andremoved
values - Change metric
vcs.repository.ref.lines_added
tovcs.ref.lines_delta
withvcs.line_change.type=added
- Change metric
vcs.repository.ref.lines_removed
tovcs.ref.lines_delta
withvcs.line_change.type=removed
- Change metric
vcs.repository.contributor.count
tovcs.contributor.count
- Change metric
vcs.repository.change.time_open
tovcs.change.duration
withvcs.change.state=open
- Change metric
vcs.repository.change.time_to_approval
tovcs.change.time_to_approval
- Change metric
vcs.repository.change.time_to_merge
tovcs.change.time_to_merge
- Change metric
vcs.repository.change.count
tovcs.change.count
- Change the
-
processor/tailsampling
: Reverts #33671, allowing for composite policies to specify inverted clauses in conjunction with other policies. This is a change bringing the previous state into place, breaking users who rely on what was introduced as part of #33671. (#34085)
🚩 Deprecations 🚩
-
connector/routing
: Deprecatematch_once
parameter. (#29882) -
routingprocessor
: Deprecated in favor of the routing connector. (#36616) -
splunkhecexporter
: Addotel_attrs_to_hec_metadata/*
config fields to replacehec_metadata_to_otel_attrs/*
fields. (#35092)
otel_attrs_to_hec_metadata/*
config fields will replace thehec_metadata_to_otel_attrs/*
fields in a later release. -
kineticaexporter
: The kineticaexporter is now Unmaintained as it has no active code owners from the vendor (#36808)
🚀 New components 🚀
dorisexporter
: Mark the Doris exporter as Alpha. (#33479)libhoneyreceiver
: Introduce the scaffolding of a new component, libhoneyreceiver (#36693)
💡 Enhancements 💡
-
purefareceiver
: Implements support for scraping Pure Storage FlashArray with Purity version 6.6.11+ (#36251) -
azureeventhubreceiver
: support providing one or more time formats for timestamp parsing (#36650) -
googlecloudmonitoringreceiver
: Add metric-specific labels to googlecloudmonitoringreceiver component (#35711) -
awss3receiver
: Add support RFC3339 format for starttime and endtime (#36787) -
awsxrayexporter
: Generate url section in xray segment whennet.peer.name
is available (#35375) -
clickhouseexporter
: Exporter now sorts attribute maps' keys during INSERT, yielding better compression and predictable aggregates (#33634) -
datadogconnector
: Flip configstraces::compute_stats_by_span_kind
,traces::peer_tags_aggregation
andtraces::peer_service_aggregation
to true by default (#35969)
This enables Datadog APM stats on peer tags by default and is a backwards-compatible change. Read more on https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/. -
datadogexporter
: Flip configstraces::compute_stats_by_span_kind
,traces::peer_tags_aggregation
andtraces::peer_service_aggregation
to true by default (#35969)
This enables Datadog APM stats on peer tags by default and is a backwards-compatible change. Read more on https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/. -
elasticsearchexporter
: Map *.geo.location.{lat,lon} as geo_point field in OTel mode (#36565)
In OTel mapping mode, merge *.geo.location.{lat,lon} to *.geo.location such that they are stored as geo_point in Elasticsearch. -
fileexporter
: Add support for profiles signal. (#35978) -
pkg/ottl
: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. (#36821) -
githubreceiver
: Adds webhook skeleton to GitHub receiver to receive events from GitHub for tracing. (#27460)
This PR adds a skeleton for the GitHub receiver to receive events from GitHub
for tracing via a webhook. The trace portion of this receiver will run and
respond to GET requests for the health check only. -
kafkaexporter, kafkareceiver
: Add a new mechanism "AWS_MSK_IAM_OAUTHBEARER" for kafka exporter and kafka receiver. This mechanism use the AWS MSK IAM SASL Signer for Go https://github.com/aws/aws-msk-iam-sasl-signer-go. (#19747) -
loadbalancingexporter
: Adds a an optional configuration to the k8s resolver which returns hostnames instead of IPs for headless services pointing at statefulsets (#18412) -
mongodbatlasreceiver
: Adds additional metrics to the MongoDB Atlas receiver (#36525)
Adds a number of new default disabled metrics to the MongoDB Atlas receiver. These metrics are:- mongodbatlas.disk.partition.queue.depth
- mongodbatlas.disk.partition.throughput
- mongodbatlas.process.cache.ratio
-
s3exporter
: Upgrading to adopt aws sdk v2 (#36699) -
opampextension
: Use status subscription for fine granular component health reporting (#35856) -
pkg/pdatatest
: Add support for Profiles signal comparison. (#36232) -
receiver/prometheusremotewrite
: Parse labels from Prometheus Remote Write requests into Resource and Metric Attributes. (#35656)
Warning - The HTTP Server still doesn't pass metrics to the next consumer. The component is unusable for now. -
signaltometrics
: Add config validation and custom OTTL functions (#35930)
Adds config validation for the signal to metrics connector. Also introducesAdjustedCount
OTTL function. -
testbed
: Add batcher performance tests (#36206) -
tesbed
: add options for retry/storage for filelog sender (#36781)
🧰 Bug fixes 🧰
-
azuremonitorexporter
: fix bug to remove default config of endpoint which causes failing to parse endpoint correctly. (#36704) -
receiver/prometheusreceiver
: Metric adjuster no longer assumes that all metrics from a scrape come from the same resource (#36477) -
connector/datadog, exporter/datadog, pkg/datadog
: throw error if datadog API key contains invalid characters (#36509) -
parseutils
: Handle escaped quotes when parsing pairs using SplitString. (#36176) -
exporter/prometheusremotewrite
: Fix exemplar handling when the exemplar is an integer value. (#36657)
Send metrics with exemplars as integer values now are correctly handled. -
googlecloudmonitoringreceiver
: Fix "no validation found" error if workload is running on Google Cloud Platform (#36607) -
k8sattributesprocessor
: Override extracted k8s attributes if original value has been empty (#36373) -
k8sattributesreceiver
: Log any errors encountered during kube client initialisation (#35879)
This addresses an issue where the collector, due to an error encountered during the kubernetes client initialisation,
was reporting an 'unavailable' status via the health check extension without any further information to be found in the logs. -
opampextension
: Fix blocking agent shutdown due to unclosed channel (#36764) -
opampsupervisor
: avoid nil pointer access when reporting the last received remote config (#36850) -
postgresqlreceiver
: Update the postgresqlreceiver to handle new table schema for the bgwriter metrics in pg17+ (#36784) -
jaegerreceiver
: Remove ineffectual warning from jaegerreceiver (#35894) -
datadogexporter
: read response body on pushSketches to allow connection re-use (#36779) -
sumologicextension
: Skip likely zombie processes on Windows. (#36481)
API Changelog
🚩 Deprecations 🚩
routingprocessor
: Deprecated in favor of the routing connector. (#36616)
💡 Enhancements 💡
pkg/ottl
: Add theottl.ParserCollection
utility to help handling parsers for multiple OTTL contexts (#29017)
Theottl.ParserCollection
groups contexts'ottl.Parser
s, choosing the suitable one
to parse a given statement. It supports context inference using the given statements,
and allows prepending the context name to the statements' paths.
v0.115.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
🛑 Breaking changes 🛑
-
awsfirehosereceiver
: Follow receiver contract based on type of error (#5909) -
elasticsearchexporter
: Respectflush::bytes
in sync bulk indexer,flush::bytes
measures uncompressed size, change defaultbatcher::max_size_items
to0
(#36163)
Limit the bulk request size to roughlyflush::bytes
for sync bulk indexer. Sync bulk indexer is used whenbatcher::enabled
is either true or false. In order words, sync bulk indexer is not used when batcher config is undefined. Changeflush::bytes
to always measure in uncompressed bytes. Change defaultbatcher::max_size_items
to0
as bulk request size limit is now more effectively enforced byflush::bytes
. -
k8sattributesprocessor
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128)
Disable thek8sattr.fieldExtractConfigRegex.disallow
feature gate to get the old behavior. -
internal
: Remove stable gatecomponent.UseLocalHostAsDefaultHost
(#36589) -
cmd/opampsupervisor
: Update default logger output paths to stderr (#36072)
The default output paths for the opamp supervisor logger have been updated to stderr from [stdout, stderr]. -
opampsupervisor
: Enable strict unmarshalling of the OpAMP Supervisor config file. An error will now be returned if an invalid config key is set. (#35838)
🚩 Deprecations 🚩
postgresqlreceiver
: Minimal supported PostgreSQL version updated from 9.6 to 13.0 (#30923)
Aligning on the supported versions as can be seen in the PostgreSQL releases sectionexporter/prometheusremotewrite
: Changeexporter.prometheusremotewriteexporter.deprecateCreatedMetric
feature gate from Alpha to Beta version. (#35003)
Theexport_created_metric
configuration parameter is now ignored by default.
🚀 New components 🚀
signaltometricsconnector
: New component for generating metrics from raw signals using user defined OTTL expressions. (#35930)extension/cgroupruntime
: Initial implementation for cgroupruntime extension. (#30289)huaweicloudcesreceiver
: Introduce new receiver fetching data from huawei Cloud Eye Service. (#34953)netflowreceiver
: Introduce the netflow receiver (#32732)
💡 Enhancements 💡
-
datadogexporter
: Add a configurablereporter_period
parameter to the Datadog exporter’s host metadata configuration to allow users to specify the frequency at which host metadata is sent to Datadog. (#36450) -
awsemfexporter
: Add support for 1 second metric resolution in CloudWatch Embedded Metrics Format based on metric attributes (#29506) -
awsemfexporter
: Improvement unit conversion during EMF log translation (#35937) -
sumologicexporter
: adding new products for auto discovery (#35622) -
postgresqlreceiver
: Added new postgresql metrics to acheive parity with Telegraf (#36528) -
loadbalancingexporter
: Adding sending_queue, retry_on_failure and timeout settings to loadbalancing exporter configuration (#35378, #16826)
When switching to top-level sending_queue configuration - users should carefully review queue size
In some rare cases setting top-level queue size to n*queueSize might be not enough to prevent data loss -
pkg/stanza
: Introduce active file grouping mechanism. (#23787) -
receivercreator
: Add support for starting receivers/scrapers based on provided annotations' hints for metrics' collection (#34427) -
tailsamplingprocessor
: Adds decision cache for non-sampled trace IDs (#31583) -
cmd/opampsupervisor
: Support environment variable expansion in the OpAMP supervisor config. (#36269) -
pkg/ottl
: Move debug log toStatement.Execute
so that components using it instead ofStatementSequence
also get debug logs. (#36456) -
routingconnector
: Add abiilty to route by 'datapoint' context (#36523) -
signalfxreceiver
: Follow receiver contract based on type of error (#5909)
Use 503 error code for retryable and 400 error code for not-retryable errors instead of responding with a 500 unconditionally.
🧰 Bug fixes 🧰
-
cmd/opampsupervisor
: Do not log err if the last received doesn't exist (#36013) -
receiver/azureeventhub
: When using a storage extension, the component will call Close on the client during component shutdown. This fixes a bug that resulted in a file potentially remaining locked after component shutdown. (#36238) -
azuremonitorexporter
: Fixes an issue where the Azure Monitor exporter was not sending data to App Insights due to the Telemetry Channel not being flushed. (#35037) -
exporter/pulsarexporter
: Change configuration optionmap_connections_per_broker
, rename tomax_connections_per_broker
. (#36579) -
failoverconnector
: Resolves a bug that prevents proper recovery when disabling max retries (#36587) -
googlecloudpubsubexporter
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in the googlecloudpubsubexporter.
The goroutine leak was caused by the exporter not closing the underlying created gRPC client when using an insecure custom endpoint. -
processor/k8sattribute
: fixes parsing of k8s image names to support images with tags and digests. (#36131) -
clickhouseexporter
: Fix incorrect Resource Attributeservice.name
translation to ClickHouse ServiceName field for Logs Records (#36349) -
awsfirehosereceiver
: fix timestamp when ingesting logs from CloudWatch through firehose (#36122) -
pkg/ottl
: Allow indexing []int64, []float64, []bool, and []byte slices (#29441)
It should now be possible to index all slice types -
opencensusreceiver
: Do not report error message when OpenCensus receiver is shutdown cleanly. (#36622) -
loadbalancingexporter
: The k8sresolver in loadbalancingexporter was triggering exporter churn in the way the change event was handled. (#35658) -
vcenterreceiver
: The existing code did not honor TLS settings beyond 'insecure'. All TLS client config should now be honored. (#36482)
API Changelog
🛑 Breaking changes 🛑
pkg/datadog
: Refactor the API that provides metrics translator (#36474)
This is API change only and does not affect end users
v0.114.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
Unmaintained Components
These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.
- exporter/opensearchexporter/
- extension/observer/ecstaskobserver/
- receiver/jmxreceiver/
End User Changelog
v0.114.0
🛑 Breaking changes 🛑
datadogexporter
: Stop prefixinghttp_server_duration
,http_server_request_size
andhttp_server_response_size
withotelcol
(#36265)
These metrics can be from SDKs rather than collector. Stop prefixing them to be consistent with https://opentelemetry.io/docs/collector/internal-telemetry/#lists-of-internal-metricsotelarrowreceiver
: New admission control metrics are consistent across Arrow and OTLP data paths. (#36334)
otelcol_otelarrow_admission_in_flight_bytes
new, replacesotelcol_otel_arrow_receiver_in_flight_bytes
otelcol_otelarrow_admission_waiting_bytes
: new, describes waiting requests
otelcol_otel_arrow_receiver_in_flight_items
: removed
otelcol_otel_arrow_receiver_in_flight_requests
: removed
🚩 Deprecations 🚩
exporter/prometheusremotewrite
: Deprecate configuration optionexport_created metric
(#35003)
Disable the exporter.prometheusremotewriteexporter.deprecateCreatedMetric feature gate to temporarily re-enable the created metric.
💡 Enhancements 💡
datadogreceiver
: Add json handling for theapi/v2/series
endpoint in the datadogreceiver (#36079)googlemanagedprometheus
: AddCumulativeNormalization
config option to allow users to configure to specify whether to report normalized or un-normalized points. Defaults to normalized. (#36357)elasticsearchexporter
: Translatek8s.*.name
resource attributes in ECS mode (#36233)
Translatek8s.job.name
,k8s.cronjob.name
,k8s.statefulset.name
,k8s.replicaset.name
,k8s.daemonset.name
,k8s.container.name
tokubernetes.*.name
. Translatek8s.cluster.name
toorchestrator.cluster.name
.encodingextension
: Add support for profiles signal to encodingextension (#36008)k8sattributesprocessor
: Add support for profiles signal (#35983)cmd/githubgen
: Adds a flag to skip checking GitHub organization membership for CODEOWNERS (#36263)container
: Set non root group permissions for container image (#35179)k8sclusterreceiver
: Add support for limiting observed resources to a specific namespace. (#9401)
This change allows to make use of this receiver withRoles
/RoleBindings
, as opposed to giving the collector cluster-wide read access.opampextension
: Add content type to opamp extension when reporting EffectiveConfig (#36327)
Add EffectiveConfig.ConfigMap.ConfigMap[*].ContentType as "text/yaml" to the opamp extension when reporting EffectiveConfig.otelarrowreceiver
: Admission control improvements (LIFO); admission.waiter_limit is deprecated, replaced with admission.waiting_limit_mib. (#36074)otelarrowreceiver
: Add a new LIFO-based bounded queue. (#36074)connector/otlpjson
: Throw error on invalid otlp payload. (#35738, #35739)prometheusremotewriteexporter
: reduce allocation when serializing protobuf (#35185)resourcedetectionprocessor
: Introduce support for Profiles signal type. (#35980)routingconnector
: Add ability to route by metric context (#36236)routingconnector
: Add ability to route by span context (#36276)processor/spanprocessor
: Add a new configuration option to keep the original span name when extracting attributes from the span name. (#36120)splunkenterprisereceiver
: Add new metrics for Splunk Enterprise dispatch artifacts caches (#36181)
🧰 Bug fixes 🧰
pkg/stanza
: Ensure that time parsing happens before entry is sent to downstream operators (#36213)prometheusexporter
: Fixes a race condition between the exporter start and shutdown functions. (#36139)processor/k8sattributes
: Block when starting until the metadata have been synced, to fix that some data couldn't be associated with metadata when the agent was just started. (#32556)exporter/loadbalancing
: Shutdown exporters during collector shutdown. This fixes a memory leak. (#36024)pkg/ottl
: Respect thedepth
option when flattening slices usingflatten
(#36161)
Thedepth
option is also now required to be at least1
.prometheusexporter
: reject metrics whose types have changed, use pre-existing descriptions when help strings change (#28617)pkg/stanza
: Synchronous handling of entries passed from the log emitter to the receiver adapter (#35453)prometheusreceiver
: Fix prometheus receiver to support static scrape config with Target Allocator (#36062)
API Changelog
v0.114.0
🛑 Breaking changes 🛑
pkg/stanza
: Changed signature ofemit.Callback
function inpkg/stanza/fileconsumer/emit
package by introducingemit.Token
struct that encapsulates the token's body and attributes. (#36260)
💡 Enhancements 💡
pkg/datadog
: Expose an APITranslatorFromConfig
that creates a new metrics translator (#36300)
This is only code refactor and has no user-facing impact
v0.113.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
v0.113.0
🛑 Breaking changes 🛑
-
sapmreceiver
: Remove the deprecated access_token_passthrough from SAPM receiver. (#35972)
Please useinclude_metadata
instead with the following config option applied to the batch processor:
batch:
metadata_keys: [X-Sf-Token] -
pkg/ottl
: Promoteprocessor.transform.ConvertBetweenSumAndGaugeMetricContext
feature gate to Stable (#36216)
This gate can no longer be disabled. Theconvert_sum_to_gauge
andconvert_gauge_to_sum
may now only be used with themetric
context.
🚩 Deprecations 🚩
opensearchexporter
: The OpenSearch exporter is now marked as unmaintained and will be removed in 6 months. (#35781)
Any codeowners can reinstate the component by submitting a PR to revert the change or commenting on #35781.
🚀 New components 🚀
dorisexporter
: metrics implementation (#33479)extensions/observer/cfgardenobserver
: Implemented the observer, the second PR in the 3 PR process for new components (#33618)
💡 Enhancements 💡
-
splunkenterprisereceiver
: Add telemetry around the Splunk Enterprise kv-store. (#35445) -
journaldreceiver
: adds ability to parse journald's MESSAGE field as a string if desired (#36005) -
journaldreceiver
: allows querying a journald namespace (#36031) -
hostmetricsreceiver
: Add the system.uptime metric in the hostmetrics receiver (#31627)
This metric is provided by the newsystem
scraper. -
azuredataexplorerexporter
: Add new configuration optionuse_default_auth
to enable default authentication for Azure Data Explorer. This option allows users to leverage workload identity for authentication. (#33667) -
awss3receiver
: Mark the AWS S3 receiver as Alpha. (#30750) -
opampsupervisor
: Makes the Supervisor's OpAmp server port configurable with 'agent::opamp_server_port'. (#36001) -
datadogreceiver
: Follow receiver contract based on type of error (#5909) -
hostmetrics
: Adjust scraper creation to make it so the scraper name is reported with hostmetrics scraper errors. (#35814) -
pkg/translator/prometheusremotewrite
:FromMetricsV2
now transforms attributes into labels. (#33661) -
ntpreceiver
: Move NTP receiver to alpha (#36152) -
opampsupervisor
: Supervisor waits for configurable healthchecks to report remote config status. (#21079) -
otelarrowreceiver
: Enable unlimited admission control when request_limit_mib is set to 0. (#36074) -
pkg/ottl
: Add SliceToMap function (#35256) -
receiver/prometheusremotewrite
: Implement body unmarshaling for Prometheus Remote Write requests (#35624)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. -
receiver/prometheusremotewrite
: Implement Content-Type negotiation for Prometheus Remote Write requests (#35565)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. -
otlpjsonfilereceiver
: Add support for profiles signal (#35977) -
journaldreceiver
: Restart journalctl if it exits unexpectedly (#35635) -
routingconnector
: Add ability to route by request metadata. (#19738) -
exporter/signalfx
: Enabling retrying for dimension properties update without tags in case of 400 response error. (#36044)
Property and tag updates are done using the same API call. After this change, the exporter will retry once to sync
properties in case of 400 response error. -
signalfxexporter
: Add more default metrics related to Kubernetes cronjobs, jobs, statefulset, and hpa (#36026) -
simpleprometheusreceiver
: Support to setjob_name
in config (#31502) -
solacereceiver
: Add support to the Solace Receiver to convert the newMove to Dead Message Queue
and newDelete
spans generated by Solace Event Broker to OTLP. (#36071) -
connector/routing
: Add ability to route log records individually using OTTL log record context. (#19738) -
splunkenterprisereceiver
: Add new metrics for Splunk Enterprise dispatch artifacts (#35950)
🧰 Bug fixes 🧰
-
awsfirehosereceiver
: make otlp_v1 a valid record type (#35750, #36125) -
datadogreceiver
: Return a json reponse instead of "OK" when a trace is received with a newer protocol version. (#35705) -
datadogreceiver
: Changes response message for/api/v1/check_run
202 response to be JSON and on par with Datadog API spec (#36027) -
receiver/windowseventlog
: Fix panic when rendering long event messages. (#36179) -
hostmetricsreceiver
: Do not set the default value of HOST_PROC_MOUNTINFO to respect root_path (#35990) -
prometheusexporter
: Fixes an issue where the prometheus exporter would not shut down the server when the collector was stopped. (#35464) -
k8sobserver
: Enable observation of ingress objects if theObserveIngresses
config option is set to true (#35324) -
pkg/stanza
: Fixed bug causing Operators with DropOnErrorQuiet to send log entries to the next operator. (#35010)
This issue was introduced by a bug fix meant to ensure Silent Operators are not logging errors (#35010). With this fix,
this side effect bug has been resolved. -
otelarrowreceiver
: Simplify receiver admission control logic (#36074) -
otelarrowreceiver
: Avoid breaking telemetry when admission control fails in OTLP handlers. (#36074) -
dbstorage
: Add postgresql support (#35692) -
splunkhecreceiver
: Avoid a memory leak by changing how we record obsreports for logs and metrics. (#35294) -
receiver/filelog
: fix record counting with header (#35869) -
connector/routing
: Fix detection of duplicate conditions in routing table. (#35962) -
solacereceiver
: The Solace receiver may unexpectedly terminate on reporting traces when used with a memory limiter processor and under high load (#35958) -
pkg/stanza/operator
: Retain Operator should propagate the severity field (#35832)
The retain operator should propagate the severity field like it does with timestamps. -
pkg/stanza
: Handle error of callback function ofParserOperator.ProcessWithCallback
(#35769)
ProcessWithCallback
ofParserOperator
first calls theParseWith
method
which properly handles errors withHandleEntryError
.
Then the callback function is called and its returned error should also
be handled by theHandleEntryError
ensuring a consistent experience. -
webhookeventreceiver
: Pass the consumer error to EndLogsOp (#35844)
API Changelog
v0.113.0
🛑 Breaking changes 🛑
testbed
:scenarios.createConfigYaml()
andutils.CreateConfigYaml()
functions now take processor configs as a struct slice argument instead ofmap[string]string
. (#33003)- This is to preserve processor order.
ProcessorNameAndConfigBody
is the newly created struct.
- This is to preserve processor order.
💡 Enhancements 💡
receiver/prometheusremotewrite
: Implement body unmarshaling for Prometheus Remote Write requests (#35624)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.
v0.112.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
elasticsearchexporter
: Enable gzip compression by default (#35865)
To disable compression, set configcompression
tonone
.elasticsearchexporter
: Set body.* for log body in OTel mode (#35771)
Log record body in OTel mapping mode will be stored in body.text, body.structured, body.flattened based on body value type and presence of event.name attributeprocessor/metricsgeneration
: Remove "experimental_" prefix from metrics generator processor name. (#35426)
🚩 Deprecations 🚩
sapmreceiver
: Deprecate SAPM receiver (#32125)elasticsearchexporter
: Deprecate retry::max_requests in favor of retry::max_retries (#32344)
retry::max_retries will be exactly retry::max_requests - 1
🚀 New components 🚀
confmap/aesprovider
: Initial aes encryption provider. Allows configurations to decrypt secrets using AES encryption. (#35550)systemdreceiver
: Introduce the scaffolding of a new component, systemdreceiver (#33532)ntpreceiver
: Introduce new receiver reporting the offset between the local machine and a NTP server. (#34375)tlscheckreceiver
: Add TLS Check Receiver component to monitor x.509 certificate expiry (#35423)
💡 Enhancements 💡
-
awsfirehosereceiver
: Add support for CloudWatch logs (#35077) -
awsfirehosereceiver
: added OTLP v1 support to Firehose receiver (#34982) -
awss3receiver
: Add support for monitoring the progress of ingesting data from an S3 bucket via OpAMP custom messages. (#30750) -
azureeventshubreceiver
: Updates the Azure Event Hub receiver to use the new Resource Logs translator. (#35357) -
cloudflarereceiver
: Respond 503 on non-permanent and 400 on permanent errors (#35642) -
elasticsearchexporter
: Add hint in error logs for TSDB version_conflict_engine_exception error (#35546) -
pkg/ottl
: Add ConvertAttributesToElementsXML Converter (#35328) -
logdedupprocessor
: Add acondition
field to the Log DeDuplication Processor. (#35440) -
opampextension
: Support using auth extensions for authenticating with opamp servers (#35507) -
azureblobreceiver
: adds support for using azidentity default auth, enabling the use of Azure Managed Identities, e.g. Workload Identities on AKS (#35636)
This change allows to use authentication type "default", which makes the receiver use azidentity default Credentials,
which automatically picks up, identities assigned to e.g. a container or a VirtualMachine -
elasticsearchexporter
: Introduce an experimental bodymap mapping mode for logs (#35444) -
googlecloudexporter
: Google Cloud exporter is marked as mutating. (#35366) -
googlemanagedprometheusexporter
: GMP exporter is marked as mutating. (#35366) -
k8sobserver
: Emit endpoint per Pod's container (#35491) -
mongodbreceiver
: Add support for MongoDB direct connection (#35427) -
exporter/clickhouse
: Add the ability to override default table names for all metric types. (#34225)
'metrics_table_name' of the clickhouse exporter config is deprecated and newly introduced parameter 'metrics_tables' should be used instead. -
metricsgenerationprocessor
: Introduce functionality to only do metric calculations on data points whose attributes match (#35425)
This functionality can be enabled by themetricsgeneration.MatchAttributes
feature gate, which is disabled by default. -
chronyreceiver
: Move chronyreceiver to beta (#35913) -
opampextension
: ImplementReportsHealth
capability in OpAMP extension (#35433) -
opampextension
: Report OS description semantic convention (os.description
) as a part of non-identifying agent description. (#35555) -
otelarrowexporter
: Adjust defaults from https://opentelemetry.io/blog/2024/otel-arrow-production/ experiments. (#35477) -
pkg/ottl
: Parsing invalid statements and conditions now prints all errors instead of just the first one found. (#35728) -
pkg/ottl
: Add ParseSimplifiedXML Converter (#35421) -
receiver/prometheusremotewrite
: Add HTTP Server to handler Prometheus Remote Write requests (#35535)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. -
rabbitmqexporter
: Allow to configure the name of the AMQP connection in the rabbitmqexporter (#34681) -
routingconnector
: Allow routing based on OTTL Conditions (#35731)
Each route must contain either a statement or a condition. -
sapmreceiver
: Respond 503 on non-permanent and 400 on permanent errors (#35300) -
opampsupervisor
: Allow collector logs to passthrough to supervisor output to facilitate running in a containerized environment. (#35473) -
hostmetricsreceiver
: Use HOST_PROC_MOUNTINFO as part of configuration instead of environment variable (#35504) -
pkg/ottl
: Add ConvertTextToElements Converter (#35364)
🧰 Bug fixes 🧰
-
metricstransform
: The previously removed functionality of aggregating against an empty label set is restored. (#34430) -
datadogreceiver
: UseCheck
name from Service Check structure as metric name rather than hardcoded stringservice_check
(#35718) -
azuredataexplorerexporter
: Fix compression type for Azure Data Explorer exporter by adding the compression type in ingestion properties. (#35353) -
telemetrygen
: ensure validate is called (#35745) -
deltatocumulative
: fix meter panic on startup (#35685)
properly constructs the TelemetryBuilder, so it does not panic on startup, rendering the entire component unusable -
elasticsearchexporter
: Log and drop invalid metrics instead of returning error to avoid upstream retries (#35740) -
elasticsearchexporter
: Preserve attribute names and metric names on prefix conflict in OTel mapping mode (#35651)
e.g. if there are attributes "a" and "a.b", they should be sent to Elasticsearch as is, instead of "a.value" and "a.b", in OTel mapping mode -
elasticsearchexporter
: Make OTel mapping mode send to data streams only (#35839)
This prevents auto creating regular indices in OTel mapping mode due to a race condition in Elasticsearch where otel-data index templates are not ready. -
elasticsearchexporter
: Sanitize datastream routing fields (#34285)
Sanitize the dataset and namespace fields according to https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html. -
oidcauthextension
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in oidcauthextension. The goroutine leak was caused by the oidcauthextension not closing the idle connections in the client and transport. -
filelogreceiver
: Supportsadd_metadata_from_filepath
for Windows filepaths (#35558) -
filelogreceiver
: Suppress errors on EBADF when unlocking files. (#35706)
This error is harmless and happens regularly when delete_after_read is set. This is because we acquire the lock right at the start of the ReadToEnd function and then defer the unlock, but that function also performs the delete. So, by the time it returns and the defer runs the file descriptor is no longer valid. -
kafkareceiver
: Fixes issue causing kafkareceiver to block during Shutdown(). (#30789) -
hostmetrics receiver
: Fix duplicate filesystem metrics (#34635, #34512)
The hostmetrics exposes duplicate metrics of identical mounts exposed in namespaces. The duplication causes errors in exporters that are sensitive to duplicate metrics. We can safely drop the duplicates as the metrics should be exactly the same. -
pkg/translator/prometheusremotewrite
: Fix metric comparison func in prom translation layer (#35741) -
pkg/ottl
: Allow indexing string slice type (#29441) -
mysqlreceiver
: Add replica metric support for versions of MySQL earlier than 8.0.22. (#35217) -
stanza/input/windows
: Close remote session while resubscribing (#35577) -
telemetrygen
: Enable the--otlp-insecure-skip-verify
flag (#35735) -
receiver/windowseventlog
: Errors returned when passing data downstream will now be propagated correctly. (#35461) -
datadogreceiver
: Changes response message for/api/v1/series
and/api/v2/series
202 response to be JSON and on par with Datadog API spec (#35743)
API Changelog
🛑 Breaking changes 🛑
pkg/translator/jaeger
: Remove error from method signature as it always returns nil (#35560)
🚀 New components 🚀
pkg/status
: Refactors the extension/healthcheckv2extension/internal/status into pkg/status (#34692)
💡 Enhancements 💡
pkg/translator/prometheusremotewrite
: add FromMetricsV2 (#33661)
The public function is partially implemented and not ready for usereceiver/prometheusremotewrite
: Add HTTP Server to handler Prometheus Remote Write requests (#35535)
Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.
v0.111.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
🆕 The binary release adds a new OTLP-only distro. Feel free to leave us feedback on this new distro on the opentelemetry-collector-releases issue tracker.
logging
exporter. See open-telemetry/opentelemetry-collector#11337 for instructions on how to migrate to the debug
exporter.
End User Changelog
🛑 Breaking changes 🛑
instanaexporter
: Remove deprecated instanaexporter (#35367)
Use theotlp
exporter instead as explained in IBM's documentation.elasticsearchexporter
: Drop cumulative temporality histogram and exponential histogram (#35442)
Cumulative temporality histogram and exponential histogram are not supported by Elasticsearch. Use cumulativetodeltaprocessor to convert cumulative temporality to delta temporality.elasticsearchexporter
: Implement receiver-based routing under *_dynamic_index config (#34246)config
: Move component.UseLocalHostAsDefaultHost feature gate to stable. (#35569)metricsgenerationprocessor
: Generate metrics even when the second metric's value is 0 (#35533)signalfxexporter
: Do not exclude the metriccontainer.memory.working_set
(#35475)sqlqueryreceiver
: Fail if value for log column in result set is missing, collect errors (#35068)windowseventlogreceiver
: The 'raw' flag no longer suppresses rendering info. (#34720)
Previously, this flag controlled two behaviors simultaneously:- Whether or not the body of the log record was an XML string or structured object.
- Whether or not rendering info was resolved.
A separate 'suppress_rendering_info' option now controls rendering info resolution.
This is considered a breaking change because users setting only the 'raw' flag without also setting the
new 'suppress_rendering_info' flag may see a performance decrease along with more detailed events.
🚩 Deprecations 🚩
sapmreceiver
:access_token_passthrough
is deprecated (#35330)- "
access_token_passthrough
is deprecated." - "Please enable include_metadata in the receiver and add the following config to the batch processor:"
batch: metadata_keys: [X-Sf-Token]
- "
🚀 New components 🚀
receiver/prometheusremotewrite
: Add a new receiver for Prometheus Remote Write.
(#33782)
💡 Enhancements 💡
-
sumconnector
: adds connector and summing logic along with tests (#32669) -
receivercreator
: Validate endpoint's configuration before starting receivers (#33145) -
otelarrowreceiver
: Add admission control in the otelarrow receiver's standard otlp data path.
Also moves admission control config options to a separate block.
arrow.admission_limit_mib -> admission.request_limit_mib
arrow.waiter_limit -> admission.waiter_limit
(#35021) -
clickhouseexporter
: Upgrading stability for traces to beta (#35186)
The trace exporter has proven to be stable for production deployments.
Trace configuration is unlikely to receive any significant changes. -
clickhouseexporter
: Updated the default trace table (#34245)
Reduced data types, improved partitioning and time range queries -
opampsupervisor
: Add configurable logging for the supervisor. (#35466) -
datadogreceiver
: Move receiver's metrics stability to alpha. (#18278) -
datadogreceiver
: Add container id from v0.5 request header (#35345) -
elasticsearchexporter
: Implement elasticsearch.mapping.hints attribute handling for data points in OTel mapping mode (#35479)
elasticsearch.mapping.hints takes a slice of strings._doc_count
enables emitting_doc_count
for the document.aggregate_metric_double
causes histogram or exponential histogram to be emitted as aggregate_metric_double. -
elasticsearchexporter
: Revert TSDB array dimension workaround for metrics OTel mode (#35291)
Remove the workaround to stringify array dimensions as the limitation has been lifted in Elasticsearch v8.16.0. -
receiver/statsd
: Add support for aggregating on Host/IP.
(#23809) -
opampsupervisor
: Skip executing the collector if no config is provided (#33680) -
googlecloudmonitoringreceiver
: Move receiver's stability to alpha. (#33762) -
hostmetricsreceiver
: Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435) -
kubeletstats
: Introduce feature gate for deprecation of container.cpu.utilization, k8s.pod.cpu.utilization and k8s.node.cpu.utilization metrics (#35139) -
opampsupervisor
: Make supervisor runnable as a Windows Service. (#34774) -
opampsupervisor
: Add config option for setting the timeout for the initial bootstrap information retrieval from the agent (#34996) -
pkg/ottl
: Add InsertXML Converter (#35436) -
pkg/ottl
: Add GetXML Converter (#35462) -
pkg/ottl
: Add ToKeyValueString Converter (#35334) -
pkg/ottl
: Add RemoveXML Converter (#35301) -
geoipprocessor
: No longer return an error when geo metadata is not found by a provider. (#35047) -
sqlserverreceiver
: Add computer name resource attribute to relevant metrics (#35040) -
windowseventlogreceiver
: Add 'suppress_rendering_info' option. (#34720)
When this flag is enabled, the receiver will not attempt to resolve rendering info. This can improve performance
but comes at a cost of losing some details in the event log. -
windowseventlogreceiver
: Move artificial "remote_server" field to 'attributes["server.address"]'. (#34720)
🧰 Bug fixes 🧰
webhookeventreceiver
: Fixed a bug where request bodies containing newline characters caused the results to split into multiple log entries (#35028)opampsupervisor
: Only use TLS config when connecting to OpAMP server if usingwss
orhttps
protocols. (#35283)metricsgenerationprocessor
: Allow metric calculations to be done on sum metrics (#35428)sqlqueryreceiver
: Fix reprocessing of logs when tracking_column type is timestamp (#35194)windowseventlogreceiver
: While collecting from a remote windows host, the stanza operator will no longer log "subscription handle is already open" constantly during successful collection. (#35520)windowseventlogreceiver
: If collecting from a remote host, the receiver will stop collecting if the host restarts. This change resubscribes when the host restarts. (#35175)
API Changelog
💡 Enhancements 💡
opampsupervisor
: Pass config structure instead of file path when using NewSupervisor function (#34379)