Jaeger Capacity Calculator
Calculate Jaeger collector and storage capacity needed for your trace volume.
About Jaeger Capacity Calculator
Jaeger's actual storage footprint depends heavily on which backend it uses: storage = traces_per_day × retention × avg_trace_size, then adjusted for backend-specific overhead. Elasticsearch adds indexing overhead (~1.4× raw data) for search capability, while Cassandra's default 3× replication factor for high availability, combined with compaction overhead, typically results in a larger total footprint despite simpler per-write storage.
Formula
required_collectors = ceil(spans_per_sec / max_spans_per_collector_per_sec)
- spans_per_sec
- Total spans ingested per second
- max_spans_per_collector_per_sec
- Maximum spans one Jaeger collector can process
Worked example
With the default values below, Jaeger Capacity Calculator returns Elasticsearch Backend Storage of 74.77. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Traces per Dayaccepts 0–1,000,000,000,000 traces/day
- 1,000,000 traces/day
- Retention Periodaccepts 1–3,650 days
- 7 days
- Avg Trace Sizeaccepts 0.1–100,000 KB
- 8 KB
Results
- Elasticsearch Backend Storage
- 74.77 GB
- Cassandra Backend Storage
- 176.24 GB
- Raw Trace Data (no backend overhead)
- 53.41 GB
- Daily Raw Trace Volume
- 7.63 GB/day
Step by step
- 1Daily raw trace data: traces × avg size= 7.63 GB/day
- 2Total raw data over retention= 53.41 GB
- 3Elasticsearch storage (×1.4 index overhead)= 74.77 GB
- 4Cassandra storage (×3 replication × 1.1 compaction)= 176.24 GB
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax or fees or charges into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Should I choose Elasticsearch or Cassandra for Jaeger?
Elasticsearch offers richer ad-hoc query and search capability at query time, while Cassandra generally offers better write throughput and horizontal scalability for very high trace volumes — the storage tradeoff shown here is one factor among several (query patterns, operational familiarity) in that decision.
Why does Cassandra need 3x replication by default?
Cassandra's default replication factor of 3 ensures data survives node failures without loss, at the cost of storing three full copies of every trace — this can be tuned lower for non-critical trace data, trading resilience for storage savings.
Can I reduce Jaeger storage without changing retention?
Lowering the sampling rate feeding into Jaeger is the most effective lever, since it reduces traces_per_day directly — the same effect can't be achieved for a fixed retention period without dropping data granularity another way.
Does Jaeger support tiered/cold storage for older traces?
Yes, with backends like Elasticsearch you can implement index lifecycle management (ILM) to move older trace indices to cheaper storage tiers or delete them entirely once past a threshold, independent of the primary retention window.
Related Calculators
You might also need
- Tracing Storage CalculatorCommonly used together
- Zipkin Storage CalculatorCommonly used together
- Distributed Trace Growth CalculatorCommonly used together
- Log Ingestion CalculatorAlso in Logging & Observability
- Fluentd Buffer CalculatorAlso in Logging & Observability
- Log Compression CalculatorAlso in Logging & Observability
