What's new in v0.16.0
tempo and jaeger-query gain an absolute search window. Building it turned up the reason one was needed: jaeger-query --service had never sent a window at all.
The window that was never sent
jaeger-query expressed its window as lookback. Victoria Traces implements the Jaeger query API but reads that parameter only on its service-graph endpoint, never on /api/traces, so it was discarded and the search ran from the Unix epoch, bounded by nothing but --max-traces. Nothing in the output says so: a search over all of history returns the recent traces too.
lookback=1s 5 traces
start/end over that same second 0 traces
Both window forms now send explicit start and end. Against Jaeger upstream this swaps one honored parameter for two others, same results. Against Victoria Traces, expect fewer traces, and the right ones.
An absolute window
perf-sentinel jaeger-query --endpoint http://victoria-traces:10428/select/jaeger \
--service order-svc --from 2026-08-20T15:00:00Z --to 2026-08-20T16:00:00ZISO 8601 UTC, given as a pair, mutually exclusive with --lookback and with --trace-id. A lookback drifts because it resolves when the request is issued, which makes it useless for re-reading a specific hour three days ago.
Upgrade impact
- Victoria Traces needs a path in
--endpoint:http://host:10428/select/jaeger. The example indocs/INTEGRATION.mdomitted it and had never worked. Jaeger upstream stays at the root. - Breaking,
perf-sentinel-coreonly: six ingest functions take aSearchWindowwhere they took aDuration. Wrap a lookback asSearchWindow::Lookback(d).tempo::parse_lookback,jaeger_query::parse_lookbackand theirInvalidLookbackvariants are gone;ingest::lookback::parseis public and unchanged. - The lookback parser accepts
d, so7dand180dno longer have to be written in hours. - CLI surface otherwise unchanged, daemon API untouched, MSRV stays 1.97.1.
Full detail in CHANGELOG.md.
Verifying this release
# Binary integrity via SLSA Build L3 attestation
gh attestation verify perf-sentinel-linux-amd64 \
--repo robintra/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.16.0" \
--expected-issuer "https://token.actions.githubusercontent.com" \
--verify-binary ./perf-sentinel-linux-amd64gh CLI 2.49 or newer required for gh attestation verify.