Generic telemetry
Some checks failed
CI / React UI Build (push) Successful in 10s
CI / Native Windows Build And Tests (push) Failing after 2m30s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
2026-05-22 15:32:55 +10:00
parent 64a6125c3f
commit e6faaee1ca
6 changed files with 119 additions and 2 deletions

View File

@@ -50,7 +50,19 @@ int main()
telemetry.completedReadbackCopyMilliseconds = 1.2;
telemetry.completedDrops = 3;
telemetry.acquireMisses = 4;
telemetry.scheduleFailures = 2;
telemetry.completions = 12;
telemetry.displayedLate = 1;
telemetry.shaderBuildsCommitted = 1;
telemetry.deckLinkBufferedAvailable = true;
telemetry.deckLinkBuffered = 4;
telemetry.deckLinkScheduleCallMilliseconds = 1.25;
telemetry.deckLinkScheduleLeadAvailable = true;
telemetry.deckLinkScheduleLeadFrames = 4;
telemetry.deckLinkPlaybackFrameIndex = 10;
telemetry.deckLinkNextScheduleFrameIndex = 14;
telemetry.deckLinkPlaybackStreamTime = 10010;
telemetry.deckLinkScheduleRealignments = 1;
const std::filesystem::path root = MakeTestRoot();
WriteFile(root / "solid-color" / "shader.slang", "float4 shadeVideo(float2 uv) { return float4(uv, 0.0, 1.0); }\n");
@@ -107,6 +119,10 @@ int main()
ExpectContains(json, "\"height\":1080", "state JSON should expose output height");
ExpectContains(json, "\"videoInputBackend\":\"decklink\"", "state JSON should expose input backend");
ExpectContains(json, "\"videoOutputBackend\":\"decklink\"", "state JSON should expose output backend");
ExpectContains(json, "\"videoOutput\":{\"enabled\":true,\"backend\":\"decklink\"", "state JSON should expose neutral video output status");
ExpectContains(json, "\"scheduleFailures\":2", "state JSON should expose neutral video output schedule failures");
ExpectContains(json, "\"backendMetrics\":{\"bufferedAvailable\":true,\"buffered\":4", "state JSON should expose backend-specific video output metrics");
ExpectContains(json, "\"scheduleLeadFrames\":4", "state JSON should expose backend-specific schedule lead");
ExpectContains(json, "\"renderMs\":2.5", "state JSON should expose top-level render timing");
ExpectContains(json, "\"budgetUsedPercent\":15", "state JSON should expose top-level render budget percentage");
ExpectContains(json, "\"renderFrameMs\":2.5", "state JSON should expose cadence render timing");