2. Motivation
• Application Statistics in Erlang
• Count things (e.g. new users/day)
• Record stats (e.g. 95 percentile of response
time)
• Pretty graphs
• CSV for the Excel-folks
3. Concept
• Store stuff in two granularities
• Time and hierarchical tags
• so count([<<“read”>>, <<“book”>>])
increments the counter in 14 keys
5. Components
• LevelDB stores data
• eleveldb interfaces with LevelDB
• uplevel provides bucket/key semantics and
range queries
• Cowboy for JSON API
• sparks.js and Highstocks for graphs
6. LevelDB
• Local, persistent key-value store
• Ordered by key, iterations
• Atomic writes and snapshots
• Variable Cache Size
12. Features: Recording
• Store distributions of values in a space efficient
manner with accuracy guaranties.
• Targeted Quantiles:
f_targeted([{0.05, 0.005}, {0.5, 0.02}, {0.95, 0.005}])
Allow a maximum error of 0,5% for 5th and 95th
percentile and 2% error for median. Errors are
errors in rank.