OpenTelemetry
v0.162.0ObservabilityA maintenance release with performance and correctness fixes, along with breaking configuration and processor-name changes. It also adds exporter, telemetry, and schema capabilities, including new metrics and configurable exporter partition behavior.
Action needed (2)
breakingDefault keepalive configuration
Keepalive configuration is enabled by default in
pkg/confighttp.breakingConfigurable partition idle timeout
The partition idle timeout is configurable through
batch::partition::idle_timeout, and its default is raised to 90s inpkg/exporterhelper.
Check if affected (2)
breakingDefault context propagation in generated processor tests
Applies if you do not configure
skip_context_propagation.Generated processor lifecycle tests now assert that the processor propagates the incoming context unchanged to the next consumer by default. Set
skip_context_propagation: trueto disable this behavior incmd/mdatagen.breakingThe
queuebatchprocessor renamed toqueue_batchApplies if you configure
queuebatch.The
queuebatchprocessor is renamed to thequeue_batchprocessor inprocessor/queue_batch.
All 19 other recorded changesadditions 7 · fixes 5 · value changes 4 · constraints 1 · removals 1 · renames 1
additions (7)
- -
extension/memory_limiter: Add otelcol_memorylimiter_refused_requests metric to record network request refusals in extension mode. (#15561) - Introduces the feature gate
pkg.. When disabled, this flag restores the old behaviour of removing the keepalive configuration in favour of the deprecated fieldsconfighttp. PrioritizeNewKeepalive IdleConnTimeout,MaxIdleConns,MaxIdleConnsPerHost,DisableKeepAliveswhen the flag is disabled. - -
pkg/exporterhelper: Make the partition idle timeout configurable viabatch::partition::idle_timeoutand raise the default to 90s. (#15894) - -
pkg/exporterhelper: Make the multi-batcher partition LRU cache size configurable and export cache size metrics. (#14526) Addssending_queue::batch::partition::cache_size(default 10000) to cap the number of active partition batchers. The value must be positive. Current size and configured capacity are exported asotelcol_exporter_queue_batch_partition_cache_sizeandotelcol_exporter_queue_batch_partition_cache_capacity.×2 - -
cmd/mdatagen: Allow config metadata authors to chooseconfigoptional.orSome configoptional.for generated optional fields (#15977) SetDefault go_struct.to generate an optional object configuration section with a fallback default while keeping it absent until configured. Omittingoptional_mode: default optional_modepreserves the existingconfigoptional.behavior.Some - -
pkg/exporterhelper: AddNewDefaultBatchConfigto build aBatchConfigwith default values, including the partitioncache_sizeandidle_timeoutdefaults. (#14526, #15894)
fixes (5)
- -
exporter/debug: Support known sync error handling on AIX (#15924) Enable the debug exporter to handle known synchronous errors on AIX. - -
pkg/exporterhelper: Drop only the oversized item when splitting a batch, instead of discarding every item queued behind it (#15936) Applied to logs only for now - -
receiver/otlp: Error handler preserves the HTTP status code when the request Content-Type is not one a Status can be encoded in (#15995) Extends the fix in #13414, which handled a missing Content-Type. A Content-Type that was present but unsupported, or malformed, still fell through to500 {"code": 13, "message": "failed to marshal error message"}, reporting client errors such as 401 from a server auth extension or 400 from an unsupported Content-Encoding as server faults. - -
cmd/schemagen: FixRefResolvermutating shared, cached type definitions with per-occurrence annotations, which caused generated schemas to have incorrect (and run-to-run nondeterministic)description/x-optional/x-pointervalues whenever multiple fields referenced the same type. (#15984) - -
pkg/pdata: Fixpcommon.to deep-copyValue. CopyTo ValueTypeBytesvalues instead of sharing the backing array (#15621) The bytes oneof field in CopyAnyValue was assigned directly, so the copy and source shared the same []byte. This also affected Map.CopyTo and Slice.CopyTo, which delegate to CopyAnyValue.
value changes (4)
- -
pkg/pprofile: Speed up profiles dictionary merging during exporter-queue batching by replacing the linear-scan dedup in switchDictionary with an indexed lookup, reducing per-merge cost from O(N*L^2) to O(N+L). (#15544) No behavior change: merged dictionary contents and remapped indices are identical to before. - -
pkg/xpdata: Reduce the timexhash.takes for maps with many entries. (#15990)MapHash - -
pkg/exporterhelper: Add exporter and data_type attributes to exporter/enqueue spans. (#16022) - -
pkg/config/configgrpc: Migrate core types of common settings for a gRPC client to schema-based configuration generated by mdatagen. (#15967)
constraints (1)
- -
pkg/exporterhelper: Make the multi-batcher partition LRU cache size configurable and export cache size metrics. (#14526) Addssending_queue::batch::partition::cache_size(default 10000) to cap the number of active partition batchers. The value must be positive. Current size and configured capacity are exported asotelcol_exporter_queue_batch_partition_cache_sizeandotelcol_exporter_queue_batch_partition_cache_capacity.
removals (1)
- -
pkg/receiverhelper: Stop allocating a span link that is always discarded when a long-lived-context receiver starts an operation without a parent span context. (#15998) Receivers created withLongLivedCtx: trueno longer build atrace.when the long-lived context carries no valid span context. The SDK already discarded such a link, so behaviour is unchanged. This removes 3 of 7 allocations per receive operation.Link
renames (1)
- -
pkg/xpdata: Move pdata hash APIs from the contrib repo (#15914)
A weekly email arrives when a release needs action. Like the breaking changes in this release.