NodeJS Metrics with StatsD and Graphite

This was a really fun talk to put together for the December BayNode meetup.

I created a dynamic (AngularJS FTW) HTML presentation walking through the major structual elements of a Node->StatsD->Graphite workflow. I also talked about @dscape's StatsD client, Lynx as well as my Express middleware wrapper, Lynx-Express.

You can checkout the slides and provide any feedback through GitHub issues

I'm a bit of a metrics nut - I crave data. We make good use of metrics throughout our development process: monitoring our dynamically provisioned cloud, our NodeJS applications, our build systems, and my diet coke consumption rate.

As an example, this was the first graph we created last year showing an improvement we made after a produciton deploy.
StatSD Graph

In this case, we had a number of URLs that were extremely slow. This was due to us waiting for responses from our cloud providers' APIs. A minor architectual change resulted in our mean (and 90%) response time dropping down to under 50ms.

I hope to do another post on some of the tricks I've picked up in creating Graphite graphs and dashboards. There's a lot of complex options and functions available in Graphite, but I've found you often have to go hunting for the right function to use.

Ross Kukulinski

My name is Ross. I teach the world Kubernetes and Nodejs through consulting, conference speaking, and training courses.

Philadelphia, PA