Scrape Interval Calculator
Determine the right Prometheus scrape interval balancing granularity and storage cost.
About Scrape Interval Calculator
Scrape load = targets ÷ interval, and multiplying by average scrape duration gives the effective number of concurrent in-flight scrapes: concurrent_load = (targets / interval) × avg_duration. Comparing this against your Prometheus instance's sustainable scrape capacity (bounded by scrape_timeout, network fan-out, and worker concurrency) shows whether your current interval/target combination is safe or will cause scrape delays and gaps.
Formula
samples_per_day = (86400 / scrape_interval_sec) × targets
- scrape_interval_sec
- Seconds between scrape attempts
- targets
- Number of scrape targets
Worked example
With the default values below, Scrape Interval Calculator returns Scrape Capacity Utilization of 3.2%. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Scrape Targetsaccepts 1–1,000,000 targets
- 300 targets
- Scrape Intervalaccepts 1–3,600 seconds
- 15 seconds
- Average Scrape Durationaccepts 1–60,000 ms
- 80 ms
- Scrape Capacityaccepts 1–1,000,000 scrapes/sec
- 50 scrapes/sec
Results
- Scrape Capacity Utilization
- 3.2%
- Concurrent Scrape Load
- 1.60
- Scrapes per Second
- 20.00 /s
- Max Targets at This Interval
- 9,375 targets
Step by step
- 1Scrapes per second: targets ÷ interval= 20.00/s
- 2Concurrent scrape load: rate × duration= 1.60 concurrent
- 3Capacity utilization= 3.2%
- 4Max targets sustainable at this interval= 9375 targets
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 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
What happens if concurrent load exceeds capacity?
Scrapes start queuing and some may exceed `scrape_timeout`, resulting in missed/failed scrapes that show up as gaps in your metrics and `up == 0` for affected targets during the overload window.
Should I lower the scrape interval or add more Prometheus capacity first?
It depends on your goals — if you need higher-resolution data, scale capacity (more Prometheus replicas/shards, faster hardware, network tuning); if the current resolution is already sufficient, raising the interval is usually the cheaper fix.
Why does scrape duration matter as much as target count?
A target that's slow to respond (large metrics payload, slow app) ties up a scrape worker longer, so a smaller number of slow targets can create the same concurrent load pressure as many fast targets.
How do I measure real scrape capacity?
Watch `prometheus_target_scrapes_exceeded_sample_limit_total`, `scrape_duration_seconds`, and `up` metric flapping under load — sustained increases in scrape duration as target count grows is a sign you're approaching capacity.
Related Calculators
You might also need
- Metrics Cardinality CalculatorCommonly used together
- Alert Frequency CalculatorCommonly used together
- Metric Ingestion CalculatorCommonly used together
- Prometheus TSDB Size CalculatorCommonly used together
- Grafana Dashboard Load CalculatorCommonly used together
- Prometheus Retention CalculatorAlso in Monitoring
