Agent-Ready Observability
Logs, metrics, and traces, built on S3
High-performance, extremely low-cost observability for the era of software abundance. Don’t sacrifice on performance, cost, or flexibility.
Loki, Prometheus, and Tempo, rewritten in Rust
Roughly 50% faster, vastly simpler
A fraction of the cost
Rust rewrites
The stack you already run, without the operational toil
Re-instrumenting is a non-starter, so each store speaks the protocols and query languages you already use. Point your agents and Grafana at a new URL and keep everything else.
Logs, replacing Loki
Metrics, replacing Prometheus
Traces, replacing Tempo
One engine underneath
Faster and vastly simpler
A writer, a stateless reader, and a bucket
The Grafana stack is nine interlocking services, hash rings, and replicated disks. Tuning it and owning it in production is out of reach for most teams. Plural Telemetry is writers in front of object storage and stateless readers that use local disk only as a cache, so scaling up means adding pods.
lower query latency on average vs Loki, Mimir, and Tempo
faster median trace query than Tempo
of Mimir’s CPU for the same workload
replicated disks, hash rings, or ZooKeeper to run
Fuzz tested
Fuzzed against the real thing
Prometheus, Loki, and Tempo are the executable spec. Every store is tested against its reference implementation on identical data and queries, so compatibility and speed are measured together rather than claimed separately.
Oracle regression tests
Nightly differential fuzzing
Published benchmarks
Query latency from the published runs
Median and tail latency for each store against its peer, both on an S3 backend:
| Store | Peer | Peer p50 | Plural p50 | Peer p99 | Plural p99 |
|---|---|---|---|---|---|
| Plural Logs | Loki | 9.2 ms | 6.1 ms | 497.6 ms | 216.4 ms |
| Plural Metrics | Mimir | 4.6 ms | 1.8 ms | 81.4 ms | 22.1 ms |
| Plural Traces | Tempo | 20.9 ms | 3.9 ms | 159.8 ms | 66.6 ms |
Prometheus serving small queries from local disk is faster at the median; its tail latency is similar to ours.
Runs anywhere
Deploy to any Kubernetes cluster with the operator
Install one Helm chart, then declare each database as a custom resource. The operator runs it in your cluster, against your own bucket, and handles rolling restarts, scaling, and volume resizing.
- Metrics, Logs, and Traces custom resources, plus per-tenant credentials
- Writers, per-shard readers, Services, PDBs, autoscalers, and Ingress
- S3, GCS, or Azure Blob, with IRSA, Pod Identity, or workload identity
- Standalone mode for dev and edge, sharded mode for production
Agent-ready
Agents are the new primary consumer of telemetry
Agents don’t need a dashboard. They need a fast, programmable API over the raw data. Every store answers over plain HTTP, with namespaced multi-tenancy and per-namespace auth, so each agent sees only the telemetry it should.
Observability is a core integration point for Plural’s workbenches, so investigations run against your own data, in your own cluster.
Cost breakdown
What 5 TB/day of logs actually costs
Compare Plural Telemetry with self-hosted Loki and Datadog. Every assumption is adjustable.
Compute 24 writer + 12 reader vCPU | $1,072 |
Object storage 10,313 GB incl. index | $237 |
Object requests WAL, SST, compaction, cache misses | $510 |
Cross-AZ traffic write forwarding + query fan-out | $464 |
Compute 129 vCPU (66 in RF=3 ingesters) | $3,842 |
Object storage 9,656 GB chunks + index | $222 |
Object requests chunk flushes, query fetches | $693 |
Cross-AZ traffic replication to 3 ingesters | $2,027 |
WAL volumes 17 × 100 GB gp3 | $136 |
Ingestion $0.10 / GB ingested | $15k |
Indexing $1.70 / M events, 15-day retention | $398k |
Priced per event indexed
Replication and sprawl
Write once, let S3 keep it
Questions
Do I have to re-instrument anything?
What happens when a writer dies?
How do you know it’s compatible and fast?
Is it open source?
Observability that’s cheap and boring
See Plural Telemetry and agents working on your own clusters in a 30-minute demo.
