feat(cli): capture_parallel_stream telemetry on success and failure paths

This commit is contained in:
vanceingalls
2026-07-11 22:37:25 +00:00
parent 6d5a7711f3
commit 88c21ccd8b
4 changed files with 34 additions and 0 deletions
+16
View File
@@ -361,6 +361,22 @@ describe("render telemetry events", () => {
}),
);
});
it("carries capture_parallel_stream on render_error via the shared payload", () => {
trackRenderError({
fps: 30,
quality: "standard",
docker: false,
errorMessage: "worker crashed",
captureParallelStream: "beginframe",
});
expect(trackEvent).toHaveBeenCalledWith(
"render_error",
expect.objectContaining({ capture_parallel_stream: "beginframe" }),
undefined,
);
});
});
describe("trackRenderFeedback", () => {
+3
View File
@@ -53,6 +53,8 @@ export interface RenderObservabilityTelemetryPayload {
captureDePreRouterWorkers?: number;
captureDeSelfVerifyFallback?: boolean;
captureDeFallbackReason?: string;
/** Non-DE parallel-streaming router outcome ("screenshot" | "beginframe"). */
captureParallelStream?: string;
observabilityExtractVideoCount?: number;
observabilityExtractedVideoCount?: number;
observabilityExtractTotalFrames?: number;
@@ -104,6 +106,7 @@ function renderObservabilityEventProperties(props: RenderObservabilityTelemetryP
de_pre_router_workers: props.captureDePreRouterWorkers,
de_self_verify_fallback: props.captureDeSelfVerifyFallback,
de_fallback_reason: props.captureDeFallbackReason,
capture_parallel_stream: props.captureParallelStream,
observability_extract_video_count: props.observabilityExtractVideoCount,
observability_extracted_video_count: props.observabilityExtractedVideoCount,
observability_extract_total_frames: props.observabilityExtractTotalFrames,
@@ -82,3 +82,17 @@ describe("renderObservabilityTelemetryPayload — DE inversion/router cohort (fa
expect(payload.captureDeFallbackReason).toBeUndefined();
});
});
describe("renderObservabilityTelemetryPayload — non-DE parallel-stream router", () => {
it("maps the router outcome", () => {
const payload = renderObservabilityTelemetryPayload(
makeSummary({ captureParallelStream: "beginframe" }),
);
expect(payload.captureParallelStream).toBe("beginframe");
});
it("stays undefined when the router never fired", () => {
const payload = renderObservabilityTelemetryPayload(makeSummary({}));
expect(payload.captureParallelStream).toBeUndefined();
});
});
@@ -46,6 +46,7 @@ export function renderObservabilityTelemetryPayload(
captureDePreRouterWorkers: capture.dePreRouterWorkers,
captureDeSelfVerifyFallback: capture.deSelfVerifyFallback,
captureDeFallbackReason: capture.deFallbackReason,
captureParallelStream: capture.captureParallelStream,
observabilityExtractVideoCount: extraction?.videoCount,
observabilityExtractedVideoCount: extraction?.extractedVideoCount,
observabilityExtractTotalFrames: extraction?.totalFramesExtracted,