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.AppVersionwhenimage.tagis empty, which is the default, so the pod spec moves from0.11.1to0.11.2. Thechecksum/configannotation also changes, since the ConfigMap carries the chart version in its labels. Pinningimage.tagexplicitly 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_nplusonesqlnow yields to a usableurl.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.urlon 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_httpandslow_httpfindings raised on handler spans disappear. SQL is classified first, so a SERVER span carryingdb.statementis 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_ratiorises 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 shipsio_waste_ratio_max = 0.30invalues.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 a0.11.2run before trusting the verdict.- The daemon holds more per-trace state at the same settings.
max_events_per_tracenow caps three per-trace collections independently, the event ring, the retained inbound endpoint contexts and the ancestry index, so its default of1000retains a larger envelope than it did under0.11.1. The chart's defaultresources.limits.memoryis256Mi, 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,/metricsand 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_hashcomputed under0.11.1still 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.2Upgrade an existing release:
helm upgrade perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.11.2Verify 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