consensys/ask-o11y-plugin/querying-profiles
Claude Code and agent skill by consensys/ask-o11y-plugin
- community
Checking that the SKILL.md file is still in the repository.
Queries continuous profiling data in Pyroscope to find CPU, memory, and contention hotspots. Use when the user asks what is burning CPU, causing high memory, allocations, goroutine leaks, lock contention, or asks for a flame graph — even when they say "why is memory so high", "profile this service", or "find the hotspot" without naming Pyroscope.
Install
npx vskill@latest install consensys/ask-o11y-plugin/querying-profilesSKILL.md
Profile query workflow
- Identify the datasource UID — every Pyroscope tool requires
data_source_uid(the plugin's configured Pyroscope datasource). - Discover profile types — List available profile types with
list_pyroscope_profile_typesto confirm what this instance collects (CPU, memory, goroutines, mutex, block). - Discover labels and values — Use label discovery tools to enumerate label names (
service_name,env,namespace, ...) and verify concrete values exist before filtering. - Run the profile query — Call
query_pyroscopewith:
profile_type— confirmed in step 2matchers— label selectors, e.g.{service_name="payments", env="prod"}(comma-separatedkey="value"pairs inside braces)query_type—profile(flamegraph data),metrics(time-series of the same profile), orboth(default; one call, complete analysis)format—table(default) for the per-function flat/cumulative table, ordotfor a Graphviz call graphgroup_by— labels to group themetricsseries by (e.g.service_name)
- Read the flame graph — flat (self) vs cumulative interpretation below.
- Compare windows — for regressions, diff the same profile type before/after a deploy or peak vs baseline; deltas localize the offending function.
Profile types and symptoms
| Symptom | Profile type | |
|---|---|---|
| High CPU | process_cpu:cpu:nanoseconds:cpu:nanoseconds | |
| OOM / memory growth | memory:inuse_space:bytes:space:bytes | |
| GC pressure / allocation churn | memory:alloc_space:bytes:space:bytes | |
| Hung/slow goroutines | goroutine:goroutine:count:: | |
| Lock contention | mutex:contentions:count:: |
See references/profile-types.md for the full taxonomy, symptom→type mapping, and flame-graph reading guide.
Interpreting results
- Flat time = time in the function itself; cumulative includes callees
- Wide flat blocks at branch tips are where work happens; wide low blocks are subtrees to zoom into
- High latency with a flat CPU flame graph means waiting (I/O, locks), not computing — switch to
mutex/blockprofiles or correlate with traces
Correlation
Pair profiling evidence with metrics (CPU/memory panels for the same window) and traces (slow spans in the same timeframe) before naming a culprit; a hotspot that appears in profiles but not in production traffic may be an artifact of sampling rate.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingpkg/skills/bundled/querying-profiles/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/consensys/ask-o11y-plugin/querying-profiles)