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
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
290
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
360
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
550
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
100
ドメインイベント増えすぎ問題
h0r15h0
2
540
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
390
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
140
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.3k
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
530
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
980
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
180
Package Traits
ikesyo
1
160
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
2
160
Fireside Chat
paigeccino
34
3.1k
Building Applications with DynamoDB
mza
92
6.1k
Why Our Code Smells
bkeepers
PRO
335
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Bash Introduction
62gerente
609
210k
Rails Girls Zürich Keynote
gr2m
94
13k
Scaling GitHub
holman
459
140k
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