Meeting QoS participants endpoint: user_qos backfills after a delay for the same date_time entry (live=true)
Endpoint: GET /metrics/meetings/{meetingId}/participants/qos
Observation: For the same participant and the same date_time bucket in participants.user_qos[], the live=true response appears to backfill cpu_usage on a subsequent call rather than returning it immediately.
Steps to reproduce:
- Call the endpoint with
live=truefor an active meeting. - Look at the last element in
user_qos[](the most recentdate_timeentry). - On the first call,
cpu_usageis returned as an empty object{}. - Call the endpoint again shortly after, with identical parameters.
- The same
date_timeentry now returns populatedcpu_usagefields (zoom_min_cpu_usage,zoom_avg_cpu_usage,zoom_max_cpu_usage,system_max_cpu_usage).
Question: Is this expected behavior — i.e., does user_qos for the latest date_time bucket lag behind the rest of the QoS metrics and get backfilled on a later poll? If so, is there a reliable signal (e.g., a flag, a minimum polling delay, or a separate "finalized" timestamp) we can use to know when the latest bucket's cpu_usage is safe to read, rather than polling repeatedly and diffing?
This matters for anyone polling live=true on a fixed interval and reading the last element as "current" — without knowing this lag exists, cpu_usage for the most recent sample will silently look empty/missing even though it's just not populated yet.
