Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
An analytics
perspective
Varun Singh, CEO
Orlando, 07.03.2016
@callstatsio @vr000m
http://geek-and-poke.com/
2
callstats.io
First cloud-based monitoring service for WebRTC
• 40 paying customers
• +80 developers accounts
Jan Feb Mar A...
Very Simple API
• 3 lines of code —> 5 minutes.
1. include <script>
2. initialize() —> needs registration keys
3. addNewFa...
It is not all about throughput*
• … it is about latency or delay!
*)capacity
bandwidth
speed
audio only call
Disruptions
Disruption: loss of connectivity when
network interfaces change, low
available capacity,or high delay
The ligh...
Disruptions and user behaviour
User Behaviour: The user tries
to correct for the disruption by
turning on and off video
7
state of webrtc
(as we observe it)
8
multiparty?
0 %
10 %
20 %
30 %
40 %
50 %
60 %
70 %
80 %
90 %
100 %
2 3 4 >5
9
65%
31%
3% 1%
~12% calls
fail to set up
10
Failure Reasons
14% 85%<1%
~20% of the setup
calls have issues
11
Types of Relays
0 %
10 %
20 %
30 %
40 %
50 %
60 %
70 %
80 %
90 %
100 %
No Relay TURN/UDP TURN/TCP TURN/TLS
78%
13%
7%
2%
1...
getUserMedia() errors?
0 %
25 %
50 %
75 %
100 %
Perm
ission
D
enied
D
evice
notfound
Perm
ission
D
ism
issed
constraintnot...
0 %
20 %
40 %
60 %
80 %
100 %
no rejoins once twice thrice
3 %4 %
17 %
76 %
Churn* *participant rejoins the
same call repe...
Dropped calls
0 %
20 %
40 %
60 %
80 %
100 %
connectivity
lost
high
delay
high
loss
battery
crash
16 %
3 %14 %
23 %
44 %
15...
Time to Failure
0 %
20 %
40 %
60 %
80 %
100 %
<10s
10-30s
30-60s
>60s
16
People are
very patient!
*not mobile
50%
33%
7% 1...
Lessons Learnt
• ask for audio and video device permissions
separately
• deploy TURN servers with UDP and TCP support
• de...
Summary (1/2)
• Browsers: Chrome dominates WebRTC
• OSes: Windows and Mac are pretty even
• Participants: ~3 participants ...
Summary (2/2)
• Setup time: 80% sessions setup in <5s
• Call Setup Failures: ~10% of calls fail to setup
• Reason for fail...
Vision
Gather
Report
Analyze
FIX
Deploy?
webrtc-internal?
via email?
Hasthisbeen
reportedbefore?
Did it solve the issue?
U...
Free developer account
https://dashboard.callstats.io/register
Upcoming SlideShare
Loading in …5
×

WebRTC - an analytics perspective by callstats.io

999 views

Published on

Varun Singh, callstats.io CEO, gave a presentation at Enterprise Connect 2016. He talked about how WebRTC is being used and what are the analytics behind it.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

WebRTC - an analytics perspective by callstats.io

  1. 1. An analytics perspective Varun Singh, CEO Orlando, 07.03.2016 @callstatsio @vr000m
  2. 2. http://geek-and-poke.com/ 2
  3. 3. callstats.io First cloud-based monitoring service for WebRTC • 40 paying customers • +80 developers accounts Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb3
  4. 4. Very Simple API • 3 lines of code —> 5 minutes. 1. include <script> 2. initialize() —> needs registration keys 3. addNewFabric(pc, …) —> call started • optionally: send user events: audio muted/unmuted, video paused/ resumed, call terminated, call held. • optionally: collect and send user feedback http://www.callstats.io/api/4
  5. 5. It is not all about throughput* • … it is about latency or delay! *)capacity bandwidth speed audio only call
  6. 6. Disruptions Disruption: loss of connectivity when network interfaces change, low available capacity,or high delay The light grey vertical lines show disruption, highlighted by the red bounding boxes. 6
  7. 7. Disruptions and user behaviour User Behaviour: The user tries to correct for the disruption by turning on and off video 7
  8. 8. state of webrtc (as we observe it) 8
  9. 9. multiparty? 0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 3 4 >5 9 65% 31% 3% 1%
  10. 10. ~12% calls fail to set up 10
  11. 11. Failure Reasons 14% 85%<1% ~20% of the setup calls have issues 11
  12. 12. Types of Relays 0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % No Relay TURN/UDP TURN/TCP TURN/TLS 78% 13% 7% 2% 12 22% of calls need infrastructure
  13. 13. getUserMedia() errors? 0 % 25 % 50 % 75 % 100 % Perm ission D enied D evice notfound Perm ission D ism issed constraintnotsatisfied device notsupported 1 %3 %5 % 35 % 56 % 13
  14. 14. 0 % 20 % 40 % 60 % 80 % 100 % no rejoins once twice thrice 3 %4 % 17 % 76 % Churn* *participant rejoins the same call repeatedly Average joins per participant per conference 14
  15. 15. Dropped calls 0 % 20 % 40 % 60 % 80 % 100 % connectivity lost high delay high loss battery crash 16 % 3 %14 % 23 % 44 % 15 one-way audio/video
  16. 16. Time to Failure 0 % 20 % 40 % 60 % 80 % 100 % <10s 10-30s 30-60s >60s 16 People are very patient! *not mobile 50% 33% 7% 10%
  17. 17. Lessons Learnt • ask for audio and video device permissions separately • deploy TURN servers with UDP and TCP support • detect crashes and re-setup connections • media pipelines sometimes crash • screen sharing plugin crashes
  18. 18. Summary (1/2) • Browsers: Chrome dominates WebRTC • OSes: Windows and Mac are pretty even • Participants: ~3 participants in a call on average • Relays: ~20% sessions need a TURN server 18
  19. 19. Summary (2/2) • Setup time: 80% sessions setup in <5s • Call Setup Failures: ~10% of calls fail to setup • Reason for failure: 85% due to NAT/FW • Call Drop: 20% calls fail after setup • Churn: 25% of sessions have a participant rejoining 19
  20. 20. Vision Gather Report Analyze FIX Deploy? webrtc-internal? via email? Hasthisbeen reportedbefore? Did it solve the issue? Until next report? Collect Diagnose Fix Deploy A world where real-time communication is both frictionless and effortless to set up, operate, and scale. 20
  21. 21. Free developer account https://dashboard.callstats.io/register

×