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

2 hours ago

What's new in chart-v0.26.0

appVersion moves to 0.26.0 and image.tag follows it to :0.26.0. No template, values.yaml key or schema changes. Under the default values the rendered perf-sentinel.toml is byte-for-byte what chart-v0.25.5 rendered, same 5036 bytes and the same digest. The other manifest changes are the image, the version labels and checksum/config.

What moves inside the pod

The default values enable no energy backend, so a release that keeps them sees no figure move. The changes below reach a release that configures [green.kepler], [green.redfish] or [green.alumet] through config or fragments.

The daemon now reads one Kepler zone instead of summing the overlapping ones, set by the new [green.kepler] zone key, package by default, which also leaves DRAM out unless zone names it. Kepler-fed energy and carbon drop in perf_sentinel_energy_kwh, perf_sentinel_carbon_gco2, /api/energy and the periodic disclosures. On a host where Kepler reads hwmon, zone has to name one of the host's sensor zones, otherwise the zero-sample warning fires and those services fall back to the next configured backend or the I/O proxy. PerfSentinelEnergyScraperStale stays silent then, since each scrape still answers HTTP 200.

Under legacy_power, [green.redfish] reads the PowerControl entry whose PhysicalContext is Chassis, where it read entry 0, which a BMC may give to a CPU or memory subsystem. The new schema = "sensor" reads a chassis power Sensor resource, for firmware that serves neither /Power nor a PowerWatts reading, and examples/helm/values-green-redfish.yaml shows it commented out. At start, the daemon warns once when [green.alumet] metric_name names a GPU, Grace, Jetson or TDP-estimate series, or a unit other than joules.

The perf-sentinel CLI in the image names the energy source in query monitor and query inspect where it printed the window's model tag, and the reports the daemon serves gain the optional green_summary.energy_calibrated field. A calibrated daemon behind a measured or Electricity Maps tag now publishes calibration_applied: true in its periodic disclosures.

The v0.26.0 binary notes describe the changes.

Upgrade impact

  • Pods roll on the image. helm upgrade replaces them because appVersion and image.tag move together.
  • Kepler-fed figures are not comparable across the upgrade, in the energy and carbon gauges, /api/energy and the periodic disclosures. A Grafana panel on perf_sentinel_energy_kwh or perf_sentinel_carbon_gco2 shows a step down.
  • A 0.25.5 daemon rejects [green.kepler] zone and schema = "sensor" at load, so drop them from config or fragments before rolling back.
  • checksum/config moves, 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.
  • No values.yaml key is added or removed, no template changes, and the shipped PrometheusRule is untouched.

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

Upgrade an existing release:

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

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

If you are upgrading from chart-v0.23.0 or earlier, read the chart-v0.24.0 notes first: that release raises the default workload.statefulset.persistence.size to 2Gi, which an existing StatefulSet does not pick up on its own. From chart-v0.18.0 or earlier, read the chart-v0.19.0 notes as well: 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, the chart-v0.17.0 notes change the shipped PrometheusRule.

Full Changelog: chart-v0.25.5...chart-v0.26.0

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.