Show HN: Okapi – a metrics engine based on open data formats
4 days ago
- #object-storage
- #metrics-engine
- #observability
- Okapi is a metrics engine using object storage and Parquet for cost-effective historical data storage.
- Recent data is stored in-memory for fast queries, with benchmarks showing 283,500 samples/s ingest throughput.
- Periodic snapshots ensure durability, but in-flight data may be lost in catastrophic failures.
- Distributed mode exists but hasn't been battle-tested in production.
- No vendor lock-in; data is accessible via open formats like Parquet.
- Cheaper storage with S3 ($0.023/GB) compared to EBS ($0.08/GB).
- Hot and cold-tier partitioning keeps dashboards realtime while retaining historical data.
- Integration with OLAP tools like IceBerg and Parquet for observability workflows.
- Quick start via Docker: `docker run --rm -p 9000:9000 ghcr.io/okapi-core/okapi:latest --spring.profiles.active=isolated`.
- Endpoints include `/api/v1/metrics` for ingestion, `/api/v1/metrics/q` for queries, and `/api/v1/metrics/ready` for health checks.
- Admission window (`--admissionWindowHrs`) controls how long metrics stay in-memory before being exported to Parquet.
- Under active development: ingestion, querying, and Parquet export work; distributed sharding and PromQL-style queries planned.