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

2 hours ago

What's new in chart-v0.22.1

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.0 rendered, same 5047 bytes and the same digest. appVersion moves to 0.22.1 and image.tag follows it to :0.22.1, which is the whole of this release: everything it ships is inside the daemon image.

What moves inside the pod

The daemon no longer runs blocking file operations on its runtime workers. Nine of them did, and a worker parked on a write stops polling every other task it holds, so the query API, the OTLP intake and the analysis all waited behind a disk that was slow to answer.

The two archive writers, for analysis windows and for incidents, move to a blocking thread. The synchronous buffered I/O they use is deliberate and stays, producers still drop on a full channel so a stalled filesystem never reaches the analysis path. What changes is the thread underneath: a slow disk now parks one whose entire job is to write. Their bodies are unchanged, so the chain hashing, the rotation and the recovery after a partial write are byte-identical, and an archive written by this release is what the previous one would have written.

This is worth more under Helm than on a laptop. values.yaml advises putting archive_path on the PVC so the record outlives a restart, and a PersistentVolume backed by network storage is exactly the disk that takes its time.

The v0.22.1 binary notes describe all of it.

Upgrade impact

  • Pods roll on the image. helm upgrade replaces them because appVersion and image.tag move together.
  • 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.
  • Nothing observable changes in the daemon either. No output moves, no file lands anywhere different, and the archive on disk keeps its chain hashes.

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.22.1

Upgrade an existing release:

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

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.0...chart-v0.22.1

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.