webrtc - an analytics perspective by callstats.io

21
An analytics perspective Varun Singh, CEO Orlando, 07.03.2016 @callstatsio @vr000m

Upload: callstatsio

Post on 13-Jan-2017

790 views

Category:

Internet


7 download

TRANSCRIPT

Page 1: WebRTC - an analytics perspective by callstats.io

An analytics perspective

Varun Singh, CEO

Orlando, 07.03.2016

@callstatsio @vr000m

Page 2: WebRTC - an analytics perspective by callstats.io

http://geek-and-poke.com/ 2

Page 3: WebRTC - an analytics perspective by callstats.io

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

Page 4: WebRTC - an analytics perspective by callstats.io

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

Page 5: WebRTC - an analytics perspective by callstats.io

It is not all about throughput*• … it is about latency or delay!

*)capacity bandwidth speed

audio only call

Page 6: WebRTC - an analytics perspective by callstats.io

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

Page 7: WebRTC - an analytics perspective by callstats.io

Disruptions and user behaviour

User Behaviour: The user tries to correct for the disruption by turning on and off video

7

Page 8: WebRTC - an analytics perspective by callstats.io

state of webrtc

(as we observe it)

8

Page 9: WebRTC - an analytics perspective by callstats.io

multiparty?

0 %

10 %

20 %

30 %

40 %

50 %

60 %

70 %

80 %

90 %

100 %

2 3 4 >5

9

65%

31%

3% 1%

Page 10: WebRTC - an analytics perspective by callstats.io

~12% calls fail to set up

10

Page 11: WebRTC - an analytics perspective by callstats.io

Failure Reasons

14% 85%<1%

~20% of the setup calls have issues

11

Page 12: WebRTC - an analytics perspective by callstats.io

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

Page 13: WebRTC - an analytics perspective by callstats.io

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

Page 14: WebRTC - an analytics perspective by callstats.io

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

Page 15: WebRTC - an analytics perspective by callstats.io

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

Page 16: WebRTC - an analytics perspective by callstats.io

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%

Page 17: WebRTC - an analytics perspective by callstats.io

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

Page 18: WebRTC - an analytics perspective by callstats.io

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

Page 19: WebRTC - an analytics perspective by callstats.io

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

Page 20: WebRTC - an analytics perspective by callstats.io

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

Page 21: WebRTC - an analytics perspective by callstats.io

Free developer account

https://dashboard.callstats.io/register