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
790
3
Share
IO Insights
Guillermo Rauch
October 23, 2012
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
310
Other Decks in Programming
See All in Programming
Back to the roots of date
jinroq
0
810
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
140
PHPer、Cloudflare に引っ越す
suguruooki
2
190
20260514_its_the_context_window_stupid.pdf
heita
0
960
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
110
空間オーディオの活用
objectiveaudio
0
150
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
260
AgentCore Optimizationを始めよう!
licux
3
240
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.2k
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.9k
JCON - Create Agentic AI Apps, The Easy Way!
kdubois
1
110
Featured
See All Featured
Side Projects
sachag
455
43k
The Limits of Empathy - UXLibs8
cassininazir
1
330
Crafting Experiences
bethany
1
140
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
48
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Building Adaptive Systems
keathley
44
3k
How to make the Groovebox
asonas
2
2.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
The browser strikes back
jonoalderson
0
1k
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!