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
A/B Testing with Metriks
Search
Larry Marburger
October 01, 2012
Programming
1
89
A/B Testing with Metriks
Quick lightning talk about using metriks to run a dead simple performance A/B test.
Larry Marburger
October 01, 2012
Tweet
Share
More Decks by Larry Marburger
See All by Larry Marburger
I Am Hypermedia (And So Can You)
lmarburger
2
180
Other Decks in Programming
See All in Programming
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
410
Git Lint
bkuhlmann
4
760
Implementing Design Systems in Swift
seyfoyun
1
440
Ruby Function Composition
bkuhlmann
1
340
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.2k
Apache Hive 4 on Treasure Data
ryukobayashi
1
410
Elm Form Validation
bkuhlmann
0
510
Site Reliability Engineering for GMO
pyama86
8
1.1k
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
450
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
970
Let's learn code review
riofujimon
2
570
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.2k
GitHub's CSS Performance
jonrohan
1025
450k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Facilitating Awesome Meetings
lara
43
5.6k
The Invisible Customer
myddelton
114
12k
Statistics for Hackers
jakevdp
790
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
222
21k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
65
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Transcript
Story Time Monday, October 1, 12
Story Time Monday, October 1, 12
Lazy Metrics <script>var start = new Date();</script> <img src="<%= content_url
%>"> <script> $('img').load(function() { recordMetric("image-load", new Date() - start); }); </script> Monday, October 1, 12
Lazy Metrics <script>var start = new Date();</script> <img src="<%= content_url
%>"> <script> $('img').load(function() { recordMetric("image-load", new Date() - start); }); </script> Monday, October 1, 12
Lazy Metrics <script>var start = new Date();</script> <img src="<%= content_url
%>"> <script> $('img').load(function() { recordMetric("image-load", new Date() - start); }); </script> Monday, October 1, 12
Server # /metrics?name=image-load&value=123.45 get '/metrics' do name = params['name'] value
= params['value'] Metriks.timer(name).update(value) content_type 'text/javascript' status 200 end Monday, October 1, 12
Server # /metrics?name=image-load&value=123.45 get '/metrics' do name = params['name'] value
= params['value'] Metriks.timer(name).update(value) content_type 'text/javascript' status 200 end Monday, October 1, 12
Server # /metrics?name=image-load&value=123.45 get '/metrics' do name = params['name'] value
= params['value'] Metriks.timer(name).update(value) content_type 'text/javascript' status 200 end Monday, October 1, 12
Client Side Monday, October 1, 12
Story Time Monday, October 1, 12
Story Time Monday, October 1, 12
Lazy A/B Test <% if fast = [true, false].sample %>
<img src="<%= fast_content_url %>"> <% else %> <img src="<%= content_url %>"> <% end %> Monday, October 1, 12
Lazy A/B Test <script> $('img').load(function() { name = "image-load<%= fast
? '-test' : '' %>" recordMetric(name, new Date() - start); }); </script> Monday, October 1, 12
Lazy A/B Test <script> $('img').load(function() { name = "image-load<%= fast
? '-test' : '' %>" recordMetric(name, new Date() - start); }); </script> Monday, October 1, 12
Lazy A/B Test 10.5s 6.6s Monday, October 1, 12
New Relic 37ms Monday, October 1, 12
metriks 14ms 110ms Monday, October 1, 12
gem install metriks Thank me later. Monday, October 1, 12