Official agent skill

Dpm Finder

by grafana in grafana/skills

Find the Prometheus metrics that drive your Grafana Cloud bill.

OfficialApache-2.0Auto-check: notesDevOps & Cloud

Install Dpm Finder

skills CLI
$ npx skills add grafana/skills --skill dpm-finder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install grafana/skills dpm-finder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/grafana-cloud/dpm-finder .claude/skills/dpm-finder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dpm-finder
GitHub stars
282
Token cost
~966 tokens
SKILL.md length
247 words
Files
2 (incl. references)
Skills in repo
51
Repo updated
First seen
Licence
Apache-2.0

At a glance

Find the Prometheus metrics that drive your Grafana Cloud bill.

  • Investigating high Grafana Cloud spend
  • SKILL.md covers Prerequisites, Common Workflows, Interpreting results and Troubleshooting, plus 2 more sections
  • Calls jq, git and python3; reaches github.com; needs PROMETHEUS_API_KEY
  • Hunting noisy / high-cardinality metrics

What it does

Dpm Finder is an agent skill from grafana/skills, published by the product's own GitHub organization. Find the Prometheus metrics that drive your Grafana Cloud bill. dpm-finder is a Grafana Professional Services CLI that ranks metrics by Data Points per Minute (DPM) with per-label-set breakdown, optional --cost-per-1000-series pricing, and a Prometheus-exporter mode. Use when investigating high Grafana Cloud spend, hunting noisy / high-cardinality metrics, comparing pre/post recording-rule cardinality, or feeding cost data into dashboards — even when the user says "why is my Mimir bill so high?", "find the…

Its SKILL.md is about 970 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/cli.md`).

It sits in DevOps & Cloud, covering Monitoring and alerting. It works with Grafana and Prometheus. The licence is Apache-2.0.

When your agent uses it

  • Investigating high Grafana Cloud spend
  • Hunting noisy / high-cardinality metrics
  • Comparing pre/post recording-rule cardinality
  • Feeding cost data into dashboards — even when the user says why is my Mimir bill so high?

Example prompts

  • “why is my Mimir bill so high?”
  • “find the biggest metrics”
  • “cardinality offenders”
  • “/dpm-finder”

Requirements

  • Python 3
  • Docker
  • A credential in PROMETHEUS_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 1ccacf2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • git
    • python3
    • pip
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PROMETHEUS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dpm Finder loads about 966 tokens when it runs, and up to ~1.4k if it reads all its reference files. Until then it costs about 157 tokens; SKILL.md has 247 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~157
When it runs · the whole SKILL.md, loaded when a task matches
~966
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:27
    2. Configure creds — copy .env_example → .env and fill in:

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from grafana/skills at commit 1ccacf2, republished under its Apache-2.0 licence (© grafana). 247 words, ~966 tokens.

Download SKILL.mdSave it as .claude/skills/dpm-finder/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
dpm-finder
description
Find the Prometheus metrics that drive your Grafana Cloud bill. `dpm-finder` is a Grafana Professional Services CLI that ranks metrics by Data Points per Minute (DPM) with per-label-set breakdown, optional `--cost-per-1000-series` pricing, and a Prometheus-exporter mode. Use when investigating high Grafana Cloud spend, hunting noisy / high-cardinality metrics, comparing pre/post recording-rule cardinality, or feeding cost data into dashboards — even when the user says "why is my Mimir bill so high?", "find the biggest metrics", "cardinality offenders", or "optimize Prometheus cost" without naming dpm-finder.
license
Apache-2.0

dpm-finder

Grafana PS tool ranking Prometheus metrics by DPM with per-series breakdown. Source: https://github.com/grafana-ps/dpm-finder

Prerequisites

  • Python 3.9+
  • A Grafana Cloud Prometheus endpoint URL + numeric stack ID + API key (glc_…, metrics:read scope)

Common Workflows

One-shot analysis (most common)
bash
# 1. Clone + venv + install
git clone https://github.com/grafana-ps/dpm-finder.git
cd dpm-finder
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# 2. Configure creds — copy .env_example → .env and fill in:
#    PROMETHEUS_ENDPOINT  https://prometheus-<cluster_slug>.grafana.net  (NOTHING after .net)
#    PROMETHEUS_USERNAME  <numeric stack id>
#    PROMETHEUS_API_KEY   glc_…

# 3. Verify creds before scanning — should return >0 series count
curl -s -u "$PROMETHEUS_USERNAME:$PROMETHEUS_API_KEY" \
  "$PROMETHEUS_ENDPOINT/api/v1/label/__name__/values" | jq '.data | length'

# 4. Run the scan (10-min lookback, 2.0 DPM minimum, top output)
./dpm-finder.py -f json -m 2.0 -t 8 --timeout 120 -l 10

# 5. Read the result — top 10 metrics by DPM
jq -r '.metrics | sort_by(-.dpm) | .[:10][] | "\(.dpm)\t\(.series_count)\t\(.metric_name)"' metric_rates.json

If step 5 is empty, lower -m or confirm the endpoint URL has no trailing path after .net.

Discover stack details with gcx

If gcx is installed it can derive the endpoint + username:

bash
gcx config check          # active stack context
gcx config list-contexts  # all configured stacks
gcx config view           # full config with endpoints

The Prometheus endpoint pattern is https://prometheus-{cluster_slug}.grafana.net. Username is the numeric stack ID.

Without gcx: look up in the Grafana Cloud portal, or query grafanacloud_instance_info{name=~"STACK_NAME.*"} on the usage datasource.

Multi-stack runs

Limit to max 3 concurrent runs to avoid GCloud rate limits. Batch the stacks and wait for each batch before the next.

Interpreting results

  • DPM = max data points per minute across that metric's series
  • series_count = active time-series count for that metric
  • series_detail[] (JSON / text only) = per-label-combination DPM breakdown — use this to spot the offending label
  • Sort by DPM descending → noisiest metrics; combine with --cost-per-1000-series to prioritize by spend

Troubleshooting

  • 401 / 403 — API key invalid or missing metrics:read; confirm PROMETHEUS_USERNAME is the numeric stack ID
  • Timeouts — bump --timeout to 120+ for stacks with thousands of metrics
  • HTTP 422 — metric has aggregation rules; tool warns + skips automatically
  • Empty results — lower -m; verify endpoint has no trailing path
  • Connection errors — exponential backoff retries up to 10 times; persistent failure usually = network/firewall

References

  • references/cli.md — full flag reference, output-format details, exporter mode, Docker invocation, auto-exclusion rules, retry behavior

Resources

© grafana, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/grafana-cloud/dpm-finder of grafana/skills.

  • SKILL.md
  • references/cli.md

Open the folder on GitHubat commit 1ccacf2

Compare with similar skills

Dpm Finder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dpm Finder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dpm Finder this skillgrafana/skills282—~966Automated safety check: NotesApache-2.0
Happy Infra Metrics and Grafanaslopus/happy24k—~2kAutomated safety check: NotesMIT
Syncmetapawurb/hotpath-rs1.9k—~1.2kAutomated safety check: NotesMIT
Optimize Slurm TopologyNVlabs/alpasim1.3k—~1.6kAutomated safety check: PassApache-2.0
Dashboard Previewm4r1k/Eneru149—~1.4kAutomated safety check: PassMIT
Graftm4r1k/Eneru1491 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Queries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API.

    24k GitHub stars~2k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Syncmeta

    pawurb/hotpath-rs

    Sync changes from the hotpath, hotpath-macros and hotpath-drain crates to their meta counterparts (hotpath-meta, hotpath-macros-meta and hotpath-drain-meta).

    1.9k GitHub stars~1.2k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Optimize AlpaSim Slurm topology throughput using persistent local Prometheus/Grafana telemetry and run artifacts.

    1.3k GitHub stars~1.6k tokensUpdated 23 days ago
    DevOps & CloudAuto-check passed
  • Visually verify Eneru browser-dashboard changes against a live daemon or audit an exact deployment.

    149 GitHub stars~1.4k tokensUpdated 3 days ago
    DevOps & CloudAuto-check passed
  • Graft

    m4r1k/Eneru

    This repo is indexed by graft/. An agent skill from m4r1k/Eneru.

    149 GitHub starsUsed in 1 repo~2.3k tokens
    DevOps & CloudAuto-check passed
  • Release Review

    m4r1k/Eneru

    Mandatory pre-release deep review for minor/major releases (X.Y.0 / X.0.0).

    149 GitHub stars~1.9k tokensUpdated 3 days ago
    DevOps & CloudAuto-check passed

More from grafana/skills

All 51 skills in this repo
  • K6 Docs

    grafana/skills

    Official

    Write or review k6 documentation across the three k6 repositories - k6-DefinitelyTyped (TypeScript types), k6-docs (user documentation), and k6 (release notes / changelog).

    282 GitHub stars~678 tokensUpdated 2 days ago
    Auto-check passed
  • Alerting Irm

    grafana/skills

    Official

    Configure Grafana Alerting, Incident Response Management (IRM), and SLOs end-to-end — provisions Grafana-managed and data-source-managed alert rules, contact points (Slack/PagerDuty/email/webhook)…

    282 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Dashboarding

    grafana/skills

    Official

    Build, modify, and ship Grafana dashboards as JSON via the HTTP API — panel types (timeseries / stat / gauge / table / heatmap / logs / traces / node-graph), gridPos 24-column layout, units…

    282 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • K6 Perf Test Website

    grafana/skills

    Official

    A skill your agent uses when the user wants to performance-test, load-test, or stress-test a public website end-to-end with k6.

    282 GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check passed
  • Promql

    grafana/skills

    Official

    Write, validate, and optimize PromQL for Prometheus / Grafana Mimir / Grafana Cloud Metrics.

    282 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Adaptive Metrics

    grafana/skills

    Official

    Cut Grafana Cloud Metrics cost by shrinking active-series count with Adaptive Metrics aggregation rules — auto-recommendations from query history, custom exact/regex rules, label-drop config…

    282 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Dpm Finder

What does Dpm Finder do?

Find the Prometheus metrics that drive your Grafana Cloud bill. Dpm Finder is an agent skill from grafana/skills, published by the product's own GitHub organization. Find the Prometheus metrics that drive your Grafana Cloud bill.

When should I use Dpm Finder?

Dpm Finder fits situations like: investigating high Grafana Cloud spend; hunting noisy / high-cardinality metrics; comparing pre/post recording-rule cardinality; feeding cost data into dashboards — even when the user says why is my Mimir bill so high?.

How do I install Dpm Finder in Claude Code?

Run `npx skills add grafana/skills --skill dpm-finder -a claude-code`. Or copy the skill folder (skills/grafana-cloud/dpm-finder in grafana/skills) into .claude/skills/dpm-finder in your project. Claude Code loads it when a task matches its description.

How do I install Dpm Finder in Codex?

Run `npx skills add grafana/skills --skill dpm-finder -a codex`. Or copy the skill folder (skills/grafana-cloud/dpm-finder in grafana/skills) into .agents/skills/dpm-finder in your project. Codex loads it when a task matches its description.

Can I use Dpm Finder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add grafana/skills --skill dpm-finder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dpm-finder, .gemini/skills/dpm-finder, .github/skills/dpm-finder and .opencode/skills/dpm-finder in your project.

What does Dpm Finder need to run?

Going by SKILL.md and its folder, Dpm Finder needs the command-line tools its instructions call (jq, git, python3, pip and curl) and credentials named PROMETHEUS_API_KEY. Our summary lists: Python 3; Docker; A credential in PROMETHEUS_API_KEY.

Does Dpm Finder access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Dpm Finder safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Dpm Finder use?

Dpm Finder is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dpm Finder use?

About 966 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 470 tokens, read only when the agent opens those files.

What are the alternatives to Dpm Finder?

Skills that share tags, products or a category with Dpm Finder: Happy Infra Metrics and Grafana (slopus/happy, 24k stars), Syncmeta (pawurb/hotpath-rs, 1.9k stars), Optimize Slurm Topology (NVlabs/alpasim, 1.3k stars) and Dashboard Preview (m4r1k/Eneru, 149 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dpm Finder?

grafana (a GitHub organization, an official publisher) maintains it in grafana/skills, which has 282 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on October 8, 2026.

Source: grafana/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.