Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Apr 21:00

perf-sentinel v0.1.0

First public release. Lightweight polyglot performance anti-pattern detector for runtime traces.

Features

  • N+1 detection for SQL queries and HTTP calls (same template, different params, within configurable time window)
  • Redundant call detection (exact duplicate queries/calls within a trace)
  • Slow operation detection with configurable thresholds (per-trace, recurring template)
  • SQL normalization: homemade tokenizer replacing literals, UUIDs, IN lists with placeholders
  • HTTP normalization: numeric/UUID path segments replaced, query params stripped
  • GreenOps scoring: I/O Intensity Score (IIS) per endpoint, I/O Waste Ratio, top offenders
  • Carbon estimation: optional gCO2eq conversion based on cloud region (embedded intensity table, no network calls)
  • OTLP ingestion: gRPC (port 4317) and HTTP (port 4318) with both legacy and stable OTel semantic conventions
  • CI quality gate: configurable threshold rules with exit code 1 on failure
  • Daemon mode (perf-sentinel watch): streaming analysis with LRU/TTL trace management
  • Prometheus metrics exposed on /metrics in daemon mode
  • Colored terminal output with TTY detection, JSON output for CI
  • Benchmark mode (perf-sentinel bench): throughput and latency measurement with p50/p99

Performance

  • >100k events/sec throughput
  • <5 MB RSS idle, <20 MB loaded (10k traces)
  • <10 MB binary size (stripped, LTO)
  • <1ms latency per event

Install

# Prebuilt binaries (Linux amd64/arm64, macOS arm64, Windows amd64)
curl -LO https://github.com/robintra/perf-sentinel/releases/download/v0.1.0/perf-sentinel-linux-amd64
chmod +x perf-sentinel-linux-amd64
sudo mv perf-sentinel-linux-amd64 /usr/local/bin/perf-sentinel

Coming soon: cargo install perf-sentinel (crates.io) and Docker image (ghcr.io/robintra/perf-sentinel).

Documentation