github robintra/perf-sentinel chart-v0.23.0
perf-sentinel chart v0.23.0

5 hours ago

What's new in chart-v0.23.0

A metadata-only bump. No template changes, no values.yaml key added or removed, and the rendered perf-sentinel.toml is byte-for-byte what chart-v0.22.2 rendered, same 5047 bytes and the same digest. appVersion moves to 0.23.0 and image.tag follows it to :0.23.0, which is the whole of this release: everything it ships is inside the daemon image.

What moves inside the pod

The daemon now counts slow templates across analysis batches. A template slow in slow_query_min_occurrences separate episodes within [detection] slow_query_window_minutes, 15 by default, yields a slow_* finding with the same signature a batch run would give it, where it used to stay in the duration histogram because no single batch held three of its spans. The chart does not set the key, so the window is on in every release that upgrades. A new counter, perf_sentinel_slow_window_keys_refused_total, counts the slow spans refused past the cap of 1024 tracked templates.

Cross-trace correlation pairs findings on their own timestamps instead of the analysis tick that produced them, so median_lag_ms is no longer always 0 and the earlier finding is the source. Confidence is no longer inflated by a source that has left the window, and pairing memory no longer grows with window_minutes. GET /api/correlations gains source_sample_trace_id, the trace of the source side of a pair.

Terminal output shows times in the local time zone. Under Helm that only shows when you run the binary through kubectl exec, and there the FROM scratch image, which ships no time zone database, now resolves a named TZ against a database embedded in the binary instead of printing UTC. The daemon API and every machine format stay in UTC.

The v0.23.0 binary notes describe all of it.

Upgrade impact

  • Pods roll on the image. helm upgrade replaces them because appVersion and image.tag move together.
  • Expect new slow_* findings, and the alerts built on them. The window is on by default and nothing in values.yaml turns it off. Add slow_query_window_minutes = 0 to the [detection] section of config.toml in your values to keep the 0.22.2 behavior.
  • Correlation stays off unless you turned it on. The [daemon.correlation] block of values.yaml is still commented out. Where you enabled it, fewer pairs clear min_confidence, a pair can swap its source and target, and a window_minutes outside 1 to 10080 now stops the daemon at config load and leaves the pod in CrashLoopBackOff. The commented example, window_minutes = 10, is inside that range.
  • checksum/config moves too, and not because your configuration changed. The rendered perf-sentinel.toml is identical, but the ConfigMap carries helm.sh/chart and app.kubernetes.io/version labels that bump with the chart, so the checksum over it differs on every version bump. Nothing in the daemon's configuration is re-read differently.
  • No values.yaml key is added or removed, no template changes, and the shipped PrometheusRule is untouched.
  • The two example Grafana dashboards moved, and they do not ship here. The overview goes to version 10 and the findings one to version 9: times in the viewer's browser time zone, a Finding type variable on the findings table, and Source trace and Target trace columns on the Correlations table. Re-import them wherever you provision them.

Install

The chart is published as an OCI artifact on GHCR, install it directly with no helm repo add step:

helm install perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.23.0

Upgrade an existing release:

helm upgrade perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.23.0

Read docs/HELM-DEPLOYMENT.md for the ServiceMonitor section, sizing and Ingress postures.

If you are upgrading from chart-v0.18.0 or earlier, read the chart-v0.19.0 notes first: that release adds a grouping label to five metrics and is breaking for an unaggregated alert on any of them. From chart-v0.16.0 or earlier, read the chart-v0.17.0 notes as well, which change the shipped PrometheusRule.

Full Changelog: chart-v0.22.2...chart-v0.23.0

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.