RE: Review of WebRTC Statistics from Web Performance Working Group

2 additional questions:

  *   It does not appear that this specification clearly defines when the various Stat objects are created and what is responsible for emitting the various Stat objects. Is another specification responsible for that?
     *   It would be useful to link to that as it seems critical to ensuring cross-browser compat.
  *   Some pieces of the text hint that a Stat object’s members can be changed after it is returned. But an example shows 2 objects being compared to see how a baseline compares to a later “report”. Can stat object’s values be changed after they are returned?
     *   http://www.w3.org/TR/2016/WD-webrtc-stats-20161214/#lifetime-of-stats-objects hints that an object that has been returned to JavaScript may change between accesses, but I could be misreading it.

-Todd

From: Ilya Grigorik [mailto:igrigorik@google.com]
Sent: Tuesday, December 20, 2016 11:52 AM
To: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
Cc: public-web-perf@w3.org; Todd Reifsteck <toddreif@microsoft.com>
Subject: Re: Review of WebRTC Statistics from Web Performance Working Group

Hi Stefan.

On Wed, Dec 14, 2016 at 1:29 AM, Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com<mailto:stefan.lk.hakansson@ericsson.com>> wrote:
Dear Web Performance Working Group,

The WebRTC Working Group is working toward publishing its WebRTC
Statistics API to Candidate Recommendation and is thus seeking review
from a variety of groups on the document:

https://www.w3.org/TR/2016/WD-webrtc-stats-20161214/


We are particularly interested on feedback from the Web Performance
Working Group on possible alignments needed between the names, value
spaces and design of the statistics exposed in our documents with the
ones the Web Performance Working Group has brought through its various APIs.

On a quick scan, I didn't spot any substantive problems. That said, a few nitpicks and thoughts:

  *   Provide a normative reference [1] for DOMHighResTimeStamp? Want to make sure that time origin definitions are aligned across implementations.
  *   Stats are associated with each stream, which means that application developers have to manually instrument each stream. Is there a use case for analytics / third-party instrumentation to gather similar stats? E.g. it would be nice if existing RUM providers could auto-gather stats without monkey-patching all the WebRTC APIs to figure out when new streams are initiated, etc.

     *   Performance Timeline provides PerformanceObserver [2] interface which allows anyone to register and listen for events. It might be worth considering, if it makes sense, emitting some WebRTC related events via this mechanism... which could stream specific or aggregated.
I'd be curious to hear from RUM vendors/folks if and how they currently instrument WebRTC.

Cheers.
ig

[1] https://www.w3.org/TR/hr-time-2/#dom-domhighrestimestamp

[2] https://www.w3.org/TR/performance-timeline-2/#the-performanceobserver-interface

Received on Tuesday, 20 December 2016 23:12:09 UTC