An introduction to the use of Application Metrics to help you gain insight into the activity of your applications.
This talk was given at the an evening seminar at Dynabyte in Stockholm, Sweden in 2014.
Knowing yourapplication
View Slide
I’m Leonard Axelssonfrom MOJANG
story time
a long timeago...
at a companyfar far away...
many users
a realtimesystem
worries aboutperformance...
data
datadatadatadatadatadata
datadatadatadatadatadatadatadatadatadatadatadata
Java, csvand Excel?
too muchwork.
Graphite
4 hours...
datadatadatadatadatadatadatadatadata
something happens whenyou add time to the data
A big change
A drastic increase
we gainedunderstanding
our managers gainedunderstanding
a common languagewas created
now
using GraphiteDAILY
352464 metrics
Successful vs failed logins
Server capacity
Scrolls AI ratings
Realms API requests
look at how yourapplication is interactingwith the world
prefer application metricsover system data
measurecollectvisualize
Graphite•Whisper stores data on disk•Carbon receives & supplies metrics•Graphite web for graphs & dashboards
server2.coolapp.transactions.countMetric names
Sending metricsecho "server2.coolapp.transactions.count 5 1390238108\n"| nc localhost 2003
server2/coolapp/transactions/count.wspMetrics on disk
Metrics on disk•Fixed size files configured by you•you decide how long and at whatgranularity you store metric data
let’s take a look
Recap•use labels for readability•use nonNegativeDerivative withcounters•wildscards work great with sumSeries
Recap•a 2nd y axis is great when comparingvalues on a big scale•you can never have too manydashboards
Recap•rawData lets you take a look at the data•use drawAsInfinite to “tag” events
Tools•Coda Hale’s metrics library for Java•Etsy’s statsd for stats aggregation•and many more
Graphite turns datainto information
in closing
Graphiteisn’t the point
insight into yourapplication is
graphing metrics overtime gives context
seeing the same graphsover and over gives youfamiliarity
visualization spurconversation
it gives you a hunger formore
you learn to recognizepatterns
you start noticing whenthings aren’t working
measureeverything
it’s your job to knowyour application
Thanks!
xlson.com[email protected]twitter.com/xlson