Geek Stats

Geek Stats

The Geek Stats dashboard exposes low-level contention and synchronization metrics so you can diagnose waits and spinlock behavior that can impact throughput or cause unexpected CPU consumption. Use these views to find hotspots, correlate with higher-level symptoms, and guide targeted fixes.

Not all users are interested in this type of metrics, so we decided to dedicate a dashboard instead of including this information in the Instance Overview dashboard.

Wait Stats

  • Wait Stats (by category): a top-level chart that groups waits into the same categories used on the Instance Overview. This view helps you quickly see which broad wait families (I/O, CPU-related, latch/lock, network, etc.) dominate during the selected interval.
  • Wait Stats (by type): a detailed chart that shows individual SQL Server wait types (the same names you see in SQL Server DMVs). Use this to identify specific waits such as PAGEIOLATCH, CXPACKET, SOS_SCHEDULER_YIELD, or ASYNC_NETWORK_IO and to track their trend over time. Filter and sort to surface the top contributing wait types and drill into the time windows where they spike.

Spinlock Stats

  • The Spinlock section presents four charts that measure spinlock activity:
    • Collisions: how often threads encountered a collision on a spinlock.
    • Spins: total spin attempts observed.
    • Spins per collision: average number of spins required for each collision, indicating how costly each contention event is.
    • Backoffs: counts of threads backing off (yielding) after spinning.
  • Interpret spin metrics together: high collisions with high spins-per-collision imply frequent, costly busy-waiting and wasted CPU. High backoffs suggest threads are repeatedly yielding and retrying.
  • Use these charts to correlate spinlock pressure with CPU spikes or scheduling issues, and to prioritize micro-level fixes (e.g., addressing hot memory structures, reducing shared-state contention, or applying product fixes).

Investigation tips

  • When you see elevated waits or spinlock activity, correlate timestamps with query CPU, I/O, and scheduler metrics to find root causes.
  • High category-level waits point you to broad problem areas; the by-type view helps you pinpoint exact resources or operations involved.
  • For spinlock issues, examine workload patterns that touch shared caches, global counters, or frequently-updated metadata. Changes such as reducing contention hotspots, batching updates, or upgrade/patches may help.