-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CPU metrics #710
Comments
I am supportive of this, is there a proposal for this? vis-a-vis the compute-pressure proposal? |
@kenchris can speak for the Compute Pressure if some type of coordination would be beneficial. |
The context here is for evaluating the performance of intensive video conferencing web apps e.g. encoding, recoding, rendering, effects processing, etc. Google Meet is one example. We do specifically want the granularity of CPU% rather than an enum. This gives more fingerprinting surface than an enum, but it is also guarded behind a getUserMedia() permission prompt (camera/microphone actively capturing) or fullscreen usage, so this is not useful for passive tracking. |
This would be much easier than the current approach of summing up the total encode and decode times, dividing them by the core count (and multiplying by some factor) |
Also related to #245 |
so, CPU% metric will add to which stats object ? or add a new rtcstatstype.? it's useful in video conference for performing quality limitation in receiver end(webrtc support this in sender side) |
Hardware encoders/decoders may also queue frames internally, so abnormally high encode/decode times may be reported even in situations where performance is not degraded. |
Because the CPU% is a system-wide metric I think we should add a new stats dictionary, e.g. RTCSystemStats, and we could guard the exposure of that entire object on the HW exposure criterion. The alternative would be to add it to RTCPeerConnectionStats simply because that is a singleton that always exists.
Agree it's just a heuristic and sometimes it is wrong. This issue is about adding actual system information, not proxy info! |
Regarding the gate, I understand why gating on capturing context makes sense, but I dont think its appropriate to consider |
@pes10k Can you file a separate issue regarding fullscreen and fingerprinting? The intended use case for that was Cloud Gaming and being able to detect HW decoders even though the client is not sending, only receiving |
Or are you OK with the gate for for previously exposed metrics (e.g. HW encoder/decoder support) but not OK with it for CPU%? If so we could split up the gate into two different gates as part of this issue |
Sure no problem #712 |
Now that we have a gate for hardware exposure, can we add CPU% metrics to getStats()?
Tagging @pes10k for privacy concerns.
The text was updated successfully, but these errors were encountered: