PROMETHEUS CARDINALITY COST · RUNS IN YOUR BROWSER

Which labels are inflating your metrics bill?

Paste the output of curl host:port/metrics and get the active series per metric, the labels with high or unbounded cardinality, the exact number of series you would remove by dropping each one, and a monthly cost estimate for your own target count.

Nothing is uploaded. The text box is analysed in this browser and never leaves your device. This reads one scrape: it cannot see your real fleet size or your bill.

1. Paste a /metrics scrape

Prefer a CLI, or want a series budget in CI?

Same logic, zero dependencies, one command — reads a file or stdin:

curl -s localhost:9100/metrics | node cli.mjs analyze -
node cli.mjs analyze metrics.txt --targets 40
node cli.mjs analyze metrics.txt --targets 40 --max-series 50000   # exit 1 over budget
node cli.mjs analyze metrics.txt --json
node cli.mjs analyze metrics.txt --prices my-prices.json           # your negotiated prices

Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: why metrics bills explode and which labels to drop.

What's recognised

InputHandling

List prices in the built-in table are illustrative and dated; edit them with --prices or the CLI JSON file. Hosted vendors count series in their own ways, so use your plan's rules for the final number.

Common questions

Does this read my Prometheus server or my bill?

No. It reads the text you paste, which is one scrape of one target. It cannot see how many targets you run, how labels churn over days, or your negotiated price. Every dollar figure is that series count times a target count and prices you type, so treat it as a way to compare options, never a measurement of what you are charged.

What is a series, and why does a label multiply it?

Every distinct combination of a metric name and its label values is one time series, and hosted plans bill by active series. A metric with a path label that takes 5,000 values and a method label that takes 4 can be 20,000 series. Drop or bucket the label and the multiplier goes away.

How is the saving from dropping a label calculated?

Exactly, from the scrape you pasted: the tool removes that label from every series of the metric and counts how many distinct series remain. Nothing is guessed. It does not know whether a dashboard or alert still needs that label, so check before relabelling.

Is my metrics output uploaded anywhere?

No. The browser page analyses the text in your own browser and never sends it anywhere. The CLI reads a local file or stdin and makes no network call.