Start here. This is the direct spoken answer to practice first.
Overview
Chooses evidence based on whether latency comes from CPU execution, waiting, contention, or an external dependency.
I first narrow the symptom by endpoint, version, instance, and time window, then compare wall time with CPU time. High wall time with little CPU suggests waiting on I/O, locks, pools, or scheduling; high CPU suggests actual computation. A deterministic profiler such as cProfile can show function call time in a controlled reproduction, while a sampling profiler can observe a live process with lower disruption. Traces locate downstream waiting.