Start here. This is the direct spoken answer to practice first.
Why this question matters
Counters are most valuable as a fast classification tool. They show which resource is moving with the incident, but they rarely identify the exact method or object owner by themselves.
dotnet-counters is a low-overhead first look at runtime behavior. I watch a small group covering CPU, allocation and GC, ThreadPool work, exceptions, and application request or dependency signals. The pattern matters more than one number: rising queue length with moderate CPU points somewhere different from sustained CPU or repeated full collections. That pattern selects the next trace, stack, or heap artifact.