Scrape Interval Calculator
Calculate Prometheus scrape load from target count and interval, and compare it against your scrape capacity.
Inputs
Number of endpoints Prometheus scrapes.
Time between scrapes of each target.
Average time to complete one scrape (network + target response + parse).
Concurrent scrapes your Prometheus instance can sustain (driven by scrape_timeout and worker concurrency).
Scrape Capacity Utilization
3.2%
Concurrent Scrape Load
1.60
Scrapes per Second
20.00/s
Max Targets at This Interval
9,375targets
Step by step
Scrapes per second: targets ÷ interval
300 ÷ 15s
= 20.00/s
Concurrent scrape load: rate × duration
20.00/s × 0.080s
= 1.60 concurrent
Capacity utilization
1.60 ÷ 50
= 3.2%
Max targets sustainable at this interval
(50 ÷ 0.080s) × 15s
= 9375 targets
How it works
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
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.
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