- Collects metrics from applications using Ebean ORM that send it their metrics.
- Performs a rollup of metrics on 1 min, 10 min, 1 hour basis.
- Supports ability to request Query plans and collect query plans
- For Postgres query plans, uses pev2 to view query plan details
- Can also forward ingested metrics to any OTLP/HTTP collector (Grafana Alloy, OpenTelemetry Collector, Grafana Cloud, etc.)
| Mode | What it does | Postgres |
|---|---|---|
| Persist (default) | Stores metrics + query plans in Postgres, runs rollups, serves UI. | required |
| Forward-only | Pure smart-proxy — forwards each ingest via OTLP, optionally logs query plans. | not required |
Set both METRICS_STORE_ENABLED=false and PLANS_STORE_ENABLED=false to
enable forward-only mode. Either mode can additionally forward via
FORWARD_OTEL_ENABLED=true + FORWARD_OTEL_ENDPOINT=http://....
See docs/deployment-modes.md for full
configuration, env-var reference, Docker examples and expected startup logs.
- Support reporting aggregated metrics onto Graphite, StatsD, etc
- Provide automation for automatically collecting query plans for:
- new queries,
- queries that exceed a threshold (anomalies)
Requires GraalVM installed
sdk install java 24-graal
sdk use java 24-graalBuild on a Mac (no G1GC supported)
mvn clean package -P native,mac -DskipTestsBuild on a Linux (with G1GC)
mvn clean package -P native,linux -DskipTests- Requires docker to be installed locally
- Run the main method on src/test/java/main/StartPostgresDocker
Run the native application. We pass it an external configuration file via -Dprops.file=.
./target/ebean-insight -Dprops.file=application.yaml