OBSERVABILITY Signal 156
Kubernetes v1.37: Native Histograms Graduates to Beta
Kubernetes v1.37 graduates native histograms to beta, replacing static buckets with dynamic exponential buckets for higher-resolution observability with lower overhead
Native histograms eliminate the need to pre-define bucket boundaries, reducing storage costs and improving quantile accuracy for latency-sensitive workloads. This change simplifies observability setup while maintaining backward compatibility with existing monitoring stacks. Engineers can now capture fine-grained latency data without manual tuning or risking blind spots in outlier ranges
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
Native histograms use exponential buckets to dynamically adjust to any value range without pre-configuration
Storage and scraping overhead drop by up to 90% compared to classic histograms by consolidating buckets into a single time series
Kubernetes components expose both classic and native histogram formats simultaneously for backward compatibility
THE READ
What the cluster adds up to.
Kubernetes v1.37 shifts latency and duration metrics from static to dynamic bucketing by enabling native histograms by default. The change targets three persistent pain points in classic histograms: the need to guess bucket boundaries upfront, high cardinality from separate time series per bucket, and quantile interpolation errors. Native histograms replace these with exponential buckets that automatically scale from nanoseconds to hours, reducing the number of time series by up to 90% while maintaining mathematically bounded quantile accuracy.
The implementation integrates directly into Kubernetes' shared metrics subsystem, meaning all major components, kube-apiserver, kube-scheduler, and kubelet, inherit the upgrade without individual modifications. A standardized exponential configuration (bucket factor of 1.1 and max bucket count of 160) ensures consistent behavior across components, capping worst-case relative error at ~5% for quantile calculations. This removes the need for operators to manually tune bucket boundaries for each metric.
Backward compatibility is preserved through dual exposition, where Kubernetes components emit both classic and native histogram formats simultaneously. Existing Prometheus servers, dashboards, and alerting rules continue to work unmodified, while newer collectors can parse the native spans for higher-resolution data. The approach avoids breaking changes but requires monitoring stacks to eventually adopt native histogram support to fully realize the storage and accuracy benefits.
The storage and memory savings are most pronounced in large clusters where classic histograms multiplied time series counts across labels. Native histograms consolidate buckets into structured spans within a single time series, reducing scraping overhead and TSDB storage costs. However, the 160-bucket limit may still be insufficient for workloads with extreme outlier distributions, requiring operators to adjust the max bucket count if needed. The default configuration balances accuracy and resource usage for typical latency profiles.
Written by elseif from the cluster below · checked for specifics the sources never containedTHE CLUSTER