When we tell people we’re enabling developers to measure the performance of their systems, we get a range of reactions. Developers dive into the technical questions – Will it slow down my app? Do you have a client library in $FAVOURITE_LANGUAGE? Non-techie people just get a sort of faraway look on their face where presumably they’re trying to figure out what the hell a cloud service is, or why people need to measure things, or if all this stuff has something to do with the internet.
Charlie spent some time at the Dublin BETA event the other night, and this sort of uncertainty was something we wanted to address right from the start. So how do you relate a back-end abstraction in a way that anyone can get? Well – here’s our attempt:
The analogy we’re trying to draw is that the button represents some misbehaving server lounging around out on the internet somewhere. Every time one of the people who stop by our demo booth hits the button, it’s mimicking this server doing something worth hearing about. In this instance we’re only recording the number and duration of button pushes, but it’s not a huge leap to grok that you can send just about any measurement you want – API response times, pots of coffee brewed per hour, number of failed user logins, or memory usage on your machine hitting some nasty threshold you would probably want to know about.
From our button pushes we put together a simple graph:
This is a collation of all the data taken on the night, our live graph reacted immediately to the button. It’s not the most complicated or detailed graph in existence, but it’s a very useful way for people who stop by our booth to get immediate feedback on what our software does. Overall the reaction was great, and numerous times it involved a “Oh! I have to get $X to come see this, he’s been looking for something to do this!”, which was encouraging.
We’re going to improve our button test for PyCon, stop by and give it a push!