Catalog / OpenTelemetry Collector

0.157.0

v1.63.0/v0.157.0

2 months agobreakingaddedfixedOriginal notes

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.157.0

End User Changelog

🛑 Breaking changes 🛑

  • pkg/exporterhelper: Replace histogram bucket boundaries for otelcol_exporter_queue_batch_send_size_bytes and otelcol_processor_batch_batch_send_size_bytes with a power-of-2 byte-scale set spanning 128 B to 16 MiB. (#15535) The previous boundaries included many small sub-kilobyte buckets that were not useful for byte-scale payloads, and otelcol_exporter_queue_batch_send_size_bytes topped out at 6000 bytes so nearly all observations fell into the +Inf overflow bucket. The new boundaries are powers of two from 128 B to 16777216 (16 MiB), giving a meaningful distribution for real batch payload sizes (including small timeout-flushed batches) and keeping the two metrics directly comparable on the same dashboards. Dashboards or alerts that hard-code specific le values for these histograms will need to be updated.

  • processor/batch: Replace histogram bucket boundaries for otelcol_processor_batch_batch_send_size_bytes with a power-of-2 byte-scale set spanning 128 B to 16 MiB. (#15535) The previous boundaries included many small sub-kilobyte buckets that were not useful for byte-scale payloads. The new boundaries are powers of two from 128 B to 16777216 (16 MiB), giving a meaningful distribution for real batch payload sizes (including small timeout-flushed batches) and keeping the metric directly comparable with otelcol_exporter_queue_batch_send_size_bytes on the same dashboards. Dashboards or alerts that hard-code specific le values for this histogram will need to be updated.

💡 Enhancements 💡

  • all: Bootstrap config.schema.yaml for core components (debug/otlp/otlphttp exporters, otlp receiver, batch/memory_limiter processors, memory_limiter/zpages extensions). Implements Phase 1 of the component configuration schema roadmap RFC. (#14543) Schemas are generated using the schemagen tool from opentelemetry-collector-contrib and hand-tuned to capture validation rules and references to shared library schemas (confighttp, configgrpc, configretry, exporterhelper, etc.). A .schemagen.yaml settings file and a generate-schemas Makefile target are added so the schemas can be regenerated reproducibly.

  • pkg/service: Apply experimental service::telemetry::resource::detection/development resource detection to the Collector's internal telemetry resource. (#14311) This follows the OpenTelemetry configuration schema by treating service::telemetry::resource::detection/development::detectors as detector selection. Currently supported detector entries are container, host, process, and service. See the OpenTelemetry Configuration Go support table and search for ExperimentalResourceDetector for current detector support: https://github.com/open-telemetry/opentelemetry-configuration/blob/main/language-support-status.md#go

    Example:

    service:
      telemetry:
        resource:
          attributes:
            - name: foo
              value: bar
          detection/development:
            detectors:
              - host: {}
    
  • pkg/service: Add service.partialReload feature gate (Alpha) and service.partialReloadReceivers feature gate (Beta) that together restart only receivers on config reload when non-receiver config sections are unchanged, avoiding unnecessary disruption to processors, exporters, and extensions. Enable with --feature-gates=service.partialReload. (#5966)

🧰 Bug fixes 🧰

  • exporter/debug: Fix the scope index printed by the normal verbosity marshaler; each scope was labelled with its parent resource's index instead of its own position (#15541) Affected all four signals (logs, traces, metrics, profiles) — e.g. the second scope under a resource printed #0 instead of #1.

  • pkg/config/configgrpc: Fix WaitForReady option not being applied to gRPC client connections. (#15615)

  • pkg/featuregate: Fix panic when a --feature-gates value contains an empty comma-separated element (e.g. --feature-gates=alpha,) (#15536) An empty identifier now produces a returned error instead of an index-out-of-range panic during flag parsing.

  • pkg/service: Fix collector startup panic when a resource detector emits a slice-valued attribute (e.g. the process detector's process.command_args) (#15571) createResource passed the OTel SDK attribute value straight into pcommon.Value.FromRaw, which only accepts []any for slices, so any string, int, float, or bool slice resource attribute produced an <Invalid value type> error and aborted service.New. Slice-typed attributes are now converted element-wise.

  • pkg/service: Record status events reported by extensions (#15557)

API Changelog

🛑 Breaking changes 🛑

  • pkg/config/configgrpc: Remove the BalancerName function (#9477) Use the DefaultBalancerName constant instead.

🚩 Deprecations 🚩

  • pkg/xconfmap: Deprecate WithForceUnmarshaler option. (#15614) Use confmap.WithForceUnmarshaler instead.

🚀 New components 🚀

  • pkg/config/configstorage: Add a new configstorage module to support storage configuration fields. (#5832)

💡 Enhancements 💡

  • pkg/confmap: Add WithForceUnmarshaler option. (#15614) This option allows forcing the top-level Unmarshal method even if the Conf is already a parameter from an Unmarshal method. See the Godoc for more details.