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
100
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
3
180
Other Decks in Programming
See All in Programming
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
110
Honoとフロントエンドの 型安全性について
yodaka
7
1.4k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
150
Open source software: how to live long and go far
gaelvaroquaux
0
650
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
140
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
380
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
190
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
4
920
ML.NETで始める機械学習
ymd65536
0
220
Introduction to kotlinx.rpc
arawn
0
750
CI改善もDatadogとともに
taumu
0
180
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
100
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
BBQ
matthewcrist
87
9.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Git: the NoSQL Database
bkeepers
PRO
427
65k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
4 Signs Your Business is Dying
shpigford
182
22k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building Adaptive Systems
keathley
40
2.4k
Scaling GitHub
holman
459
140k
Music & Morning Musume
bryan
46
6.4k
Code Review Best Practice
trishagee
67
18k
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