Profiling approach
Our profiling practice is built for engineering leads who need defensible numbers before changing production code. Each step below reflects how we work on performance engagements—not a generic methodology slide deck.

1. Frame the question
We document the user-visible symptom, acceptable latency budgets, and constraints such as freeze windows or compliance logging. Without that frame, profiler output is noise.
2. Choose instruments
CPU samples, async tracing, and allocation profilers are selected per runtime—JVM flight recorder, Go pprof, Node --inspect hooks, or eBPF where permitted.
3. Capture under honest load
Synthetic replay or controlled production sampling must mirror concurrency and payload sizes; we record environment metadata beside every capture file.
4. Read the evidence together
Flame graphs and span waterfalls are reviewed with your engineers so optimizations stay tied to identifiable functions and queries.