Releases: open-telemetry/opentelemetry-collector-contrib
v0.121.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🛑 Breaking changes 🛑
-
telemetrygen
: Update attribute of generated traces fromnet.peer.ip
tonet.sock.peer.addr
to bring it in line with new semconv. (#38043) -
awss3exporter
: Replaced thes3_partition
option withs3_partition_format
to provide more flexibility to users. (#37915, #37503)
Users can provide custom file partitions using strftime formatting.
The default value ofyear=%Y/month=%m/day=%d/hour=%H/minute=%M
matches the older pattern (withs3_partition: minute
)If users do not provide a value for
s3_prefix
, the exporter will not create a/
folder in the bucket. -
elasticsearchexporter
: drop support for metrics for none, raw, and bodymap mapping modes (#37928)
Metrics support is in development, and was added for "ecs" and "otel" mapping modes.
Support was unintentionally added for the other mapping modes, defaulting to the same
behaviour as "ecs" mode. While metrics support is still in development, drop support
from these mapping modes and require users to use the intended mapping modes. -
awscontainerinsightreceiver
: Remove high cardinality attributeTimestamp
from metrics generated byawscontainerinsightreceiver
(#35861) -
failoverconnector
: Refactors the failover logic and changes the retry mechanism to sample data points (#38064) -
processor/k8sattributes
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128) -
signalfxexporter
: Remove the deprecated configuration optiontranslation_rules
(#35332)
Please use processors to handle desired metric transformations instead. Find migration guidance in the
translation rules migration guide. -
signaltometricsconnector
:get
OTTL function is removed and expressions are now parsed usingParseValueExpression
(#38098)
🚩 Deprecations 🚩
elasticsearchexporter
: Deprecatebatcher::min_size_items
andbatcher::max_size_items
in favor ofbatcher::min_size
andbatcher::max_size
. (#38243)prometheusreceiver
: Deprecate metric start time adjustment in the prometheus receiver. It is being replaced by the metricstarttime processor. (#37186)
Start time adjustment is still enabled by default. To disable it, enable the | receiver.prometheusreceiver.RemoveStartTimeAdjustment feature gate.
🚀 New components 🚀
windowsservicereceiver
: Adding a wireframe for a new receiver: windowsservicereceiver (#31377)azureblobexporter
: Add new exporter for sending telemetry to Azure Storage Blob (#35717)kafkatopicsobserver
: Adding implementation and tests of the component's logic. (#37665)
💡 Enhancements 💡
-
coralogixexporter
: Add support for profiles to the Coralogix exporter. (#38011)
This change adds support for profiles to the Coralogix exporter.
It allows users to export profiles to Coralogix. -
coralogixexporter
: Add new batching capabilities to the Coralogix exporter. (#38081)
This change adds a new batching capabilities to the Coralogix exporter.
This change is triggered by open-telemetry/opentelemetry-collector#8122.The new batching capabilities are disabled by default.
To enable them, you need to set the following configuration:exporters: coralogix: batcher: enabled: true # Enable batching flush_timeout: 3s # Flush timeout min_size_items: 8888 # Minimum number of items to flush max_size_items: 10000 # Maximum number of items to batch
-
awsfirehosereceiver
: Addcloud.provider
,aws.log.group.names
andaws.log.stream.names
resource attributes to logs and set scope name and version of logs and metrics ingested by awsfirehosereceiver. (#37968) -
googlecloudpubsubexporter
: Add support for exporting ordered messages to GCP Pub/Sub (#32850) -
prometheusremotewriteexproter
: Adds additional metrics to the Prometheus Remote Write Exporter. The new metrics are: -
otelcol_exporter_prometheusremotewrite_sent_batches
: The total number of batches sent to the remote write endpoint. -
otelcol_exporter_prometheusremotewrite_consumers
: The total number of consumers that are currently sending data to the remote write endpoint.
(#37912) -
aesprovider
: Promote to alpha stability (#38252) -
azuretranslator
: Map application-defined properties for trace signals (#35402) -
clickhouseexporter
: Add client info to queries (#34915, #37146)
This change adds client product info to the system.query_log for more insight on where queries originate -
telemetrygen
: Support--service
for all signal types, rather than just traces (#38044) -
coralogixexporter
: Partial success response from Coralogix (#38022)
Adds the ability to log partial success responses from Coralogix when using the Coralogix exporter. -
processor/resourcedetection
: Introduce retry logic for failed resource detection. (#34761) -
dorisexporter
: add new config: log_response, label_prefix, headers, log_progress_interval (#38162) -
dorisexporter
: optimize schema: add 'service_instance_id', add materialized views, add trace_graph table and trace_graph job. (#38229) -
pkg/ottl
: Support dynamic indexing of math expressions in maps and slices (#37644) -
elasticsearchexporter
: Add_metric_names_hash
field to metric documents inotel
mode to avoid metric rejections (#37511) -
envoyalsreceiver
: Markenvoyalsreceiver
as an alpha receiver. (#36464) -
envoyalsreceiver
: Add node and log identifier resource attributes (#37800) -
receiver/sqlquery
: Add support for SapASE (sybase) database connections (#36328) -
awsfirehosereceiver
: Add support for encoding extensions (#37113)
Addsencoding
config setting, and deprecates therecord_type
setting. -
googlecloudexporter
: Updatedopentelemetry-operations-go
to v0.51.0 (#38116)
The new release ofopentelemetry-operations-go
will construct a more accurate default User Agent for its requests
by using acomponent.BuildInfo
. This should have no user-facing effect. -
iisreceiver
: Added state and uptime metrics for application pools (#34924) -
pkg/stanza
: Add entry's timestamp and attributes to errors logs from log transformers processors (#37285)
When a log transformer processor fails to process an log entry it will include entry's timestamp and attributes in its own logs.
With this information the user can more easily identify the log file and find the entry that's having issues. -
kafkareceiver
: Add error backoff configuration to kafka receiver which allows to wait and retry a failed message when the next consumer returns some errors. (#37009) -
receiver/kafkametricsreceiver
: Addrefresh_frequency
config tokafkametricsreceiver
, to configure custom duration for cluster metadata refresh (#37896)- Helps fine tuning the refresh_frequency, and enables custom cluster metadata refresh intervals
- Default refresh_frequency is set 10 minutes from Sarama library defaults
-
processor/resourcedetection
: Add k8s.cluster.uid to kubeadm detector (#38207) -
elasticsearchexporter
: Support specifying mapping mode via client metadata (#36092)
Add configmapping::allowed_modes
to restrict mapping modes configurable from client metadata. -
metricstarttimeprocessor
: add true_reset_point strategy for setting the start timestamp of cumulative points. (#37186)
The implementation is copied from the Prometheus receiver. -
mongodbreceiver
: Added mongodb replica metrics and routing logic for multiple mongodb instances (#37517) -
netflowreceiver
: Promote the NetFlow Receiver to alpha stability (#38255) -
telemetrygen
: Add support foraggregation-temporality
flag in telemetrygen. Supported values (delta or cumulative) (#38073) -
cmd/opampsupervisor
: Allow configuring Collector process execution via environment variables, custom config files and additional arguments (#24324) -
pkg/ottl
: Addevent_index
to the available paths of the span event context (#35778) -
pkg/ottl
: Introduce Weekday() converter function (#38126) -
prometheusreceiver
: Make use of creation timestamp from prometheus (#36473) -
receiver/prometheusremotewrite
: Add value and timestamp handling in the Prometheus Remote Write receiver by using SetDoubleValue and SetTimestamp (#37277) -
cloudflarereceiver
: Ingest all attributes by default when attributes map is empty (#37720) -
processor/redaction
: Introduce 'blocked_key_patterns' parameter (#35830) -
opampextension
: Support retrieval of available components via the OpAMP extension. (#37246) -
opampsupervisor
: Support retrieval of available components via the OpAMP supervisor. (#37247) -
processor/resourcedetection
: Add a feature flag to allow the processor (and collector) to fail if resource detection fails (#37961)
This feature can be enabled via the following feature gate
--feature-gates=processor.resourcedetection.propagateerrors
-
awss3exporter
: Addedacl
option (#37935) -
confmap/provider/s3
: Promote to alpha stability (#38227) -
secretsmanagerprovider
: Promote to alpha stability (#38251) -
receiver/sqlserverreceiver
: Addserver.address
andserver.port
resource attributes to SQL server receiver. (#35183)
The new resource attributes are added to the SQL server receiver to distinguish metrics coming from different SQL server instances.server.address
: The address of the SQL server host, disabled by default.- `server....
v0.120.1
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🧰 Bug fixes 🧰
receiver/prometheus
: Fix Collector failing to start up if Prometheus receiver is present in config without 'fallback_scrape_protocol'. (#38018)
v0.120.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🛑 Breaking changes 🛑
receiver/prometheus
: Prometheus receiver now uses scrapers in Prometheus 3.0. (#36873)
There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/.all
: Added support for go1.24, bumped minimum version to 1.23 (#37875)elasticsearchexporter
: Use go-elasticsearch/v8, require minimum version of ES 7.17.x or 8.x (#32454)elasticsearchexporter
: Remove dedot config. ECS mode now always dedots, no others dedot at all. (#33772)activedirectorydsreceiver
: Fixed typo in the attributedistingushed_names
, renaming it todistinguished_names
. (#37606)githubreceiver
: Therequired_header
configuration option for the trace receiver has been changed torequired_headers
. (#37578)receiver/hostmetrics
: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate (#34763)tailsamplingprocessor
: Fix the decision timer metric to capture longer latencies beyond 50ms. (#37722)
This changes the unit of the decision timer metric from microseconds to milliseconds.routingconnector
: Removematch_once
configuration parameter. (#36824)
🚩 Deprecations 🚩
opencensusexporter
: Deprecate the OpenCensus exporter (#36791)
Migrate to use the OTLP exporter moving forward.opencensusreceiver
: Deprecate the OpenCensus receiver (#36791)
Migrate to use the OTLP receiver moving forward.
🚀 New components 🚀
bmchelixexporter
: Mark the BMC Helix exporter as Alpha. (#36773)bmchelixexporter
: metrics implementation (#36773)kafkatopicsobserver
: Adding new kafka topics observer extension (#37665)googlecloudlogentryencodingextension
: Introduce the scaffolding of a new component, googlecloudlogentryencodingextension (#37531)
💡 Enhancements 💡
-
elasticsearchexporter
: Syncs support for compression level on elasticsearch exporter with confighttp. The default compression level is 1 if not set. (#37260) -
processor/transformprocessor
: Add support for global conditions and error mode overrides. (#29017)
Global conditions are now available for context-inferred structured configurations, allowing the use of fully
qualified paths. Additionally, a new configuration key callederror_mode
has been added to the context statements group.
This key determines how the processor reacts to errors that occur while processing that specific group of statements.
When provided, it overrides the top-level error mode, offering more granular control over error handling. -
pkg/stanza
: Allow users to configure initial buffer size (#37786) -
vcenterreceiver
: Adds three more vCenter virtual machine performance metrics (#37488) -
k8sclusterreceiver
: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. (#37580)- Adds the following attributes to k8s.namespace entity:
- k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
- k8s.namespace.creation_timestamp: The time when the namespace object was created.
- Adds the following attributes to container entity:
- container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
- Adds the following attributes to k8s.namespace entity:
-
splunkenterprisereceiver
: Added a newsplunk.health
metric. (#36695) -
pkg/ottl
: Introduce ToLowerCase converter function (#32942) -
pkg/ottl
: Introduce ToSnakeCase converter function (#32942) -
pkg/ottl
: Introduce ToUpperCase converter function (#32942) -
datadogreceiver
: Implement support for span links (#37449) -
resourcedetectionprocessor
: add the Dynatrace detector to the resource detection processor (#37577) -
elasticsearchexporter
: Add profiles support to elasticsearch exporter (#37567) -
googlecloudmonitoringreceiver
: support use monitoring filters to filter metrics (#36898) -
awsfirehosereceiver
: Refactor unmarshallers to implement pdata unmarshaler interfaces (#37361) -
githubreceiver
: add support for GitHub Actions workflow run events using deterministic Trace and Root Span IDs. (#37578) -
pkg/translator/jaeger/internal/jaeger
: Remove jaeger model/converter/thrift/jaeger dependency (#37820) -
pkg/translator/zipkin/internal/zipkin
: Remove jaeger model/converter/thrift/zipkin dependency (#37795) -
extension/oauth2clientauth
: Addexpiry_buffer
config tooauth2client
extension, allowing token refresh before expiration with a default buffer of 5 minutes. (#35148)- Prevents authentication failures by refreshing the token early.
- The default expiry buffer is set to 5 minutes, and users can adjust it as needed.
-
datadogexporter
: Add a gauge metric datadog.otel.gateway which is 1 if the collector is used as a gateway or 0 otherwise. (#37499) -
pkg/ottl
: Introduce ToCamelCase converter function (#32942) -
googlecloudpubsubreceiver
: Turn noisywarn
log about Pub/Sub servers intodebug
, and turn the reset count into a metric (#37571)
The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers
recurrently close the connection after a time period to avoid a long-running sticky connection. Before the
receiver loggedwarn
log lines everytime this happened. These log lines are moved to debug so that fleets with
lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a
connection reset happens aotelcol_receiver_googlecloudpubsub_stream_restarts
metric is increased by one. -
processor/redaction
: Introduce 'allowed_values' parameter for allowed values of attributes (#35840) -
exporter/logzioexporter
: Remove dependency on Jaeger pkg/cache (#37833) -
routingconnector
: Avoid unnecessary copy of the data in routing connector (#37946) -
awscontainerinsightreceiver
: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. (#35862) -
syslogreceiver
: Support settingon_error
config for syslog receiver. (#36906) -
processor/tailsampling
: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision.
This functionality is disabled by default, you can enable it by passing the following feature flag to the collector:+processor.tailsamplingprocessor.recordpolicy
(#35180) -
tailsamplingprocessor
: makes thenumeric_attribute
more flexible and allows to set onlymin_value
ormax_value
, without the need to set both (#37328)
This is useful to have simple configurations like these:{ type: numeric_attribute, numeric_attribute: { key: http.status_code, min_value: 400 } }
-
testbed
: Include the specified resource limits for CPU and memory in the benchmark results (#36720) -
stefexporter
: Add basic STEF exporter implementation (#37759) -
receiver/zipkinreceiver
: Remove zipkinreceiver dependency on Jaeger (#37795)
🧰 Bug fixes 🧰
azureeventhubreceiver
: Fix bug where persisted offset would be ignored after restart (#37157)bearertokenauthextension
: Load token lazily for gRPC AUTH to fix token refresh issue (#36749)opampsupervisor
: The OnConnectionClose was not correctly connected for the supervisor. (#37761)elasticsearchexporter
: Fix data loss caused by incorrect metric grouping in ECS and OTel mode (#37898)
Fix data loss when the same metric exists across different resources or scopes. Data points / metrics were incorrectly grouped together, leading to data loss with warning logs e.g. "metric with name '***' has already been serialized".k8sattributes
: Fix bug whereFilters.Labels
failed with when theexists
ornot-exists
operations were used. (#37913)prometheusreceiver
: Start time metric adjuster now handles reset points correctly (#37717)prometheusremotewriteexproter
: Resolves a deadlock in the WAL by temporarily releasing a lock while waiting for new writes to the WAL.
(#19363, #24399, #15277)awscontainerinsightreceiver
: Fix race condition in shutdown of AWS Container Insight receiver (#37695)
API changelog
🛑 Breaking changes 🛑
s3provider
: Delete deprecatedNew
factory function. UseNewFactory
instead. (#37921)secretsmanagerprovider
: Delete deprecatedNew
function, useNewFactory
instead (#37923)pkg/stanza
: Remove deprecatedflush.WithPeriod
. (#37784)pkg/stanza
: Remove deprecated func BuildWithSplitFunc from stanza/fileconsumer (#37723)
🚩 Deprecations 🚩
pkg/stanza
: Deprecate all functions in stanza/decode (#37734)
💡 Enhancements 💡
pkg/translator/prometheusremotewrite
: add support for metric type sum in FromMetricsV2 (#33661)
The public function is partially implemented and not ready for usepkg/datadog
: Expose the internal Zaplogger implementation (#37939)dbstorageextension
: Add DB Transactions to dbstorage.Batch() method as it is expected by Storage API (#37805)internal/datadog
: create new packagegithub.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/hostmetadata
which exposesGetSourceProvider
fromgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog/hostmetadata
(#37668)textutil
: Remove unnecessary copy while decoding and constructing string (#37734)
This PR affects all log receivers, text extension and kafkareceiver.telemetrygen
: Exported the API ...
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.