Upload
callstatsio
View
791
Download
7
Embed Size (px)
Citation preview
An analytics perspective
Varun Singh, CEO
Orlando, 07.03.2016
@callstatsio @vr000m
http://geek-and-poke.com/ 2
callstats.ioFirst 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
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
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 in ter faces change, low available capacity,or high delay
The light grey vertical lines show disruption, highlighted by the red bounding boxes.6
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%
12
22% of calls need infrastructure
getUserMedia() errors?
0 %
25 %
50 %
75 %
100 %
Permiss
ion Den
ied
Device
not fo
und
Permiss
ion Dism
issed
cons
traint
not s
atisfie
d
device
not s
upport
ed
1 %3 %5 %
35 %
56 %
13
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
Dropped calls
0 %
20 %
40 %
60 %
80 %
100 %
conn
ectivi
ty los
t
high d
elay
high l
oss
battery
crash
16 %3 %14 %23 %
44 %
15
one-way audio/video
Time to Failure
0 %
20 %
40 %
60 %
80 %
100 %
<10s
10-30
s
30-60
s>60
s
16
People are very patient!
*not mobile
50%
33%
7% 10%
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
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
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
VisionGather
Report
Analyze
FIX
Deploy?
webrtc-internal?
via email?
Has
this
bee
n re
port
ed b
efor
e?
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
Free developer account
https://dashboard.callstats.io/register