Metric Ingestion Calculator
Calculate total metric samples ingested per second across all monitored targets.
About Metric Ingestion Calculator
Total ingestion rate = scrapers × targets_per_scraper × metrics_per_target ÷ scrape_interval. This is the core number that drives TSDB write throughput, CPU cost of sample appends, and — combined with retention — total disk usage. Sharding scrapers evenly (targets_per_scraper roughly equal across shards) keeps per-scraper ingestion balanced and avoids any single Prometheus instance becoming a hotspot.
Formula
ingestion_rate_samples_per_sec = active_series / scrape_interval_sec
- active_series
- Total active time series being scraped
- scrape_interval_sec
- Seconds between scrapes
Worked example
With the default values below, Metric Ingestion Calculator returns Total Ingestion Rate of 12,000.0. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Prometheus Scrapers/Shardsaccepts 1–10,000 scrapers
- 3 scrapers
- Targets per Scraperaccepts 1–1,000,000 targets
- 400 targets
- Metrics per Targetaccepts 1–1,000,000 metrics
- 150 metrics
- Scrape Intervalaccepts 1–3,600 seconds
- 15 seconds
Results
- Total Ingestion Rate
- 12,000.0 samples/sec
- Total Series Scraped
- 180,000 series
- Per-Scraper Ingestion Rate
- 4,000.0 samples/sec
- Daily Ingested Samples
- 1,036,800,000
Step by step
- 1Total targets: scrapers × targets/scraper= 1200 targets
- 2Total series scraped: targets × metrics/target= 180,000 series
- 3Ingestion rate: series ÷ scrape interval= 12000.0 samples/sec
- 4Per-scraper ingestion rate= 4000.0 samples/sec/scraper
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 1 decimal place, 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
What's a healthy ingestion rate per Prometheus instance?
A single well-resourced Prometheus instance commonly handles hundreds of thousands to low millions of samples per second, but the practical ceiling depends heavily on cardinality, query load, and available CPU/memory — benchmark your specific workload rather than relying on a universal number.
Why does metrics-per-target vary so much between services?
Client libraries auto-expose runtime metrics (GC stats, HTTP histograms with many buckets, per-endpoint counters) that scale with how many distinct label combinations an app has — a service with many endpoints or per-customer labels can expose orders of magnitude more series than a simple service.
Does this account for federation or remote_write fan-out?
No — this models direct scrape ingestion only. If you federate or remote_write to a central store, that store's ingestion rate is a separate (often equal or aggregated) calculation on top of this per-scraper figure.
How do I reduce ingestion rate without losing visibility?
Use `metric_relabel_configs` to drop unused metrics/labels at scrape time, increase scrape interval for low-value/high-cardinality targets, and rely on recording rules to pre-aggregate high-cardinality raw series into cheaper derived series.
