Track trends, not snapshots
Store benchmark results over time so teams can see whether performance is improving, holding steady, or slipping.
Benchmark performance tracking for shipping teams
Perfall gives engineering teams one standalone CLI for benchmark uploads: run
pytest --benchmark-json, upload with perfall ingest pytest-benchmark,
compare trends over time, and spot drift before release.
Store benchmark results over time so teams can see whether performance is improving, holding steady, or slipping.
Keep benchmark history tied to the product work it belongs to, with access scoped to the right team members.
Use chart views and metric history to understand what changed without rebuilding custom dashboards.
Supported languages
Perfall ships one standalone Python client package, perfall-cli, with built-in adapters so teams can keep one trend history even
when services are written in different languages.
Python
Use pytest-benchmark JSON output.
Go
Upload go test -bench -benchmem -json results.
Java
Send JMH JSON results from benchmark runs.
Rust
Ingest cargo criterion --message-format=json output.
JavaScript / TypeScript
Track Vitest benchmark JSON artifacts.
C++
Use Google Benchmark JSON exports.
1
Set up a project workspace for the application or service you want to track.
2
Install the standalone perfall-cli package from PyPI once, then pick
the adapter that matches your benchmark output. Need the full guide? Open
the ingestion docs.
Python
pip install perfall-cli
pytest --benchmark-json benchmark.json
perfall ingest pytest-benchmark --file benchmark.json --api-key "$PERFALL_API_KEY"
Go
pip install perfall-cli
go test -bench . -benchmem -json ./... > go-benchmark.jsonl
perfall ingest go-test --file go-benchmark.jsonl --api-key "$PERFALL_API_KEY"
Java
pip install perfall-cli
java -jar benchmarks.jar -rf json -rff jmh-result.json
perfall ingest jmh --file jmh-result.json --api-key "$PERFALL_API_KEY"
Rust
pip install perfall-cli
cargo criterion --message-format=json > cargo-criterion.jsonl
perfall ingest criterion --file cargo-criterion.jsonl --api-key "$PERFALL_API_KEY"
JavaScript / TypeScript
pip install perfall-cli
npx vitest bench --outputJson vitest-benchmark.json
perfall ingest vitest --file vitest-benchmark.json --api-key "$PERFALL_API_KEY"
C++
pip install perfall-cli
./benchmarks --benchmark_out=google-benchmark.json --benchmark_out_format=json
perfall ingest google-benchmark --file google-benchmark.json --api-key "$PERFALL_API_KEY"
3
Open the dashboard to compare metrics, watch drift across releases, and catch regressions earlier.
Perfall is designed for teams that already run benchmarks and want an easier way to keep the history useful. Instead of scattered logs or one-off scripts, teams get a focused place to review benchmark behavior over time.
Every tier includes unlimited projects. Pricing scales with account-wide benchmark samples/day and invited collaborators per project. Quota resets at 00:00 UTC.
Free
$0 / month
Team
$50 / month
Large
$200 / month
Create an account, set up your first project, and make benchmark regressions easier to catch before release day.