You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 28d4c74
Browse filesBrowse the repository at this point in the historyBrowse files
Replace parallelism efficiency warnings with CPU:Elapsed ratio
Removes Rules 25 (Ineffective Parallelism) and 31 (Parallel Wait
Bottleneck). Per Joe's feedback: these meta-warnings guess at causes
when wait stats already tell the story. Instead, the runtime summary
now shows a CPU:Elapsed ratio — users can interpret it directly with
DOP context, and the wait stats list speaks for itself.
- PlanAnalyzer: remove Rules 25/31 block, remove GetWaitStatsAdvice
and DescribeWaitType helpers (only used by those rules)
- BenefitScorer: remove Rule 25/31 scoring cases
- Index.razor: add CPU:Elapsed row to Runtime insight card
- HtmlExporter: add CPU:Elapsed row to runtime card
- Tests: remove Rule 25/31 test cases
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
$"I/O bound — {topPct:N0}% of wait time is {rawWaitType}. Data is being read from disk rather than memory. Consider adding indexes to reduce I/O, or investigate memory pressure.",
1808
-
_ whenwaitType.Contains("IO_COMPLETION")=>
1809
-
$"I/O bound — {topPct:N0}% of wait time is {rawWaitType}. Non-buffer I/O such as sort/hash spills to TempDB or eager writes.",
1810
-
1811
-
// CPU: thread yielding its scheduler quantum
1812
-
_ whenwaitType=="SOS_SCHEDULER_YIELD"=>
1813
-
$"CPU bound — {topPct:N0}% of wait time is {rawWaitType}. The query is consuming significant CPU. Look for expensive operators (scans, sorts, hash builds) that could be eliminated or reduced.",
1814
-
1815
-
// Parallelism: exchange and synchronization waits
$"Parallel thread skew — {topPct:N0}% of wait time is {rawWaitType}. Work is unevenly distributed across parallel threads.",
1818
-
_ whenwaitType.StartsWith("CXSYNC")=>
1819
-
$"Parallel synchronization — {topPct:N0}% of wait time is {rawWaitType}. Threads are waiting at exchange operators to synchronize parallel execution.",
1820
-
1821
-
// Hash operations
1822
-
_ whenwaitType.StartsWith("HT")=>
1823
-
$"Hash operation — {topPct:N0}% of wait time is {rawWaitType}. Time spent building, repartitioning, or cleaning up hash tables. Large hash builds may indicate missing indexes or bad row estimates.",
1824
-
1825
-
// Sort/bitmap batch operations
1826
-
_ whenwaitType=="BPSORT"=>
1827
-
$"Batch sort — {topPct:N0}% of wait time is {rawWaitType}. Time spent in batch-mode sort operations.",
1828
-
_ whenwaitType=="BMPBUILD"=>
1829
-
$"Bitmap build — {topPct:N0}% of wait time is {rawWaitType}. Time spent building bitmap filters for hash joins.",
0 commit comments