CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Releases: open-telemetry/opentelemetry-collector
v1.36.1/v0.130.1
d588ee2
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.130.1
End User Changelog
🧰 Bug fixes 🧰
service
: Fixes bug where internal metrics are emitted with an unexpected suffix in their names when users configureservice::telemetry::metrics::readers
with Prometheus. (#13449)
See more details on open-telemetry/opentelemetry-go#7039
API Changelog
Assets 2
v1.36.0/v0.130.0
91ec67d
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.130.0
End User Changelog
❗ Known Issues ❗
-
Due to a bug in the internal telemetry Prometheus exporter, if you are configuring an internal telemetry Prometheus exporter, the collector's internal metrics will be emitted with an unexpected suffix in its name. For example, the metric
otelcol_exporter_sent_spans__spans__total
instead ofotelcol_exporter_sent_spans_total
. The workaround is to manually configurewithout_units: true
in your internal telemetry Prometheus exporter configservice: telemetry: metrics: readers: - pull: exporter: prometheus: host: 0.0.0.0 port: 8888 without_units: true
If you are using the collector's default internal telemetry Prometheus exporter for exporting internal metrics you are unaffected.
This issue has been fixed in v0.130.1. If you are using the Collector builder, please use the builder v0.130.1 to fix this issue.
🛑 Breaking changes 🛑
exporter/otlp
: Remove deprecated batcher config from OTLP, use queuebatch (#13339)
💡 Enhancements 💡
exporterhelper
: Enable items and bytes sizers for persistent queue (#12881)exporterhelper
: Refactor persistent storage size backup to always record it. (#12890)exporterhelper
: Add support to configure a different Sizer for the batcher than the queue (#13313)yaml
: Replacedsigs.k8s.io/yaml
withgo.yaml.in/yaml
for improved support and long-term maintainability. (#13308)
🧰 Bug fixes 🧰
-
exporterhelper
: Fix exporter.PersistRequestContext feature gate (#13342) -
exporterhelper
: Preserve all metrics metadata when batch splitting. (#13236)
Previously, when large batches of metrics were processed, the splitting logic inmetric_batch.go
could
cause thename
field of some metrics to disappear. This fix ensures that all metric fields are
properly preserved whenmetricRequest
objects are split. -
service
: Default internal metrics config now enablesotel_scope_
labels (#12939, #13344)
By default, the Collector exports its internal metrics using a Prometheus
exporter from the opentelemetry-go repository. With this change, the Collector
no longer sets "without_scope_info" to true in its configuration.This means that all exported metrics will have
otel_scope_name
,
otel_scope_schema_url
, andotel_scope_version
labels corresponding to the
instrumentation scope metadata for that metric.This notably prevents an error when multiple metrics are only distinguished
by their instrumentation scopes and end up aliased during export.If this is not desired behavior, a Prometheus exporter can be explicitly
configured with this option enabled.
API Changelog
🛑 Breaking changes 🛑
exporterhelper
: Use configoptional for sending_queue::batch field (#13345)configgrpc
: Update optional fields to useconfigoptional.Optional
field for optional values. (#13250, #13252)
Components usingconfiggrpc
package may need to update config values.confighttp
: Use configoptional.Optional in confighttp (#9478)exporterhelper
: Remove sizer map in favor of items/bytes sizers. Request based is automatically supported. (#13262)pdata/pprofile
: Remove field Profile.StartTime from pdata/pprofile (#13315)
Remove Profile.StartTime from OTel Profiling signal.exporterhelper
: Remove deprecated old batcher config (#13003)exporter/otlp
: Remove deprecated batcher config from OTLP, use queuebatch (#13339)
🚩 Deprecations 🚩
exporterhelper
: Deprecate NewRequestsSizer always supported. (#13262)xexporterhelper
: Introduce NewProfiles method and deprecate NewProfilesExporter (#13372)
💡 Enhancements 💡
-
consumererror
: AddError
type (#7047)
This type can contain information about errors that allow components (e.g. exporters)
to communicate error information back up the pipeline. -
pdata
: Document that changing pcommon.Map (Remove/removeIf/Put*) invalidates Value references obtained via Get. (#13073) -
cmd/mdatagen
: Add support for optional attribute (#12571) -
exporterhelper
: Add support to configure a different Sizer for the batcher than the queue (#13313) -
pdata
: Add support for the new resource-entity reference API as part of the experimental xpdata package. (#13264)
Assets 2
v1.35.0/v0.129.0
8c7e0b7
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.129.0
End User Changelog
🛑 Breaking changes 🛑
exporterhelper
: Remove deprecated sending_queue::blocking options, use sending_queue::block_on_overflow. (#13211)
💡 Enhancements 💡
-
mdatagen
: Taught mdatagen to print thego list
stderr output on failures, and to rungo list
where the metadata file is. (#13205) -
service
: Support settingsampler
andlimits
underservice::telemetry::traces
(#13201)
This allows users to enable sampling and set span limits on internal Collector traces using the
OpenTelemetry SDK declarative configuration. -
pdata/pprofile
: Add new helper methodsFromLocationIndices
andPutLocation
to read and modify the content of locations. (#13150) -
exporterhelper
: Preserve request span context and client information in the persistent queue. (#11740, #13220, #13232)
It allows internal collector spans and client information to propagate through the persistent queue used by
the exporters. The same way as it's done for the in-memory queue.
Currently, it is behind the exporter.PersistRequestContext feature gate, which can be enabled by adding
--feature-gates=exporter.PersistRequestContext
to the collector command line. An exporter buffer stored by
a previous version of the collector (or by a collector with the feature gate disabled) can be read by a newer
collector with the feature enabled. However, the reverse is not supported: a buffer stored by a newer collector with
the feature enabled cannot be read by an older collector (or by a collector with the feature gate disabled).
🧰 Bug fixes 🧰
pdata
: Fix copying of optional fields when the source is unset. (#13268)service
: Only allocate one set of internal log sampling counters (#13014)
The case where logs are only exported to stdout was fixed in v0.126.0;
this new fix also covers the case where logs are exported through OTLP.
API Changelog
🛑 Breaking changes 🛑
semconv
: Removing deprecated semconv package (#13071)configgrpc,confighttp
: Unify return type ofNewDefault*Config
functions to return a struct instead of a pointer. (#13169)exporterhelper
: QueueBatchEncoding interface is changed to support marshaling and unmarshaling of request context. (#13188)
💡 Enhancements 💡
pdata/pprofile
: IntroduceEqual
method on theMapping
type (#13197)configoptional
: Make unmarshaling intoNone[T]
work the same as unmarshaling into(*T)(nil)
. (#13168)configoptional
: Add a confmap.Marshaler implementation for configoptional.Optional (#13196)pdata/pprofile
: IntroduceEqual
methods on theLine
andLocation
types (#13150)pdata/pprofile
: Add new helper methodSetMapping
to set a new mapping on a location. (#13197)
🧰 Bug fixes 🧰
confmap
: Distinguish between empty and nil values when marshalingconfmap.Conf
structs. (#13196)
Assets 2
v1.34.0/v0.128.0
ab80fb4
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.128.0
End User Changelog
🛑 Breaking changes 🛑
service/telemetry
: Mark "telemetry.disableAddressFieldForInternalTelemetry" as stable (#13152)
💡 Enhancements 💡
-
confighttp
: Update the HTTP server span naming to use the HTTP method and route pattern instead of the path. (#12468)
The HTTP server span name will now be formatted as<http.request.method> <http.route>
.
If a route pattern is not available, it will fall back to<http.request.method>
. -
service
: Use configured loggers to log errors as soon as it is available (#13081) -
service
: Remove stabilized featuregate useOtelWithSDKConfigurationForInternalTelemetry (#13152)
🧰 Bug fixes 🧰
-
telemetry
: Add generated resource attributes to the printed log messages. (#13110)
If service.name, service.version, or service.instance.id are not specified in the config, they will be generated automatically.
This change ensures that these attributes are also included in the printed log messages. -
mdatagen
: Fix generation when there are no events in the metadata. (#13123) -
confmap
: Do not panic on assigning nil maps to non-nil maps (#13117) -
pdata
: Fix event_name skipped when unmarshalling LogRecord from JSON (#13127)
API Changelog
🛑 Breaking changes 🛑
exporterhelper
: Remove deprecated NewProfilesRequestExporter function from xexporterhelper package (#13157)confighttp
: Remove pointer to fieldcookies
in confighttp.ClientConfig (#13116)otlpreceiver
: Useconfigoptional.Optional
to define optional configuration sections in the OTLP receiver. RemoveUnmarshal
method. (#13119)confighttp,configgrpc
: RenameClientConfig.TLSSetting
andServerConfig.TLSSetting
toClientConfig.TLS
andServerConfig.TLS
. (#13115)pdata/pprofile
: Upgrade the OTLP protobuf definitions to version 1.7.0 (#13075)
Note that the batcher is temporarily a noop.pipeline
: Remove deprecated MustNewID[WithName] (#13139)
🚀 New components 🚀
configoptional
: Add a new configoptional module to support optional configuration fields. (#12981)
💡 Enhancements 💡
pdata
: IntroduceMoveAndAppendTo
methods to the generated primitive slices (#13074)pdata
: Upgrade the OTLP protobuf definitions to version 1.7.0 (#13075)
🧰 Bug fixes 🧰
-
confmap
: Correctly distinguish betweennil
and empty map values on theToStringMap
method (#13161)
This means thatToStringMap()
method can now return a nil map if the original value wasnil
.
If you were not doing so already, make sure to check fornil
before writing to the map to avoid panics. -
confighttp
: Make theNewDefaultServerConfig
function return a nil TLS config by default. (#13129)- The previous default was a TLS config with no certificates, which would fail at runtime.
Assets 2
v1.33.0/v0.127.0
2353b75
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.127.0
End User Changelog
🚩 Deprecations 🚩
semconv
: Deprecating the semconv package in favour of go.opentelemetry.io/otel/semconv (#13012)
💡 Enhancements 💡
exporter/debug
: Display resource and scope innormal
verbosity (#10515)service
: Add size metrics defined in Pipeline Component Telemetry RFC (#13032)
See Pipeline Component Telemetry RFC for more details:otelcol.receiver.produced.size
otelcol.processor.consumed.size
otelcol.processor.produced.size
otelcol.connector.consumed.size
otelcol.connector.produced.size
otelcol.exporter.consumed.size
API Changelog
🛑 Breaking changes 🛑
mdatagen
: Add context parameter for recording event to set traceID and spanID (#12571)otlpreceiver
: Use wrapper type for URL paths (#13046)
🚩 Deprecations 🚩
pipeline
: Deprecate MustNewID and MustNewIDWithName (#12831)pdata/profile
: Replace AddAttribute with the PutAttribute helper method to modify the content of attributable records. (#12798)
💡 Enhancements 💡
Assets 2
v1.32.0/v0.126.0
c2431f0
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.126.0
End User Changelog
🛑 Breaking changes 🛑
configauth
: Removes deprecatedconfigauth.Authentication
andextensionauthtest.NewErrorClient
(#12992)
The following have been removed:configauth.Authentication
useconfigauth.Config
insteadextensionauthtest.NewErrorClient
useextensionauthtest.NewErr
instead
💡 Enhancements 💡
-
service
: Replacego.opentelemetry.io/collector/semconv
usage withgo.opentelemetry.io/otel/semconv
(#12991) -
confmap
: Update the behavior of the confmap.enableMergeAppendOption feature gate to merge only component lists. (#12926) -
service
: Add item count metrics defined in Pipeline Component Telemetry RFC (#12812)
See Pipeline Component Telemetry RFC for more details:otelcol.receiver.produced.items
otelcol.processor.consumed.items
otelcol.processor.produced.items
otelcol.connector.consumed.items
otelcol.connector.produced.items
otelcol.exporter.consumed.items
-
tls
: Add trusted platform module (TPM) support to TLS authentication. (#12801)
Now the TLS allows the use of TPM for loading private keys (e.g. in TSS2 format).
🧰 Bug fixes 🧰
-
exporterhelper
: Add validation error for batch config if min_size is greater than queue_size. (#12948) -
telemetry
: Allocate less memory per component when OTLP exporting of logs is disabled (#13014) -
confmap
: Use reflect.DeepEqual to avoid panic when confmap.enableMergeAppendOption feature gate is enabled. (#12932) -
internal telemetry
: Add resource attributes from telemetry.resource to the logger (#12582)
Resource attributes from telemetry.resource were not added to the internal
console logs.Now, they are added to the logger as part of the "resource" field.
-
confighttp and configcompression
: Fix handling ofsnappy
content-encoding in a backwards-compatible way (#10584, #12825)
The collector used the Snappy compression type of "framed" to handle the HTTP
content-encoding "snappy". However, this encoding is typically used to indicate
the "block" compression variant of "snappy". This change allows the collector to:- When receiving a request with encoding 'snappy', the server endpoints will peek
at the first bytes of the payload to determine if it is "framed" or "block" snappy,
and will decompress accordingly. This is a backwards-compatible change.
If the feature-gate "confighttp.framedSnappy" is enabled, you'll see new behavior for both client and server:
- Client compression type "snappy" will now compress to the "block" variant of snappy
instead of "framed". Client compression type "x-snappy-framed" will now compress to the "framed" variant of snappy. - Servers will accept both "snappy" and "x-snappy-framed" as valid content-encodings.
- When receiving a request with encoding 'snappy', the server endpoints will peek
-
tlsconfig
: Disable TPM tests on MacOS/Darwin (#12964)
API Changelog
🚩 Deprecations 🚩
configauth
: Deprecateconfigauth.Authentication
in favor ofconfigauth.Config
. (#12875)
💡 Enhancements 💡
Assets 2
v1.31.0/v0.125.0
42a3ae0
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.125.0
End User Changelog
🛑 Breaking changes 🛑
-
service
: Lowercase values for 'otelcol.component.kind' attributes. (#12865) -
service
: Restrict thetelemetry.newPipelineTelemetry
feature gate to metrics. (#12856, #12933)
The "off" state of this feature gate introduced a regression, where the Collector's internal logs were missing component attributes. See issue #12870 for more details on this bug.On the other hand, the "on" state introduced an issue with the Collector's default internal metrics, because the Prometheus exporter does not currently support instrumentation scope attributes.
To solve both of these issues, this change turns on the new scope attributes for logs and traces by default regardless of the feature gate.
However, the new scope attributes for metrics stay locked behind the feature gate, and will remain off by default until the Prometheus exporter is updated to support scope attributes.Please understand that enabling the
telemetry.newPipelineTelemetry
feature gate may break the export of Collector metrics through, depending on your configuration.
Having abatch
processor in multiple pipelines is a known trigger for this.This comes with a breaking change, where internal logs exported through OTLP will now use instrumentation scope attributes to identify the source component instead of log attributes.
This does not affect the Collector's stderr output. See the changelog for v0.123.0 for a more detailed description of the gate's effects.
💡 Enhancements 💡
mdatagen
: Add support for attributes for telemetry configuration in metadata. (#12919)configmiddleware
: Add extensionmiddleware interface. (#12603, #9591)configgrpc
: Add gRPC middleware support. (#12603, #9591)confighttp
: Add HTTP middleware support. (#12603, #9591, #7441)configmiddleware
: Add configmiddleware struct. (#12603, #9591)
🧰 Bug fixes 🧰
exporterhelper
: Do not ignore thenum_consumers
setting when batching is enabled. (#12244)exporterhelper
: Reject elements larger than the queue capacity (#12847)mdatagen
: Add time and plog package imports (#12907)confmap
: Maintain nil values when marshaling or unmarshaling nil slices (#11882)
Previously, nil slices were converted to empty lists, which are semantically different
than a nil slice. This change makes this conversion more consistent when encoding
or decoding config, and these values are now maintained.
API Changelog
🚩 Deprecations 🚩
extensionauthtest
: Deprecate NewErrorClient in favor of NewErrClient. (#12874)
💡 Enhancements 💡
xextension/storage
: ErrStorageFull error added to xextension/storage contract (#12925)pdata
: Add MoveTo to pcommon.Value, only type missing this (#12877)
🧰 Bug fixes 🧰
pdata
: Fix MoveTo when moving to the same destination (#12887)
Assets 2
v1.30.0/v0.124.0
cf18559
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.124.0
End User Changelog
🐛 Known bugs 🐛
service/telemetry
: Missing attributes in internal Collector logs (#12870).- See issue description for workarounds.
💡 Enhancements 💡
exporterhelper
: Add support for bytes-based batching for profiles in the exporterhelper package. (#3262)otelcol
: Enhance config validation using command to capture all validation errors that prevents the collector from starting. (#8721)exporterhelper
: Link batcher context to all batched request's span contexts. (#12212, #8122)
🧰 Bug fixes 🧰
confighttp
: Ensure http authentication server failures are handled by the provided error handler (#12666)
API Changelog
🛑 Breaking changes 🛑
exporterbatcher
: Remove deprecated package exporterbatcher (#12780)exporterqueue
: Remove deprecated package exporterqueue (#12779)
💡 Enhancements 💡
mdatagen
: Add variable for metric name in mdatagen (#12459)
Access metric name viametadata.MetricsInfo.<metric-variable>.Name
client
: Add support for iterating over client metadata keys (#12804)service
: Adds the GetFactory interface to the hostcapabilities package (#12789)cmd/mdatagen
: Add the foundational changes necessary for supporting logs data inmdatagen
(#12571)
Assets 2
v1.29.0/v0.123.0
1ad6912
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.123.0
End User Changelog
❗ Known Issues ❗
- This version increases memory usage by ~0.5 MB per component in the pipelines because a separate Zap Core logger is
initialized for each component. The issue is partially fixed in v0.126.0 for users who write logs to stdout, but do
not export logs via OTLP. See #13014 for more details. service/telemetry
: Missing attributes in internal Collector logs (#12870).- See issue description for workarounds.
🛑 Breaking changes 🛑
service/telemetry
: Marktelemetry.disableAddressFieldForInternalTelemetry
as beta, usage of deprecated service::telemetry::address are ignored (#12756)
To restore the previous behavior disabletelemetry.disableAddressFieldForInternalTelemetry
feature gate.exporterbatch
: Remove deprecated fieldsmin_size_items
andmax_size_items
from batch config. (#12684)
🚩 Deprecations 🚩
otlpexporter
: Mark BatcherConfig as deprecated, usesending_queue::batch
instead (#12726)exporterhelper
: Deprecateblocking
in favor ofblock_on_overflow
. (#12710)exporterhelper
: Deprecate configuring exporter batching separately. Usesending_queue::batch
instead. (#12772)
Moving the batching configuration tosending_queue::batch
requires settingsending_queue::sizer
toitems
which means thatsending_queue::queue_size
needs to be also increased by the average batch size number (roughly
x5000 for the default batching configuration).
See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration
💡 Enhancements 💡
-
exporterhelper
: Add support to configure batching in the sending queue. (#12746) -
exporterhelper
: Add support for wait_for_result, remove disabled_queue (#12742)
This has a side effect for users of the experimental BatchConfig with the queue disabled, since not this is | uses only NumCPU() consumers. -
exporterhelper
: Allow exporter memory queue to use different type of sizers. (#12708) -
service
: Add "telemetry.newPipelineTelemetry" feature gate to inject component-identifying attributes in internal telemetry (#12217)
With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of
the following instrumentation scope attributes:otelcol.component.kind
otelcol.component.id
otelcol.pipeline.id
otelcol.signal
otelcol.signal.output
These attributes are defined in the Pipeline Component Telemetry RFC,
and identify the component instance from which the telemetry originates.
They are added automatically without changes to component code.These attributes were already included in internal logs as regular log attributes, starting from
v0.120.0. For consistency with other signals, they have been switched to scope attributes (with
the exception of logs emitted to standard output), and are now enabled by the feature gate.Please make sure that the exporter / backend endpoint you use has support for instrumentation
scope attributes before using this feature. If the internal telemetry is exported to another
Collector, a transform processor could be used to turn them into other kinds of attributes if
necessary. -
exporterhelper
: Enable support to do batching usingbytes
sizer (#12751) -
service
: Add config key to set metric views used for internal telemetry (#10769)
Theservice::telemetry::metrics::views
config key can now be used to explicitly set the list of
metric views used for internal telemetry, mirroringmeter_provider::views
in the SDK config.
This can be used to disable specific internal metrics, among other uses.This key will cause an error if used alongside other features which would normally implicitly create views, such as:
- not setting
service::telemetry::metrics::level
todetailed
; - enabling the
telemetry.disableHighCardinalityMetrics
feature flag.
- not setting
🧰 Bug fixes 🧰
exporterhelper
: Fix order of starting between queue and batch. (#12705)
API Changelog
🛑 Breaking changes 🛑
-
otlpreceiver/otlpexporter/otlphttpexporter
: Avoid using go embedded messages in Config (#12718) -
exporterqueue
: Move Queue interface to internal, disallow alternative implementations (#12680) -
extensionauth, configauth
: Remove deprecated types and functions fromextensionauth
andconfigauth
packages. (#12672)
This includes:extensionauth.NewClient
,extensionauth.ClientOption
and all its implementations,extensionauth.NewServer
,extensionauth.ServerOption
and all its implementations andconfigauth.Authenticator.GetClientAuthenticator
.
-
exporterhelper
: Remove deprecated converter types from exporterhelper (#12686) -
exporterbatch
: Remove deprecated fieldsmin_size_items
andmax_size_items
from batch config. (#12684)
🚩 Deprecations 🚩
exporterhelper
: Deprecate BatcherConfig, SizeConfig and WithBatcher in favor of the new QueueBatchConfig. (#12748)exporterbatcher
: Deprecated Config, SizeConfig, SizerType, SizerType[Requests|Items|Bytes], NewDefaultConfig. Use alias from exporterhelper. (#12707)exporterqueue
: Deprecated Config, NewDefaultConfig, Encoding, ErrQueueFull. Use alias from exporterhelper. (#12706)exporterhelper
: Deprecate exporterhelper WithRequestQueue in favor of WithQueueBatch (#12679)exporterhelper
: DeprecateQueueConfig
in favor ofQueueBatchConfig
. (#12746)
💡 Enhancements 💡
Assets 2
v0.122.1
a17839e
Compare
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.122.1
End User Changelog
🧰 Bug fixes 🧰
confmap
: Ensure slices with defaults containing struct values are correctly set. (#12661)
This reverts the changes made in #11882.