fix: 前后端时钟问题

This commit is contained in:
2026-04-18 16:07:20 +08:00
parent 212459a8e4
commit ae2f1c3156

View File

@@ -173,22 +173,21 @@ def aggregate_video_estimates(
partial_est = None partial_est = None
if capture_to_send is not None or network_oneway is not None: if capture_to_send is not None or network_oneway is not None:
partial_est = round(float(capture_to_send or 0.0) + float(network_oneway or 0.0), 3) partial_est = round(float(capture_to_send or 0.0) + float(network_oneway or 0.0), 3)
a_recv_to_paint_ms = None request_to_paint_ms = None
if probe is not None and probe.get("backend_received_unix_ns") is not None and probe.get("paint_unix_ms") is not None: if probe is not None and probe.get("request_to_paint_ms") is not None:
a_recv_to_paint_ms = round( request_to_paint_ms = round(float(probe["request_to_paint_ms"]), 3)
float(probe["paint_unix_ms"]) - (int(probe["backend_received_unix_ns"]) / 1_000_000.0), elif probe is not None and probe.get("request_started_unix_ms") is not None and probe.get("paint_unix_ms") is not None:
3, request_to_paint_ms = round(float(probe["paint_unix_ms"]) - float(probe["request_started_unix_ms"]), 3)
) video_e2e_est_ms = round(partial_est + request_to_paint_ms, 3) if partial_est is not None and request_to_paint_ms is not None else None
video_e2e_est_ms = round(partial_est + a_recv_to_paint_ms, 3) if partial_est is not None and a_recv_to_paint_ms is not None else None
estimates.append( estimates.append(
{ {
"frame_seq": frame_seq, "frame_seq": frame_seq,
"backend_received_unix_ns": record.get("backend_received_unix_ns"), "backend_received_unix_ns": record.get("backend_received_unix_ns"),
"frame_hash": record.get("frame_hash"), "frame_hash": record.get("frame_hash"),
"estimate_method": "capture_to_send+srtt/2+recv_to_paint" if video_e2e_est_ms is not None else "capture_to_send+srtt/2", "estimate_method": "capture_to_send+srtt/2+request_to_paint" if video_e2e_est_ms is not None else "capture_to_send+srtt/2",
"video_network_oneway_est_ms": network_oneway, "video_network_oneway_est_ms": network_oneway,
"b_side_capture_to_send_ms": capture_to_send, "b_side_capture_to_send_ms": capture_to_send,
"a_recv_to_paint_ms": a_recv_to_paint_ms, "request_to_paint_ms": request_to_paint_ms,
"video_partial_est_ms": partial_est, "video_partial_est_ms": partial_est,
"video_e2e_est_ms": video_e2e_est_ms, "video_e2e_est_ms": video_e2e_est_ms,
"sequence_gap": record.get("sequence_gap"), "sequence_gap": record.get("sequence_gap"),