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
84
XRBLOCK Yokohama: update to various drafts
vr000m
0
66
Statistics and Metrics in WebRTC
vr000m
0
740
Flexible FEC
vr000m
0
120
WebRTC Statistics Identifier
vr000m
0
57
Multipath RTP Updates
vr000m
0
67
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
76
Other Decks in Technology
See All in Technology
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
5.9k
OpenTelemetry の Log を使いこなそう
biwashi
5
1.1k
M365アカウント侵害時の初動対応
lhazy
7
5k
Tiptapで実現する堅牢で柔軟なエディター開発
kirik
1
140
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.8k
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
240
alecthomas/kong はいいぞ
fujiwara3
6
980
東京海上日動におけるセキュアな開発プロセスの取り組み
miyabit
0
190
興味の胞子を育て 業務と技術に広がる”きのこ力”
fumiyasac0921
0
260
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
600
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
280
Expertise as a Service via MCP
yodakeisuke
1
160
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Unsuck your backbone
ammeep
671
58k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Practical Orchestrator
shlominoach
189
11k
Producing Creativity
orderedlist
PRO
346
40k
YesSQL, Process and Tooling at Scale
rocio
173
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Adopting Sorbet at Scale
ufuk
77
9.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Speed Design
sergeychernyshev
32
1k
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