v0.2.1
perf-sentinel v0.2.1
Patch release with correctness fixes, hardening, and project maintenance.
Bug Fixes
- SQL normalizer UTF-8 fix: replaced byte-to-char casting (
b as char) with&strslice extraction, fixing corruption for multi-byte characters in string literals and dollar-quoted strings - Timestamp parsing fix:
parse_timestamp_msnow computes milliseconds since Unix epoch (not midnight) using days_from_civil algorithm, fixing false negatives for traces spanning midnight
Improvements
- Report header:
format_colored_reportparameterized with title, shows "report" foranalyze, "demo" fordemo - Config validation:
validate_listen_addrreturnsResult<(), String>for consistency with sibling validators - TopOffender: removed redundant
io_ops_per_requestfield (identical toio_intensity_score) - Pre-allocations:
Vecin SQL normalizer,HashMapin redundant/slow detectors - Demo assets regenerated (docs/img/) to reflect updated CLI output
Documentation & project
- Phase 5 roadmap and enhanced comparison table in README
- Corrected accuracy for Hypersistence Optimizer, Datadog, New Relic and Digma in comparison table
- Bug report and feature request issue templates
- CODEOWNERS file
- CI: skip workflows on fork PRs to prevent malicious code execution
Install
# Prebuilt binaries (Linux amd64/arm64, macOS arm64, Windows amd64)
curl -LO https://github.com/robintra/perf-sentinel/releases/download/v0.2.1/perf-sentinel-linux-amd64
chmod +x perf-sentinel-linux-amd64
sudo mv perf-sentinel-linux-amd64 /usr/local/bin/perf-sentinel# From crates.io
cargo install perf-sentinel# Docker
docker pull robintrassard/perf-sentinel:0.2.1Also available on GHCR: ghcr.io/robintra/perf-sentinel:0.2.1