Skip to content

Add spec 023: performance insight tools#24

Merged
codemonkeychris merged 1 commit into
mainfrom
docs/023-perf-insight-tools
Apr 17, 2026
Merged

Add spec 023: performance insight tools#24
codemonkeychris merged 1 commit into
mainfrom
docs/023-perf-insight-tools

Conversation

@codemonkeychris
Copy link
Copy Markdown
Collaborator

Summary

  • Proposes spec 023: a WinUI-first set of performance insight capabilities — compile-time PerfReport.json, default-on framework signposts, stable per-element source IDs (PerfTag), a public dependency-graph query API, and an agent-consumable JSON trace format.
  • Reactor contributes a narrow set of component-layer extensions (Component Intent kind, component-tree rollups, reconciler-aware metrics) on top of WinUI capabilities rather than owning a parallel stack.
  • Includes a competitive teardown of Apple (Instruments, os_signpost, SwiftUI instrument, MetricKit, Apple Silicon PMCs) and Google (Perfetto, Compose Compiler Metrics, Baseline Profiles), with a precise table of where Windows/ETW has parity vs. where we lack convention layers.
  • Lays out three attribution-mechanism options (AsyncLocal / Correlation Vector / sampling) with pros/cons and a non-binding recommendation.
  • Proposes System.Diagnostics.Signpost in the .NET BCL as the single highest-leverage API (noted as possibly a separate spec).

Test plan

  • Review problem framing and confirm WinUI-first scoping matches intent
  • Validate the WinUI vs Reactor responsibility split table (§8) — confirm every row lands in the right org
  • Sanity-check the Microsoft.UI.Xaml.Controls.Perf claims against the actual provider in microsoft/microsoft-ui-xaml
  • Verify references to existing specs (007, 022) are accurate
  • Confirm the open questions (§16) capture all ambiguous decisions rather than pre-committing them

🤖 Generated with Claude Code

Proposes a WinUI-first set of performance insight capabilities — compile-time perf reports,
default-on framework signposts, stable per-element source IDs, a public dependency-graph
query API, and an agent-consumable JSON trace format — with Reactor contributing a narrow
set of component-layer extensions on top.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codemonkeychris codemonkeychris merged commit ea6601c into main Apr 17, 2026
3 checks passed
@codemonkeychris codemonkeychris deleted the docs/023-perf-insight-tools branch May 28, 2026 19:11
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