Lazy Metrics
var start = new Date();
$('img').load(function() {
recordMetric("image-load",
new Date() - start);
});
Monday, October 1, 12
Slide 4
Slide 4 text
Lazy Metrics
var start = new Date();
$('img').load(function() {
recordMetric("image-load",
new Date() - start);
});
Monday, October 1, 12
Slide 5
Slide 5 text
Lazy Metrics
var start = new Date();
$('img').load(function() {
recordMetric("image-load",
new Date() - start);
});
Monday, October 1, 12
Slide 6
Slide 6 text
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
Slide 7
Slide 7 text
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
Slide 8
Slide 8 text
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
Slide 9
Slide 9 text
Client Side
Monday, October 1, 12
Slide 10
Slide 10 text
Story Time
Monday, October 1, 12
Slide 11
Slide 11 text
Story Time
Monday, October 1, 12
Slide 12
Slide 12 text
Lazy A/B Test
<% if fast = [true, false].sample %>
<% else %>
<% end %>
Monday, October 1, 12
Slide 13
Slide 13 text
Lazy A/B Test
$('img').load(function() {
name = "image-load<%=
fast ? '-test' : '' %>"
recordMetric(name, new Date() - start);
});
Monday, October 1, 12
Slide 14
Slide 14 text
Lazy A/B Test
$('img').load(function() {
name = "image-load<%=
fast ? '-test' : '' %>"
recordMetric(name, new Date() - start);
});
Monday, October 1, 12
Slide 15
Slide 15 text
Lazy A/B Test
10.5s
6.6s
Monday, October 1, 12
Slide 16
Slide 16 text
New Relic
37ms
Monday, October 1, 12
Slide 17
Slide 17 text
metriks
14ms
110ms
Monday, October 1, 12
Slide 18
Slide 18 text
gem install metriks
Thank me later.
Monday, October 1, 12