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
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---56# Performance Profiler78**Tier:** POWERFUL 9**Category:** Engineering 10**Domain:** Performance Engineering 1112---1314## Overview1516Systematic 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.1718## Core Capabilities1920- **CPU profiling** — flamegraphs for Node.js, py-spy for Python, pprof for Go21- **Memory profiling** — heap snapshots, leak detection, GC pressure22- **Bundle analysis** — webpack-bundle-analyzer, Next.js bundle analyzer23- **Database optimization** — EXPLAIN ANALYZE, slow query log, N+1 detection24- **Load testing** — k6 scripts, Artillery scenarios, ramp-up patterns25- **Before/after measurement** — establish baseline, profile, optimize, verify2627---2829## When to Use3031- App is slow and you don't know where the bottleneck is32- P99 latency exceeds SLA before a release33- Memory usage grows over time (suspected leak)34- Bundle size increased after adding dependencies35- Preparing for a traffic spike (load test before launch)36- Database queries taking >100ms3738---3940## Quick Start4142```bash43# Analyze a project for performance risk indicators44python3 scripts/performance_profiler.py /path/to/project4546# JSON output for CI integration47python3 scripts/performance_profiler.py /path/to/project --json4849# Custom large-file threshold50python3 scripts/performance_profiler.py /path/to/project --large-file-threshold-kb 25651```5253---5455## Golden Rule: Measure First5657```bash58# Establish baseline BEFORE any optimization59# Record: P50, P95, P99 latency | RPS | error rate | memory usage6061# Wrong: "I think the N+1 query is slow, let me fix it"62# Right: Profile → confirm bottleneck → fix → measure again → verify improvement63```6465---6667## Node.js Profiling68→ See references/profiling-recipes.md for details6970## References7172- [references/profiling-recipes.md](references/profiling-recipes.md) — Node.js/Python/Go profiling commands, flamegraph generation, heap snapshots73- [references/optimization-playbook.md](references/optimization-playbook.md) — before/after measurement template, quick-win optimization checklist (DB/Node/bundle/API), common pitfalls, best practices74