Performance Profiler
Tier: POWERFUL
Category: Engineering
Domain: Performance Engineering
Overview
Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks; generates flamegraphs; analyzes bundle sizes; optimizes database queries; detects memory leaks; and runs load tests with k6 and Artillery. Always measures before and after.
Core Capabilities
- CPU profiling — flamegraphs for Node.js, py-spy for Python, pprof for Go
- Memory profiling — heap snapshots, leak detection, GC pressure
- Bundle analysis — webpack-bundle-analyzer, Next.js bundle analyzer
- Database optimization — EXPLAIN ANALYZE, slow query log, N+1 detection
- Load testing — k6 scripts, Artillery scenarios, ramp-up patterns
- Before/after measurement — establish baseline, profile, optimize, verify
When to Use
- App is slow and you don't know where the bottleneck is
- P99 latency exceeds SLA before a release
- Memory usage grows over time (suspected leak)
- Bundle size increased after adding dependencies
- Preparing for a traffic spike (load test before launch)
- Database queries taking >100ms
Quick Start
# Analyze a project for performance risk indicators
python3 scripts/performance_profiler.py /path/to/project
# JSON output for CI integration
python3 scripts/performance_profiler.py /path/to/project --json
# Custom large-file threshold
python3 scripts/performance_profiler.py /path/to/project --large-file-threshold-kb 256
Golden Rule: Measure First
# Establish baseline BEFORE any optimization
# Record: P50, P95, P99 latency | RPS | error rate | memory usage
# Wrong: "I think the N+1 query is slow, let me fix it"
# Right: Profile → confirm bottleneck → fix → measure again → verify improvement
Node.js Profiling
→ See references/profiling-recipes.md for details
References
- references/profiling-recipes.md — Node.js/Python/Go profiling commands, flamegraph generation, heap snapshots
- references/optimization-playbook.md — before/after measurement template, quick-win optimization checklist (DB/Node/bundle/API), common pitfalls, best practices
Source: alirezarezvani/claude-skills → engineering/skills/performance-profiler/SKILL.md
1---2name: performance-profiler3description: Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks, generates flamegraphs, analyzes bundle sizes, optimizes database queries, runs load tests with k6 and Artillery. Always measures before and after. Use when investigating a slow endpoint, planning a performance budget, or hunting a memory leak in production.4---567# Performance Profiler89**Tier:** POWERFUL 10**Category:** Engineering 11**Domain:** Performance Engineering 1213---1415## Overview1617Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks; generates flamegraphs; analyzes bundle sizes; optimizes database queries; detects memory leaks; and runs load tests with k6 and Artillery. Always measures before and after.1819## Core Capabilities2021- **CPU profiling** — flamegraphs for Node.js, py-spy for Python, pprof for Go22- **Memory profiling** — heap snapshots, leak detection, GC pressure23- **Bundle analysis** — webpack-bundle-analyzer, Next.js bundle analyzer24- **Database optimization** — EXPLAIN ANALYZE, slow query log, N+1 detection25- **Load testing** — k6 scripts, Artillery scenarios, ramp-up patterns26- **Before/after measurement** — establish baseline, profile, optimize, verify2728---2930## When to Use3132- App is slow and you don't know where the bottleneck is33- P99 latency exceeds SLA before a release34- Memory usage grows over time (suspected leak)35- Bundle size increased after adding dependencies36- Preparing for a traffic spike (load test before launch)37- Database queries taking >100ms3839---4041## Quick Start4243```bash44# Analyze a project for performance risk indicators45python3 scripts/performance_profiler.py /path/to/project4647# JSON output for CI integration48python3 scripts/performance_profiler.py /path/to/project --json4950# Custom large-file threshold51python3 scripts/performance_profiler.py /path/to/project --large-file-threshold-kb 25652```5354---5556## Golden Rule: Measure First5758```bash59# Establish baseline BEFORE any optimization60# Record: P50, P95, P99 latency | RPS | error rate | memory usage6162# Wrong: "I think the N+1 query is slow, let me fix it"63# Right: Profile → confirm bottleneck → fix → measure again → verify improvement64```6566---6768## Node.js Profiling69→ See references/profiling-recipes.md for details7071## References7273- [references/profiling-recipes.md](references/profiling-recipes.md) — Node.js/Python/Go profiling commands, flamegraph generation, heap snapshots74- [references/optimization-playbook.md](references/optimization-playbook.md) — before/after measurement template, quick-win optimization checklist (DB/Node/bundle/API), common pitfalls, best practices7576---7778**Source:** [`alirezarezvani/claude-skills`](https://github.com/alirezarezvani/claude-skills) → `engineering/skills/performance-profiler/SKILL.md`