Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Boston 2013 - Session - Aaron Quint
Search
Monitorama
March 28, 2013
450
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Boston 2013 - Session - Aaron Quint
Monitorama
March 28, 2013
More Decks by Monitorama
See All by Monitorama
Monitorama PDX 2017 - Ian Bennett
monitorama
1
630
PDX 2017 - Pedro Andrade
monitorama
0
830
PDX 2017 - Roy Rapoport
monitorama
4
990
PDX 2017 - Julia Evans
monitorama
0
520
Berlin 2013 - Session - Brad Lhotsky
monitorama
5
770
Berlin 2013 - Session - Alex Petrov
monitorama
6
730
Berlin 2013 - Session - Jeff Weinstein
monitorama
2
670
Berlin 2013 - Session - Oliver Hankeln
monitorama
1
590
Berlin 2013 - Session - David Goodlad
monitorama
0
510
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
Statistics for Hackers
jakevdp
799
230k
RailsConf 2023
tenderlove
30
1.5k
Why Our Code Smells
bkeepers
PRO
340
58k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Designing for Performance
lara
611
70k
Amusing Abliteration
ianozsvald
1
200
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Rails Girls Zürich Keynote
gr2m
96
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Transcript
CORRELATION: THE NEXT FRONTIER monitorama 2013 / boston / @aq
Wednesday, May 29, 13
CTO of Wednesday, May 29, 13
Chief Taco Officer CTO of Wednesday, May 29, 13
Wednesday, May 29, 13
Wednesday, May 29, 13
A litte bit of @aq Wednesday, May 29, 13
A litte bit of @aq • Expert Eater Wednesday, May
29, 13
A litte bit of @aq • Expert Eater • Experienced
Ruby and JS Developer Wednesday, May 29, 13
A litte bit of @aq • Expert Eater • Experienced
Ruby and JS Developer • Growing Student of Operations Wednesday, May 29, 13
A litte bit of @aq • Expert Eater • Experienced
Ruby and JS Developer • Growing Student of Operations • Beginner Distributed Systems Maintainer Wednesday, May 29, 13
Give each other dap. WE did it Wednesday, May 29,
13
OPS DONE. WE have DATA Y’ALL Wednesday, May 29, 13
Wednesday, May 29, 13
Uhhh SO NO MORE TEARS, right? Wednesday, May 29, 13
Wednesday, May 29, 13
THE LEVELS OF MONITORING NIRVANA Wednesday, May 29, 13
Wednesday, May 29, 13
PURE DATA Wednesday, May 29, 13
PURE DATA BASIC INFERENCES AND CORRELATIONS Wednesday, May 29, 13
PURE DATA BASIC INFERENCES AND CORRELATIONS THE FUCKING MATRIX Wednesday,
May 29, 13
PURE DATA BASIC INFERENCES AND CORRELATIONS THE FUCKING MATRIX Wednesday,
May 29, 13
PURE DATA BASIC INFERENCES AND CORRELATIONS THE FUCKING MATRIX whoa
Wednesday, May 29, 13
Wednesday, May 29, 13
PURE DATA Wednesday, May 29, 13
PURE DATA BASIC INFERENCES AND CORRELATIONS Wednesday, May 29, 13
PURE DATA BASIC INFERENCES AND CORRELATIONS PREDICTIVE AND DIRECT RELATIONSHIPS
Wednesday, May 29, 13
Aligning the data. CORRELATION Wednesday, May 29, 13
Except when it does. CORRELATION DOES NOT IMPLY CAUSATION Wednesday,
May 29, 13
The marshmallow test Wednesday, May 29, 13
And let us get back to Shaving Yaks. correlation can
narrow our work Wednesday, May 29, 13
Step back, HE’S DOING MATH! MATHEMATICAL CORRELATION Wednesday, May 29,
13
Say that 5 times fast. PEARSON Product moment correlation coefficient
Wednesday, May 29, 13
0 1.5 3 4.5 6 0 225 450 675 900
CPU vs Response Time Wednesday, May 29, 13
0 1.5 3 4.5 6 0 225 450 675 900
CPU vs Response Time Wednesday, May 29, 13
Wednesday, May 29, 13
1 data = [ 2 [100, 0.7], 3 [125, 0.5],
4 [150, 1], 5 [300, 2.1], 6 [500, 3.4], 7 [900, 6] 8 ] 9 10 x, y = data.transpose 11 n = data.size 12 x_mean = x.reduce(:+) / n 13 y_mean = y.reduce(:+) / n 14 x_stddev = Math.sqrt(x.inject {|sum, i| sum + (i - x_mean)**2 } / (n - 1).to_f) 15 y_stddev = Math.sqrt(y.inject {|sum, i| sum + (i - y_mean)**2 } / (n - 1).to_f) 16 z_x = x.collect {|i| (i - x_mean) / x_stddev } 17 z_y = y.collect {|i| (i - y_mean) / y_stddev } 18 pearsons = z_x.zip(z_y).collect {|x| x[0] * x[1] }.reduce(:+) / n 19 # => 0.9265763490538744 Wednesday, May 29, 13
PEarson Wednesday, May 29, 13
PEarson • Close to absolute 1 = probably correlated samples
Wednesday, May 29, 13
PEarson • Close to absolute 1 = probably correlated samples
• Could be applied to moving averages? Wednesday, May 29, 13
PEarson • Close to absolute 1 = probably correlated samples
• Could be applied to moving averages? • Could we pull it into a graphite function? (Hackathon anyone?) Wednesday, May 29, 13
LIMITS OF Mathematical correlation Wednesday, May 29, 13
LIMITS OF Mathematical correlation • Requires known inputs and assumptions
Wednesday, May 29, 13
LIMITS OF Mathematical correlation • Requires known inputs and assumptions
• Suggestion of correlation, not proof Wednesday, May 29, 13
LIMITS OF Mathematical correlation • Requires known inputs and assumptions
• Suggestion of correlation, not proof • Needs a large amount of knowledge of the data set to make decisions Wednesday, May 29, 13
I can see it! TIME BASED VISUAL CORRELATION Wednesday, May
29, 13
A Graphite Story Wednesday, May 29, 13
LIMITS OF VISUAL CORRELATION Wednesday, May 29, 13
LIMITS OF VISUAL CORRELATION • Takes a good eye Wednesday,
May 29, 13
LIMITS OF VISUAL CORRELATION • Takes a good eye •
Hard to see the signal through the noise Wednesday, May 29, 13
LIMITS OF VISUAL CORRELATION • Takes a good eye •
Hard to see the signal through the noise • Doesn’t really account for domino events Wednesday, May 29, 13
LIMITS OF VISUAL CORRELATION • Takes a good eye •
Hard to see the signal through the noise • Doesn’t really account for domino events • Good for trends but not as much for events Wednesday, May 29, 13
There’s a disturbance in the force. EMOTIONAL CORRELATION Wednesday, May
29, 13
RASHoMONING Wednesday, May 29, 13
Each person uses their unique knowledge of the situation to
point out unique data points. RASHoMONING Wednesday, May 29, 13
LIMITS OF EMOTIONAL correlation Wednesday, May 29, 13
LIMITS OF EMOTIONAL correlation • Provides a trail not an
answer Wednesday, May 29, 13
LIMITS OF EMOTIONAL correlation • Provides a trail not an
answer • Depends on having a team of people Wednesday, May 29, 13
LIMITS OF EMOTIONAL correlation • Provides a trail not an
answer • Depends on having a team of people • Many ideas, needs a “judge” Wednesday, May 29, 13
LIMITS OF EMOTIONAL correlation • Provides a trail not an
answer • Depends on having a team of people • Many ideas, needs a “judge” • HUMANS (Hence Rashomoning) Wednesday, May 29, 13
I’m sold, show me how! Wednesday, May 29, 13
But I have some ideas. I don’t know exactly Wednesday,
May 29, 13
TRYING TO MAKE THE DATA MORE VISIBLE Wednesday, May 29,
13
A conflagration of data HOTPOT Wednesday, May 29, 13
Wednesday, May 29, 13
Hotpot = Chef, Sensu, Graphite, (Logstash) Simply align disparate sources
of data TO VISUALLY CORRELATE Wednesday, May 29, 13
create relationships for alerts and notifications Wednesday, May 29, 13
Wednesday, May 29, 13
Math to filter out noise. USe PEARSONS to pull out
potentially related data Wednesday, May 29, 13
Have the ability to easily divide datasets by “cohorts” cohort
analysis for processes/nodes Wednesday, May 29, 13
“Node notes”. Document everything. Treat personal and institutional knowledge as
data Wednesday, May 29, 13
By making more data available to everyone. Make emotional correlation
less EMO Wednesday, May 29, 13
So if that’s just level 2, what’s level 3? Wednesday,
May 29, 13
Wednesday, May 29, 13
TAKE the correlations and let the machine turn them into
decisions Wednesday, May 29, 13
Lets figure out level 2 first. NOT YET. Wednesday, May
29, 13
github.com/quirkey github.com/paperlesspost twitter.com/aq twitter.com/paperlessdev quirkey.com paperlesspost.com THANKS! Wednesday, May 29,
13