github robintra/perf-sentinel v0.8.12

latest release: chart-v0.2.58
7 hours ago

What's new in v0.8.12

v0.8.12 fixes how the query monitor Trends tab draws its time-series charts. The Energy, Carbon, and headroom curves now scroll through a fixed-width window instead of being compressed to fit the panel as history accumulates, so the plotted span and the scroll rate stay constant from the first sample onward. There is no change to the daemon wire protocol, the configuration format, or any machine output format. The minimum supported Rust version stays 1.96.0. The simulation-lab release-gate was skipped for this release, a TUI-only change with no daemon behavior change.

Monitor: fixed-window Trends charts

The query monitor Trends tab plots three braille charts: Energy and Carbon per scoring window, and a headroom gauge for the runtime caps as a share of their configured limits. Before this release the x-axis rescaled on every tick to span all of the history collected so far, so as the ring buffer filled, the curves were progressively compressed toward the left and the apparent scroll rate kept changing. Now the window has a fixed width of one full ring behind now, so each new sample shifts the curves left by a constant step and the time-span axis label stays put. Until the ring fills, the left part of the window is simply empty rather than a zoomed-in view of the few points collected so far. The change is confined to the Trends rendering, the polling cadence, the retained-point count, and the underlying /api/* data are all unchanged.

Documentation

The monitor Trends capture (docs/img/monitor/trends.png) and the monitor tour GIF (docs/img/monitor/demo.gif) were regenerated to show the fixed-window curves. The Trends still is now captured on its own VHS tape that lets the window fill before the screenshot, since a full window needs about four minutes of points, too long for the tour GIF. The README reorders its demo list and moves the simulation-lab gate note into the releasing section.

Helm chart

charts/perf-sentinel 0.2.57 to 0.2.58, appVersion 0.8.11 to 0.8.12. The bump tracks the new daemon version, the chart template surface is unchanged. Earlier in this window the chart also shipped 0.2.57, which wires the daemon's durable state to the mounted PVC when StatefulSet persistence is enabled, so runtime acknowledgments and the public-disclosure archive now survive pod restarts and rescheduling.

Operator-visible behavior change

None on any daemon or machine surface. The fix is confined to how the query monitor Trends tab renders its charts. No detection verdict, daemon route, OTLP wire shape, configuration key, or Prometheus metric changes, and every machine export (JSON, SARIF, the HTML structure, NDJSON) keeps its shape.

Why this is a patch and not a minor

The release is a backward-compatible bug fix. It changes only how the Trends tab draws its charts, with no new CLI flag, no configuration change, no new daemon HTTP route, no OTLP wire change, and no change to any output format or Prometheus metric. The minimum supported Rust version stays 1.96.0.

Validation

The simulation-lab release-gate was skipped for this release, a TUI-only change with no daemon behavior change. CI covers the build, the full test suite (cargo test --workspace), clippy at -D warnings, and cargo fmt. The Helm chart now also gets a live smoke test on a kind cluster in CI, helm install --wait followed by helm test, which catches an admission rejection or a pod that never goes ready before merge.

Verifying this release

# Binary integrity via SLSA Build L3 attestation
gh attestation verify perf-sentinel-linux-amd64 \
  --owner robintra --repo perf-sentinel

# A periodic disclosure produced by this binary
perf-sentinel verify-hash --report perf-sentinel-report.json \
  --expected-identity "https://github.com/robintra/perf-sentinel/.github/workflows/release.yml@refs/tags/v0.8.12" \
  --expected-issuer "https://token.actions.githubusercontent.com"

gh CLI 2.49 or newer required for gh attestation verify.

Full Changelog: v0.8.11...v0.8.12

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.