feat(producer): host/render telemetry in RenderPerfSummary - #1551
Merged
Conversation
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>
vanceingalls
force-pushed
the
telemetry-host-facts
branch
from
August 21, 2026 04:41
939631b to
4649d21
Compare
miga-heygen
approved these changes
Aug 21, 2026
miga-heygen
left a comment
Contributor
There was a problem hiding this comment.
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
approved these changes
Aug 21, 2026
terencecho
left a comment
Contributor
There was a problem hiding this comment.
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 insidehost— 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:
executeRenderPipelinepassesgpuDisabled: cfg.disableGpu→buildRenderPerfSummary→host.gpuDisabled. The other five fields resolve fromnode:os(platform(),arch(),cpus().length,totalmem()) andprocess.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)
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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?