alloc-profile
timeplus-io/proton/.claude/skills/alloc-profile/SKILL.md
Analyze jemalloc or async-profiler allocation profiles in collapsed stack format. Make sure to use this skill whenever the user mentions memory profiling, heap analysis, allocation hotspots, jemalloc, async-profiler, collapsed stacks, .folded files, or asks about memory usage patterns.
Skill2.3k starsChanged 6 months ago
What's in it
- Allocation Profile
- Inputs
- Tooling
- What the analyzer reports
- Interpretation guidance
- Related repo context
- Output expectations
--- name: alloc-profile description: Analyze jemalloc or async-profiler allocation profiles in collapsed stack format. Make sure to use this skill whenever the user mentions memory profiling, heap analysis, allocation hotspots, jemalloc, async-profiler, collapsed stacks, .folded files, or asks about memory usage patterns. --- # Allocation Profile ## Inputs - `$0` (optional): path to a `.collapsed` or `.folded` profile If no path is given, search near the current directory: ```bash find . -maxdepth 4 \( -name "*.collapsed" -o -name "*.folded" \) | sort ``` ## Tooling Use the bundled analyzer script: ```bash python3 .claude/skills/alloc-profile/scripts/analyze_alloc_profile.py <profile> ``` ## What the analyzer reports - Total samples/bytes and unique stack traces - Top stack traces - Top outermost meaningful frames - Top leaf allocation frames This gives both: - "why did we allocate?" via outermost frames - "what code actually allocated?" via leaf frames ## Interpretation guidance - Large outermost buckets often point to the higher-level operation to optimize first. - Large leaf buckets inside allocators or containers are usually symptoms; look one or two frames above for product code. - For streaming paths, pay special attention to joins, windows, aggregation state, and block materialization. - For historical paths, focus on scans, merges, deserialization, and sort/aggregation buffers. ## Related repo context - Jemalloc profiling notes live in [tests/instructions/jemalloc_memory_profile.txt](../../../tests/instructions/jemalloc_memory_profile.txt). - Generic heap-profiler notes live in [tests/instructions/heap-profiler.txt](../../../tests/instructions/heap-profiler.txt). ## Output expectations Summarize: 1. biggest operations by memory share 2. likely owning subsystem 3. likely next inspection target in code 4. whether the profile looks like steady-state memory, burst allocation, or leak-like retention
More agent context in timeplus-io/proton
9 other files this repository gives its agents.
AGENTS.md
CLAUDE.md
Copilot instructions
Skill
- build-and-verify.claude/skills/build-and-verify/SKILL.md
- ci-diagnostics.claude/skills/ci-diagnostics/SKILL.md
- cpp-coding.claude/skills/cpp-coding/SKILL.md
- create-worktree.claude/skills/create-worktree/SKILL.md
- review.claude/skills/review/SKILL.md
- sql-usage.claude/skills/sql-usage/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

