Skip to content

Perf: offload Lite picker charts, overview sweep, connect, timeline lanes (P1c)#1112

Merged
erikdarlingdata merged 1 commit into
devfrom
feature/perf-lite-offthread3
Jun 11, 2026
Merged

Perf: offload Lite picker charts, overview sweep, connect, timeline lanes (P1c)#1112
erikdarlingdata merged 1 commit into
devfrom
feature/perf-lite-offthread3

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

Continues the Lite off-thread work (P1c).

  • Picker charts (wait/clerk/perfmon): per-series GetXTrendAsync wrapped in Task.Run + a per-picker generation guard (bail after each now-async query if a newer invocation started). The guard also fixes the latent double-plot on rapid checkbox toggling — which the offload would otherwise have made real.
  • 30s overview sweep (RefreshOverviewAsync): each server's GetServerSummaryAsync runs on a pool thread.
  • Connect path: RunAllCollectorsForServerAsync now runs off the dispatcher (scheduled path already did).
  • Overview timeline lanes: 6 lane queries + 4 baselines + 5 comparison queries on pool threads.

Build: Lite clean (net10). Threading change — validate on a running Lite.

Remaining: drill-down, slicer-change handlers, grid selection, bounded read lock; then shared-UI crosshair, Dashboard chunk, leak cluster.

🤖 Generated with Claude Code

…anes (P1c)

- Wait/clerk/perfmon picker chart updates: wrap the per-series GetXTrendAsync in
  Task.Run, and add a per-picker generation guard (bail after each now-genuinely-
  async query if a newer invocation started). The guard also fixes the latent
  double-plot on rapid checkbox toggling — which the offload would otherwise have
  made real, since everything was synchronous before.
- MainWindow.RefreshOverviewAsync: the 30s status sweep now runs each server's
  GetServerSummaryAsync on a pool thread.
- ConnectToServer: RunAllCollectorsForServerAsync now runs off the dispatcher
  (the scheduled path already did; the tab-open path didn't).
- CorrelatedTimelineLanesControl (Overview tab): the 6 lane queries + 4 baseline
  lookups + 5 comparison-overlay queries now run on pool threads.

Build: Lite builds clean (net10).

Remaining on this effort: drill-down, slicer-change handlers, grid selection, then
a bounded read lock; then shared-UI crosshair, the Dashboard chunk, leak cluster.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit bc07bcb into dev Jun 11, 2026
@erikdarlingdata erikdarlingdata deleted the feature/perf-lite-offthread3 branch June 11, 2026 20:48
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