
Kubernetes v1.37 Native Histograms Graduate to Beta — and They're Now On by Default
Enterprise Developer PlatformsEvery classic Prometheus histogram in your Kubernetes cluster is making a trade-off you probably didn’t choose deliberately: predefined bucket boundaries that become inaccurate when workload latency patterns shift, and 10x time series inflation from per-bucket label combinations. Kubernetes v1.37 fixes this by default.
What Happened
Native Histograms graduated from alpha (v1.36) to beta in Kubernetes v1.37 and are now enabled by default. Platform teams no longer need to opt in — the improved histogram format is active for Kubernetes component metrics including the API server, scheduler, and kubelet out of the box.
Why It Matters
Classic Prometheus histograms require you to specify bucket boundaries at metric definition time — something like 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10. Three problems follow:
Bucket guessing. If your workload’s actual latency distribution shifts — new cache layers reduce p99 to microseconds, or a downstream dependency starts timing out and inflating tail latency — your predefined buckets stop matching the data. You lose visibility at the resolution that matters.
Storage inflation. Classic histograms create a separate time series per bucket per label combination. A 10-bucket histogram with four label dimensions generates 10x the time series. Across a cluster with many services and components, this multiplies Prometheus storage requirements and scrape overhead.
Quantile interpolation error. Classic histograms calculate percentiles by interpolating between static bucket boundaries. The wider the bucket range containing the actual value, the larger the estimation error. A p95 latency claim based on a bucket that spans 250ms to 500ms is less useful than it appears.
Native Histograms address all three. Buckets adapt automatically to the observed distribution. Cardinality is significantly reduced. Quantile accuracy improves.
What Changes Operationally
Verify Prometheus compatibility. Native Histograms require Prometheus 2.40+ and a time-series database that supports the native format. If you’re running an older Prometheus version or a managed Prometheus service, check compatibility before upgrading to v1.37.
Dashboard queries may behave differently. PromQL queries against native histograms use different syntax (histogram_quantile behavior changes slightly). Test existing dashboards against the new metric format in a staging environment before relying on them in production.
Storage should decrease. If your observability costs are partly driven by Prometheus storage volume, the cardinality reduction from native histograms is a real operational benefit — particularly for large clusters with many labeled services.
The Pattern
Stack Archive has now covered six distinct feature areas in the Kubernetes v1.37 release: DRA extended resources (GA), HPA scale-to-zero (beta), pod certificate trust bundles, workload-aware scheduling and gang scheduling, node lifecycle conditions, and now native histograms. v1.37 continues to deliver operational improvements that reduce the maintenance surface for platform teams — native histograms are the observability entry in that list.
The So What
Native Histograms are now the default in Kubernetes v1.37. Run a compatibility check on your Prometheus version and managed observability stack before upgrading. For teams already on compatible versions, the improved quantile accuracy and reduced cardinality are passive improvements that require no configuration change — they arrive with the version upgrade.
Source: Kubernetes Blog
Content created with AI assistance and reviewed for accuracy.
Join the conversation
Stack Insiders is our free community for readers who want to go deeper — share resources, ask questions, and connect with others across every vertical we cover.
Join Stack Insiders →