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.4k
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
77
XRBLOCK Yokohama: update to various drafts
vr000m
0
59
Statistics and Metrics in WebRTC
vr000m
0
600
Flexible FEC
vr000m
0
110
WebRTC Statistics Identifier
vr000m
0
49
Multipath RTP Updates
vr000m
0
52
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
91
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
110
Flexible FEC Update
vr000m
0
71
Other Decks in Technology
See All in Technology
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
890
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
430
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
Janus
bkuhlmann
1
490
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
510
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
460
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
550
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
270
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
460
現代CSSフレームワークの内部実装とその仕組み
poteboy
8
3.6k
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
350
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Bash Introduction
62gerente
604
210k
Designing for Performance
lara
601
67k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
A designer walks into a library…
pauljervisheath
200
23k
BBQ
matthewcrist
80
8.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
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