mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
Merge pull request #2224 from heygen-com/parallel-streaming
feat(producer): stream parallel screenshot/beginframe capture to the encoder
This commit is contained in:
@@ -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", () => {
|
||||
|
||||
@@ -53,6 +53,9 @@ export interface RenderObservabilityTelemetryPayload {
|
||||
captureDePreRouterWorkers?: number;
|
||||
captureDeSelfVerifyFallback?: boolean;
|
||||
captureDeFallbackReason?: string;
|
||||
/** Non-DE parallel-streaming router outcome ("screenshot" | "beginframe" —
|
||||
* routed; "eligible_off" — would route but the kill switch is off). */
|
||||
captureParallelStream?: string;
|
||||
observabilityExtractVideoCount?: number;
|
||||
observabilityExtractedVideoCount?: number;
|
||||
observabilityExtractTotalFrames?: number;
|
||||
@@ -104,6 +107,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,24 @@ 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("maps the passive eligible_off cohort-sizing signal", () => {
|
||||
const payload = renderObservabilityTelemetryPayload(
|
||||
makeSummary({ captureParallelStream: "eligible_off" }),
|
||||
);
|
||||
expect(payload.captureParallelStream).toBe("eligible_off");
|
||||
});
|
||||
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user