Skip to content

feat(producer): host/render telemetry in RenderPerfSummary - #1551

Merged
vanceingalls merged 1 commit into
mainfrom
telemetry-host-facts
Aug 21, 2026
Merged

feat(producer): host/render telemetry in RenderPerfSummary#1551
vanceingalls merged 1 commit into
mainfrom
telemetry-host-facts

Conversation

@vanceingalls

Copy link
Copy Markdown
Collaborator

What

Brief description of the change.

Why

Why is this change needed?

How

How was this implemented? Any notable design decisions?

Test plan

How was this tested?

  • Unit tests added/updated
  • Manual testing performed
  • Documentation updated (if applicable)

Copy link
Copy Markdown
Collaborator Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Adds a `host` block (platform, arch, cpuCount, totalMemMb, nodeVersion,
gpuDisabled) to RenderPerfSummary so fleet-wide telemetry can correlate render
performance with the machine it ran on — chiefly cpuCount vs the existing
`workers` field (core over/under-subscription) and totalMemMb vs
lowMemoryMode / single-worker collapse. Capture mode + GPU mode already surface
via `observability`; this fills in the missing host facts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@miga-heygen miga-heygen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve. Additive host telemetry on the perf summary — optional field for back-compat, correct OS API calls, tests pin all new fields including the gpuDisabled threading.

— Miga

@terencecho terencecho left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — clean additive telemetry. Verified the interface merge is collision-free:

  • RenderPerfSummary.host? is a NEW nested object; every field (platform, arch, cpuCount, totalMemMb, nodeVersion, gpuDisabled) is scoped inside host — no name collision with any pre-existing top-level or sibling nested field. Zero pre-existing fields are removed or reshaped.
  • Optional (host?:) correctly preserves back-compat with older serialized summaries per docstring.
  • Writer wired end-to-end: executeRenderPipeline passes gpuDisabled: cfg.disableGpubuildRenderPerfSummaryhost.gpuDisabled. The other five fields resolve from node:os (platform(), arch(), cpus().length, totalmem()) and process.version — all fine to call at summary time (single orchestrator process).
  • No in-repo reader is a non-issue: this is a telemetry field consumed downstream by fleet analytics (as the docstring calls out — cpuCount vs workers, totalMemMb vs low-memory mode, gpuDisabled vs observability.browserGpuMode). Tests cover both write paths (gpuDisabled=true/false) and confirm the host block is populated.

Rebase note ("kept both sides") verified: git merge-base main pr1551 = current main HEAD (a897806); PR is one commit on top, no in-place merge to un-scramble. Diff is 134 lines, purely additive.

CI: green across CodeQL, Lint, Typecheck, Producer unit+integration, SDK, CLI smoke, Windows render, and 9 regression shards observed passing (2 still in progress at review time, no failures).

— Review by tai (pr-review)

@vanceingalls
vanceingalls merged commit 7e3bcd9 into main Aug 21, 2026
55 checks passed
@vanceingalls
vanceingalls deleted the telemetry-host-facts branch August 21, 2026 06:37
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.

3 participants