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
62
Statistics and Metrics in WebRTC
vr000m
0
690
Flexible FEC
vr000m
0
110
WebRTC Statistics Identifier
vr000m
0
52
Multipath RTP Updates
vr000m
0
55
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
98
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
120
Flexible FEC Update
vr000m
0
73
Other Decks in Technology
See All in Technology
[JAWS-UG新潟#20] re:Invent2024 -CloudOperationsアップデートについて-
shintaro_fukatsu
0
120
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
110
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
210
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
190
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.4k
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
200
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
500
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
280
Qiita埋め込み用スライド
naoki_0531
0
5.2k
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
280
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
120
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
Embracing the Ebb and Flow
colly
84
4.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
A designer walks into a library…
pauljervisheath
205
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Speed Design
sergeychernyshev
25
670
GitHub's CSS Performance
jonrohan
1031
460k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Building Your Own Lightsaber
phodgson
103
6.1k
Practical Orchestrator
shlominoach
186
10k
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