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
IO Insights
Search
Guillermo Rauch
October 23, 2012
Programming
3
790
IO Insights
Guillermo Rauch
October 23, 2012
Tweet
Share
More Decks by Guillermo Rauch
See All by Guillermo Rauch
The realtime web: HTTP/1.1 to WebSocket, SPDY & beyond
rauchg
6
1.6k
Socket.IO 1.0
rauchg
9
2.4k
The rise of server-side JavaScript
rauchg
4
300
Other Decks in Programming
See All in Programming
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
500
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
200
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
540
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
400
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.5k
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
250
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.3k
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
820
15年目のiOSアプリを1から作り直す技術
teakun
1
620
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
280
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
How STYLIGHT went responsive
nonsquared
100
6k
Evolving SEO for Evolving Search Engines
ryanjones
0
150
Utilizing Notion as your number one productivity tool
mfonobong
4
250
BBQ
matthewcrist
89
10k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
99
Google's AI Overviews - The New Search
badams
0
930
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Practical Orchestrator
shlominoach
191
11k
WENDY [Excerpt]
tessaabrams
9
36k
How GitHub (no longer) Works
holman
316
140k
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
IO Insights engine.io and socket.io analytics
About
Guillermo Rauch
@rauchg
devthought.com
learnboost.com
require(‘engine.io’)
var engine = require(‘engine.io’)(server); engine.on(‘connection’, function(socket){ socket.write(‘hello’); socket.on(‘data’, function(){}); });
require(‘socket.io’)
var io = require(‘socket.io’)(server); io.on(‘connection’, function(socket){ socket.emit(‘my’, { event: ‘data’
}); socket.on(‘random’, function(){}); }); io.of(‘/namespace’).on();
Data packets and events are the new currency
But all the tooling is oriented around REST
None
Server insight
1st strategy
Built-in instrumentation
require(‘debug’)(‘wat’)
None
2nd strategy
Meta events
socket.on(‘packet’, function(){}); socket.on(‘packetCreate’, function(){});
3rd strategy
Visualization!
require(‘engine.io-monitor’);
Captures and displays engine.io traffic
Like redis MONITOR
Realtime insight into transport usage
12% 13% 34% 41% polling-xhr polling-jsonp websocket flashsocket
Realtime insight into browser / device usage
Realtime insight into latency
None
Client insight
1st strategy
localStorage.debug
None
Looks awful
2nd strategy
Chrome extension
None
None
How?
None
What’s next?
More visualizations
Protocol analysis eg: display socket.io events differently
Custom protocols
Analyze and document performance implications
Thanks!