Skip to main content

Apache Otava

Continuous performance regression detection powered by statistical change point analysis.

Performance TestsCSVPostgreSQLBigQueryGraphiteOtavarecording…

Performance tests run continuously, publishing metrics (like CPU and throughput) to data sources. Otava pulls and analyzes them.

Change Detection for Continuous Performance Engineering

Otava performs statistical analysis of performance test results stored in CSV files, PostgreSQL, BigQuery, or Graphite database. It finds change-points and notifies about possible performance regressions.

● regressionA real regression: Otava alerts
c0c1c2c3c4c5c6c7Q̂ divergence per candidate split
A single metric's history, with one point per commit.
● stableJust noise: Otava stays quiet
d0d1d2d3d4d5d6d7Q̂ divergence per candidate split
Same metric, but the data is just noisy this time.

Change Point Detection

Say goodbye to fragile static thresholds. Otava analyzes historical distributions to spot persistent performance shifts, ignoring temporary spikes and random noise.

Feature Branch CI

Verify regressions before merging. Run benchmarks against your branch and compare the tail performance directly with your main branch baseline using the CLI.

Flexible Data Ingestion

Ingest metrics directly from Graphite, PostgreSQL, Google BigQuery, or simple CSV files. Integrates smoothly with your existing benchmarking infrastructure.

Slack & Grafana Alerts

Automatically annotate Grafana dashboards with detected change points and send Slack alerts when regressions are isolated to a specific commit range.

In-Browser Playground

Try before you install. Run Otava directly inside your browser on our interactive playground website to analyze sample performance datasets instantly.