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

latest releases: chart-v0.9.11, v0.9.11, chart-v0.9.10...
one month ago

What's new in chart-v0.2.43

This is a metadata-only chart bump: appVersion advances from 0.7.6 to 0.7.7, the default image.tag now resolves to ghcr.io/robintra/perf-sentinel:0.7.7, and the artifacthub.io/images annotation is updated to keep the Artifact Hub display card in lockstep. No chart-level template diff, no values.yaml schema change, no new RBAC, no new optional ConfigMap or Secret, no .perf-sentinel.toml review required to upgrade. The chart-v0.2.42 surface is preserved byte-for-byte.

The 0.7.7 daemon image fixes an N+1 SQL detection gap on non-Java stacks. The sanitizer-aware classifier and the SQL normalizer both assumed JDBC-style ? placeholders, so Go (pgx $1), Python (psycopg %s, SQLAlchemy :name), .NET (@param), and any stack that sends pre-parameterized SQL to the wire were silently classified as redundant_sql instead of n_plus_one_sql. The release also adds framework-aware fix recommendations for Go and Node.js/TypeScript (96 entries, was 70) and comprehensive per-language instrumentation documentation. Full release notes for the daemon at v0.7.7. None of this touches a chart-level template, a daemon HTTP route, a Prometheus metric label set the chart already exposes, or the OTLP listener wire format.

Changed

  • appVersion bumped from 0.7.6 to 0.7.7, default image.tag now resolves to ghcr.io/robintra/perf-sentinel:0.7.7.
  • artifacthub.io/images annotation updated to ghcr.io/robintra/perf-sentinel:0.7.7. Runtime image selection is unaffected (templates already resolve to .Chart.AppVersion when values.yaml image.tag is empty).
  • No chart-level config change. values.yaml, every template, the ServiceMonitor rendering, the NetworkPolicy rendering, the optional [daemon.ack] and [daemon.cors] plumbing, and the ack-toml-baseline mount are byte-for-byte identical to chart-v0.2.42.

Behavior

  • Daemon binary side: sanitizer-aware detection extended to non-Java stacks. template_has_placeholder now recognizes five placeholder styles (?, $?, %s, @param, :name) instead of JDBC-only ?. The SQL normalizer treats PostgreSQL $N positional parameters as placeholders ($?) instead of dollar-quoted string delimiters, enabling query grouping on Go pgx and Python asyncpg traces. Strict mode gains a sequential-siblings signal for bare-driver stacks (Vert.x reactive PG, pgx, asyncpg, sqlx, Prisma queryRaw) and a cache-warm ORM signal for high-occurrence groups with low timing variance (EF Core + Npgsql, Hibernate L2 cache).
  • Daemon binary side: framework-aware fix recommendations for Go and Node.js/TypeScript. The suggested_fix field on findings now covers 6 language ecosystems (Java, C#, Python, Rust, Go, JavaScript) with 19 framework tags and 96 entries. New framework_tag values: go_gorm, go_generic, node_prisma, node_generic. Surfaced in the TUI (perf-sentinel inspect) and the HTML dashboard.
  • Daemon binary side: per-span diagnostic timing stats. Findings now carry optional span_duration_us_p50, span_duration_us_p99, and span_duration_cv_x1000 on the pattern field. Not used in any detection verdict or GreenOps scoring, omitted from JSON when not populated.
  • Daemon binary side: microsecond sequentiality. The sequentiality check in the serialized-calls and pool-saturation detectors is now evaluated in microseconds instead of milliseconds. The previous integer division truncated sub-millisecond durations to zero and let concurrent spans pass the sequentiality gate.
  • No HTTP-shape change on the daemon side. Every /api/* route, every /metrics line, the OTLP HTTP and gRPC routes, and every JSON shape are byte-for-byte identical to chart-v0.2.42 for already-clean inputs.
  • No upgrade hook required, no on-disk migration. The runtime ack store JSONL schema is unchanged, existing acks survive the upgrade.

Install

helm install perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.2.43

Upgrade an existing release:

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

Operator action required only if you use sanitizer_aware_classification = "strict"

Bare-driver workloads may see some groups previously reported as redundant_sql (Warning at >= 5 occurrences) now reported as n_plus_one_sql (Critical at >= 10 occurrences). The serialized_calls and pool_saturation detectors may also fire on sub-millisecond bursts previously masked by the integer-division bug. If your quality_gate rules are wired on critical-only counts, re-baseline n_plus_one_sql_critical_max, serialized_calls_critical_max, and pool_saturation_critical_max (or fix the patterns) before tightening the gate. Full upgrade path at v0.7.7 release notes.

Full Changelog: chart-v0.2.42...chart-v0.2.43

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.