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

6 hours ago

What's new in chart-v0.11.2

An appVersion move from 0.11.1 to 0.11.2, and nothing else. No template, value or default changes: a values file renders the same objects as 0.11.1 apart from the image tag, the chart version labels and the checksum they feed. Everything under Behavior is what the new daemon image does differently once it rolls, and unlike the previous chart release, this one changes what the daemon reports. Read it before rolling a cluster whose alerts or CI gates read the daemon's numbers.

Behavior

  • The upgrade rolls the pods. The image tag falls back to .Chart.AppVersion when image.tag is empty, which is the default, so the pod spec moves from 0.11.1 to 0.11.2. The checksum/config annotation also changes, since the ConfigMap carries the chart version in its labels. Pinning image.tag explicitly keeps the old image and skips the rollout, which is a real choice this time rather than a formality.
  • The daemon attributes findings to a different endpoint. It resolves the outermost inbound route in the contiguous same-service parent chain instead of the nearest one, and stops before a caller-service boundary. It also retains route and parent context across split OTLP export requests, which is the daemon-only half of the fix: a trace rarely arrives in one request, and the parent carrying the route used to be lost when it landed in a later one. A framework route name such as Symfony's app_fault_nplusonesql now yields to a usable url.path, and a route missing its leading slash gains one.
  • A SERVER span no longer produces an outbound HTTP call. Legacy semantic conventions set http.url on the inbound handler span too, so every instrumented hop was counted twice. On a fleet on those conventions, excessive_fanout, chatty_service, redundant_http, n_plus_one_http and slow_http findings raised on handler spans disappear. SQL is classified first, so a SERVER span carrying db.statement is still analyzed.
  • Acknowledgments and persisted baselines need re-capturing. The endpoint is part of a finding's signature, so findings that move change signature. This applies to the daemon's runtime ack store and to the TOML baseline alike. A finding that disappeared instead of moving leaves its acknowledgment unmatched.
  • io_waste_ratio rises on identical traffic. Those phantom inbound calls counted as I/O operations, and dropping them shrinks the waste-ratio denominator while no avoidable operation leaves with it. The chart ships io_waste_ratio_max = 0.30 in values.yaml, and a Prometheus alert or a CI gate reading that ratio can turn red with nothing wrong in the application. Re-baseline the threshold against a 0.11.2 run before trusting the verdict.
  • The daemon holds more per-trace state at the same settings. max_events_per_trace now caps three per-trace collections independently, the event ring, the retained inbound endpoint contexts and the ancestry index, so its default of 1000 retains a larger envelope than it did under 0.11.1. The chart's default resources.limits.memory is 256Mi, worth a look before rolling a pod that already runs close to its ceiling.
  • Routes, metrics and wire formats are unchanged. /api/findings, /api/correlations, /metrics and the OTLP listeners answer in exactly the same shapes. What moved is the endpoint inside a finding, not the envelope around it.
  • The archived per-window JSON keeps its shape. A disclosure content_hash computed under 0.11.1 still verifies here.

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

Upgrade an existing release:

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

Verify that the rollout picked up the new image:

kubectl get pod -l app.kubernetes.io/name=perf-sentinel \
  -o jsonpath='{.items[*].spec.containers[*].image}'

Read docs/HELM-DEPLOYMENT.md for the sizing guidance, the Ingress postures and the NetworkPolicy peer an ingress controller needs. The v0.11.2 binary notes carry the full account of the attribution changes above.

If you are upgrading from chart-v0.10.0 or earlier, read the chart-v0.11.0 notes first: that release repairs a duplicate scrape on StatefulSet deployments with a ServiceMonitor, splits findings by deployment, and carries a /metrics change worth checking if you scrape with vmagent.

Full Changelog: chart-v0.11.1...chart-v0.11.2

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.