luca maraschi presentation nodeday amsterdam feb 2016
TRANSCRIPT
![Page 1: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/1.jpg)
TO BEANNOUNCED
![Page 2: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/2.jpg)
The Day afterPRODUCTION
![Page 3: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/3.jpg)
@lucamaraschi
![Page 4: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/4.jpg)
❤ !
![Page 5: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/5.jpg)
I LOVE CORE DUMPS!
![Page 6: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/6.jpg)
![Page 7: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/7.jpg)
do epic shit!
![Page 8: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/8.jpg)
"Production is WAR"— Bryan Cantrill
![Page 9: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/9.jpg)
![Page 10: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/10.jpg)
3 storiesof real production war
![Page 11: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/11.jpg)
at scale!
![Page 12: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/12.jpg)
ya…we faced all 3!
![Page 13: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/13.jpg)
“Poor is the pupil who does not surpass his
master.”— Leonardo da Vinci
![Page 14: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/14.jpg)
1.Walmart
![Page 15: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/15.jpg)
The ’handleScope’ Saga
![Page 16: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/16.jpg)
handleScopekeeps track of the objects on stack
![Page 17: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/17.jpg)
![Page 18: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/18.jpg)
![Page 19: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/19.jpg)
150MB leak per day!
![Page 20: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/20.jpg)
down to 22…
![Page 21: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/21.jpg)
but still too muchfor the volume of Walmart!
![Page 22: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/22.jpg)
3 months of debugging…
![Page 23: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/23.jpg)
mdb…or suffer!
![Page 24: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/24.jpg)
and Dtrace…or die!
![Page 25: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/25.jpg)
Yep…and our workerswere leaking too! ;-)
![Page 26: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/26.jpg)
Thank you Walmart!
![Page 27: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/27.jpg)
✔
![Page 28: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/28.jpg)
2.Netflix
![Page 29: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/29.jpg)
Node.js in ’Flames’
![Page 30: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/30.jpg)
![Page 31: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/31.jpg)
v8 perf_events
![Page 32: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/32.jpg)
Flame graphs
![Page 33: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/33.jpg)
and…
![Page 34: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/34.jpg)
Route handlers storedin 1 global array
![Page 35: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/35.jpg)
Express.js recursively iterates and invokes
all handlersuntil it finds the right one!
![Page 36: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/36.jpg)
next();
function next(err) { if (err && err === 'route') { return done(); }
var layer = stack[idx++]; if (!layer) { return done(err); }
if (layer.method && layer.method !== method) { return next(err); }
if (err) { layer.handle_error(err, req, res, next); } else { layer.handle_request(req, res, next); } }
![Page 37: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/37.jpg)
![Page 38: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/38.jpg)
the answeris…
![Page 39: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/39.jpg)
Restify
![Page 40: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/40.jpg)
First class residentTraceability
![Page 41: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/41.jpg)
but how?
![Page 42: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/42.jpg)
Bunyan
![Page 43: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/43.jpg)
Dtrace probesor die!
![Page 44: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/44.jpg)
Thank u Netflix!and chill…
![Page 45: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/45.jpg)
✔
![Page 46: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/46.jpg)
3.Joyent
![Page 47: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/47.jpg)
![Page 48: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/48.jpg)
PostgreSQL autovacuum
![Page 49: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/49.jpg)
github.com/joyent/pglockanalyze
![Page 50: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/50.jpg)
Thank you Joyent!
![Page 51: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/51.jpg)
in progress…
![Page 52: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/52.jpg)
actually…I just heard…
![Page 53: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/53.jpg)
quote_literal()vs.
quote_ident()
![Page 54: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/54.jpg)
wrong quote===
∞ LOOP
![Page 55: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/55.jpg)
![Page 56: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/56.jpg)
ProductionOperability
![Page 57: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/57.jpg)
?
![Page 58: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/58.jpg)
Traceability
![Page 59: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/59.jpg)
Post-mortem
![Page 60: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/60.jpg)
github.com/nodejs/tracing-wggithub.com/nodejs/post-mortem
![Page 61: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/61.jpg)
![Page 62: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/62.jpg)
![Page 63: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/63.jpg)
--abort-on-uncaught-exception
![Page 64: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/64.jpg)
![Page 65: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/65.jpg)
what’s next?
![Page 66: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/66.jpg)
post-mortem analysiscross platform!
![Page 67: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/67.jpg)
mdb likeeverywhere!
![Page 68: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/68.jpg)
![Page 69: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/69.jpg)
![Page 70: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/70.jpg)
![Page 71: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/71.jpg)
github.com/indutny/llnode@indutny
![Page 72: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/72.jpg)
Community drivenenterprise effort
![Page 73: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/73.jpg)
“One reason I think debugging is so hard: you need to know much more about how computers work to debug than you do to
program.”Dave Pacheco(Twitter - 18 August 2015)
![Page 74: Luca Maraschi presentation nodeday Amsterdam Feb 2016](https://reader034.vdocuments.net/reader034/viewer/2022042723/586f77251a28ab10258b66e1/html5/thumbnails/74.jpg)
Thank you all!do u like Epic Shit?
JOIN #IceMobile!