Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WebRTC Monitoring and Management
Search
Varun Singh
December 18, 2014
Technology
2
1.5k
WebRTC Monitoring and Management
@callstats.io, Varun Singh
Upperside 2014, Paris (18.12.2014)
Terena WebRTC-TF Kickoff (15.12.2014)
Varun Singh
December 18, 2014
Tweet
Share
More Decks by Varun Singh
See All by Varun Singh
WebRTC Application interactions API
vr000m
0
81
XRBLOCK Yokohama: update to various drafts
vr000m
0
65
Statistics and Metrics in WebRTC
vr000m
0
720
Flexible FEC
vr000m
0
110
WebRTC Statistics Identifier
vr000m
0
54
Multipath RTP Updates
vr000m
0
61
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
100
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
120
Flexible FEC Update
vr000m
0
75
Other Decks in Technology
See All in Technology
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
530
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
12
6.8k
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
150
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
250
システムとの会話から生まれる先手のDevOps
kakehashi
PRO
0
290
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
0
100
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
更新系と状態
uhyo
7
1.7k
Amazon CloudWatch を使って NW 監視を行うには
o11yfes2023
0
170
今日からはじめるプラットフォームエンジニアリング
jacopen
4
230
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
14
4.9k
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
180
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Writing Fast Ruby
sferik
628
61k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing for Performance
lara
608
69k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
What's in a price? How to price your products and services
michaelherold
245
12k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Transcript
RTC Performance Monitoring and Management Varun Singh @vr000m, @callstatsio Paris,
15th December 2014 Paris, 18th December 2014
None
Latency kills http://geek-and-poke.com/ 3
4 The network burped
Gameplan • Do nothing à It is someone else’s problem
– Insufficient Capacity à upgrade plan – Misbehaving Browser à update or change – Or… NATs/Firewall – Other customer’s ISP 5
Gameplan 1. Do nothing 2. Wait for feedback/emails customers 3.
Active Monitoring – RTCP monitoring – WebRTC StatsAPI 6
Manual data gathering • Use chrome://webrtc-internals • User monitors their
session 7
RTCP Monitoring 8 Endpoint Endpoint Middlebox MCU, SFU, TURN, …
Monitor Monitor Monitor Third party Monitor Operations & Management System http://tools.ietf.org/html/rfc6792 https://tools.ietf.org/html/draft-ietf-xrblock-rtcweb-rtcp-xr-metrics Implement RTCP Extension Reports
WebRTC Stats API • pc.getStats() – ICE Transport metrics – Audio metrics
– Video metrics – Data channel metrics – … • Configure settings via RtpSender and RtpReceiver. 9 http://w3c.github.io/webrtc-stats/
Performance Monitoring – Annoyances – Call setup time, call failures, NAT traversal
• Transport quality – Relayed or not – Session throughput, delay and loss • Per-stream media quality – Quality Models, MoS, User feedback 10
Annoyances Your Infrastructure 11
Transport Metrics 12
13 Media Quality
Connectivity 14 NetradarActive measurement platform http://www.netradar.org/en
Adaptivity Sender Receiver RTP Media stream (coded media, FEC, repair)
RTCP Sender Reports • Timing, synchronization • Data rate, packet count • “Traffic characteristics” RTCP Receiver Reports • Long-term rough statistics • Detailed statistics • Instant event notifications • Congestion information • Dejittering, sync, playout • Monitoring + reporting • Instant event notifications • Local error concealment Short-term adaptation • Retransmissions • Adaptive FEC • Congestion control • Temporal scaling • Adaptive or switching video Long-term adaptation • Codec choice • Packetization size • Flexible FEC, interleaving • Simulcast Set 3rd Party “QoS” Monitor
Stream unusable Follow this work in RMCAT WG, https://tools.ietf.org/wg/rmcat/
Management • Endpoint – Congestion control – Simulcast/SVC – DSCP
markings • WebRTC Infra management – TURN server – Conference server (MCU, SFU, …) • Network Management – DPI à SNMP – SDN/NFV 17
Measurement Architecture 18 Browser Internals (WebRTC Stack) Browser Internals (WebRTC
Stack) WebRTC API WebRTC API APP APP WebRTC Server Signaling Protocol (e.g., SIP, Jingle, …) PeerConnection SRTP/DTLS/UDP Data/SCTP/DTLS/UDP Network Monitoring • TURN • Gateway Client Monitoring STATS API Monitoring Server HTTP or WebSockets HTTP, IPFIX, or NetFlow RTCP XR
19 Gather Report Analyze FIX Deploy? webrtc-internal? via email? Has
this been reported before? Did it solve the issue? Until next report? Collect Diagnose Fix Deploy
Scaling Infrastructure • Monitoring meets adaptivity • Docker or containers
for signaling, SFUs, TURN infrastructures
Follow us: @vr000m, @callstatsio https://www.facebook.com/callstats.io