Skip to content

Sync operator time calculation fixes from plan-b#392

Merged
erikdarlingdata merged 1 commit intodevfrom
feature/operator-time-fix
Mar 3, 2026
Merged

Sync operator time calculation fixes from plan-b#392
erikdarlingdata merged 1 commit intodevfrom
feature/operator-time-fix

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

  • Per-thread self-time calculation for parallel row mode operators (calculates self-time per thread then takes max, instead of cross-thread subtraction which produced inaccurate values)
  • Sum ALL direct children's elapsed time instead of only subtracting the max child
  • Exchange (Parallelism) operators skipped through to their real children for timing
  • GetParallelismOperatorElapsedMs uses per-thread calculation when available

Syncs operator time logic from plan-b commit d0ae18a to both Dashboard and Lite PlanAnalyzer.

Test plan

  • Dashboard builds clean
  • Lite builds clean
  • Open a parallel plan in Dashboard — verify operator self-times are reasonable
  • Open a parallel plan in Lite — verify operator self-times are reasonable

🤖 Generated with Claude Code

- Per-thread self-time for parallel plans (max across threads instead
  of cross-thread subtraction which produced wrong values)
- Sum ALL direct children elapsed time (not just max child)
- Exchange operators skipped through to real children
- GetParallelismOperatorElapsedMs uses per-thread when available

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit a512b0a into dev Mar 3, 2026
3 checks passed
@erikdarlingdata erikdarlingdata deleted the feature/operator-time-fix branch April 9, 2026 00:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant