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
110
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
190
Other Decks in Programming
See All in Programming
アセットのコンパイルについて
ojun9
0
130
はじめてのMaterial3 Expressive
ym223
2
830
Deep Dive into Kotlin Flow
jmatsu
1
350
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
230
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
350
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
RDoc meets YARD
okuramasafumi
4
170
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
180
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
1.7k
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
490
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
520
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Automating Front-end Workflow
addyosmani
1370
200k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Context Engineering - Making Every Token Count
addyosmani
3
50
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
4 Signs Your Business is Dying
shpigford
184
22k
Typedesign – Prime Four
hannesfritz
42
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Optimizing for Happiness
mojombo
379
70k
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