Summary of stats discussion in Boston

Here is a summary of what I *think* we decided to do in WEBRTC regarding
stats this morning.

*Proposal:*

getStats(selector, cb) gives you back (in the callback) a RTCStatsReport
(unchanged from previous proposal).

RTCStatsReport now becomes a map<id, RTCStatsObject>; you can look up a
report by id, or iterate over them all.

The RTCStatsObject has properties
- timestamp (units are DOMHiResTimestamp, http://www.w3.org/TR/hr-time/)
- type (name of stats child class, e.g. "OutgoingRTPStream")
- id (opaque string)

And there are various descendant classes of RTCStatsObject, e.g

*interface RTCRTPStreamStats : RTCStatsObject {
  int ssrc;
 StatsObjectID? otherEndStats; // Reference to the stats signalled from our
partner.
};

interface RTCOutgoingRTPStreamStats : RTCRTPStreamStats {
 int packetsSent;
  long bytesSent;
};*
*
*
*interface RTCIncomingRTPStreamStats : RTCRTPStreamStats {
  int packetsReceived;
 long bytesReceived;*
* int packetsLost;
};*
*
*
*(Names are subject to change)*
*
*
*Sample Usage:*
*
*
getStats(null, onStats);
onStats = function(report) {
 for (var id in report) {
var obj = report[id];
 if (obj.type == "RTCIncomingRTPStreamStats") {
// print out the number of bytes received on each RTP stream
 console.log(obj.timestamp + ": ssrc:" + obj.ssrc + " bytes:" +
obj.bytesReceived);
 }
}

Received on Thursday, 7 February 2013 17:07:58 UTC