Skip to main content

alloc-profile

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.

Source facts

Repository
timeplus-io/proton
Last source activity
March 31, 2026 at 03:19
Detected SKILL.md language
English
Stars
2,274
Forks
111

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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
View on GitHub