getStats method
[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]
Gathers stats for the given object and reports the result asynchronously. If the object has not yet begun to send or receive data, the returned stats will reflect this. If the object is in the closed state, the returned stats will reflect the stats at the time the object transitioned to the closed state.
When the getStats()
method is invoked, the user agent MUST queue a task to run the following steps:
1. Let p be a new promise.
2. Return, but continue the following steps in the background.
3. Start gathering the stats.
4. When the relevant stats have been gathered, return a new RTCStatsReport
object, representing the gathered stats.
Note In the current Microsoft Edge implementation, the getStats
and msGetStats
methods throw an InvalidStateError DOMException
:
- For RTCIceTransport.getStats(), if RTCIceTransport.start() has not yet been called, or if RTCIceTransport.stop() has been called;
- For RTCRtpSender.getStats(), if RTCRtpSender.send(parameters) has not yet been called;
- For RTCRtpReceiver.getStats(), if RTCRtpReceiver.receive(parameters) has not yet been called.
If the getStats
method does not throw the InvalidStateError DOMException
, but the “Ice Transport” state is not “completed”, the Promise will be returned, but will be rejected. In future implementations, the getStats
methods will avoid these InvalidStateError
messages, instead returning empty stats until the “completed” state is achieved.
Syntax
*object.*getStats()
Parameters
This method has no parameters.
Return value
Type: Promise<RTCStatsReport>
RTCStatsReport object