librato-rails 0.9.0 → 0.10.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +14 -0
- data/FAQ.md +25 -0
- data/README.md +11 -2
- data/lib/librato/rails/configuration.rb +26 -29
- data/lib/librato/rails/railtie.rb +30 -5
- data/lib/librato/rails/subscribers/cache.rb +22 -0
- data/lib/librato/rails/subscribers/controller.rb +56 -0
- data/lib/librato/rails/subscribers/mail.rb +18 -0
- data/lib/librato/rails/subscribers/render.rb +28 -0
- data/lib/librato/rails/subscribers/sql.rb +24 -0
- data/lib/librato/rails/subscribers.rb +14 -69
- data/lib/librato/rails/tracker.rb +13 -0
- data/lib/librato/rails/version.rb +1 -1
- data/lib/librato/rails.rb +9 -214
- data/test/dummy/app/assets/javascripts/application.js +0 -3
- data/test/dummy/app/controllers/cache_controller.rb +44 -0
- data/test/dummy/app/controllers/render_controller.rb +4 -0
- data/test/dummy/app/models/user.rb +7 -5
- data/test/dummy/app/views/render/_first.html.erb +1 -0
- data/test/dummy/app/views/render/_second.html.erb +1 -0
- data/test/dummy/app/views/render/partial.html.erb +2 -0
- data/test/dummy/app/views/render/template.html.erb +1 -0
- data/test/dummy/config/application.rb +8 -6
- data/test/dummy/config/environments/test.rb +1 -1
- data/test/dummy/config/routes.rb +12 -3
- data/test/integration/cache_test.rb +40 -0
- data/test/integration/mail_test.rb +2 -4
- data/test/integration/render_test.rb +27 -0
- data/test/integration/request_test.rb +15 -11
- data/test/integration/sql_test.rb +6 -6
- data/test/support/integration_case.rb +11 -7
- data/test/unit/configuration_test.rb +63 -73
- data/test/unit/tracker_test.rb +15 -0
- metadata +36 -53
- data/lib/librato/rack/middleware.rb +0 -47
- data/lib/librato/rack.rb +0 -4
- data/lib/librato/rails/aggregator.rb +0 -95
- data/lib/librato/rails/collector.rb +0 -45
- data/lib/librato/rails/counter_cache.rb +0 -122
- data/lib/librato/rails/group.rb +0 -27
- data/lib/librato/rails/logging.rb +0 -77
- data/lib/librato/rails/validating_queue.rb +0 -31
- data/lib/librato/rails/worker.rb +0 -54
- data/lib/tasks/metrics-rails_tasks.rake +0 -4
- data/test/librato-rails_test.rb +0 -44
- data/test/remote/rails_remote_test.rb +0 -193
- data/test/unit/aggregator_test.rb +0 -53
- data/test/unit/counter_cache_test.rb +0 -90
- data/test/unit/group_test.rb +0 -54
- data/test/unit/middleware_test.rb +0 -82
- data/test/unit/worker_test.rb +0 -31
@@ -1,82 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class MetricRackMiddlewareTest < MiniTest::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
Librato::Rails.stubs(:forking_server?).returns(false)
|
7
|
-
Librato::Rails.stubs(:measure).returns(true)
|
8
|
-
Librato::Rails.stubs(:increment).returns(true)
|
9
|
-
|
10
|
-
Time.stubs(:now).returns(Time.at(0.1305), Time.at(0.20075))
|
11
|
-
|
12
|
-
@middleware = Librato::Rack::Middleware.new(
|
13
|
-
stub(:call => [200, {}, []])
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
def teardown
|
18
|
-
Librato::Rails.unstub :forking_server?, :measure, :increment
|
19
|
-
Time.unstub :now
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_logs_header_metrics
|
23
|
-
Librato::Rails.expects(:measure).with('rack.heroku.queue.depth', 1.0)
|
24
|
-
Librato::Rails.expects(:measure).with('rack.heroku.queue.wait_time', 20.5)
|
25
|
-
Librato::Rails.expects(:measure).with('rack.heroku.queue.dynos', 2.0)
|
26
|
-
|
27
|
-
@middleware.call(
|
28
|
-
'HTTP_X_HEROKU_QUEUE_DEPTH' => '1',
|
29
|
-
'HTTP_X_HEROKU_QUEUE_WAIT_TIME' => '20.5',
|
30
|
-
'HTTP_X_HEROKU_DYNOS_IN_USE' => '2'
|
31
|
-
)
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_logs_request_time
|
35
|
-
Librato::Rails.expects(:measure).with('rack.request.time', 70.25)
|
36
|
-
|
37
|
-
@middleware.call({})
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_increments_request_count
|
41
|
-
Librato::Rails.expects(:increment).with('rack.request.total', 1)
|
42
|
-
|
43
|
-
@middleware.call({})
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_log_200_status
|
47
|
-
Librato::Rails.expects(:increment).with('rack.request.status.200', 1)
|
48
|
-
Librato::Rails.expects(:increment).with('rack.request.status.2xx', 1)
|
49
|
-
|
50
|
-
Librato::Rails.expects(:measure).with('rack.request.status.200.time', 70.25)
|
51
|
-
Librato::Rails.expects(:measure).with('rack.request.status.2xx.time', 70.25)
|
52
|
-
|
53
|
-
@middleware.call({})
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_log_403_status
|
57
|
-
Librato::Rails.expects(:increment).with('rack.request.status.403', 1)
|
58
|
-
Librato::Rails.expects(:increment).with('rack.request.status.4xx', 1)
|
59
|
-
|
60
|
-
Librato::Rails.expects(:measure).with('rack.request.status.403.time', 70.25)
|
61
|
-
Librato::Rails.expects(:measure).with('rack.request.status.4xx.time', 70.25)
|
62
|
-
|
63
|
-
@middleware = Librato::Rack::Middleware.new stub(:call => [403, {}, []])
|
64
|
-
@middleware.call({})
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_fast_queries_are_not_slow
|
68
|
-
Time.stubs(:now).returns(0.1305, 0.3305)
|
69
|
-
|
70
|
-
Librato::Rails.expects(:increment).with('rack.request.slow', 1).never
|
71
|
-
|
72
|
-
@middleware.call({})
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_log_slow_queries
|
76
|
-
Time.stubs(:now).returns(0.1305, 0.40075)
|
77
|
-
|
78
|
-
Librato::Rails.expects(:increment).with('rack.request.slow', 1)
|
79
|
-
|
80
|
-
@middleware.call({})
|
81
|
-
end
|
82
|
-
end
|
data/test/unit/worker_test.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class LibratoRailsWorkerTest < MiniTest::Unit::TestCase
|
4
|
-
|
5
|
-
def test_basic_use
|
6
|
-
worker = Librato::Rails::Worker.new
|
7
|
-
counter = 0
|
8
|
-
Thread.new do
|
9
|
-
worker.run_periodically(0.1) do
|
10
|
-
counter += 1
|
11
|
-
end
|
12
|
-
end
|
13
|
-
sleep 0.45
|
14
|
-
assert_equal counter, 4
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_start_time
|
18
|
-
worker = Librato::Rails::Worker.new
|
19
|
-
|
20
|
-
time = Time.now
|
21
|
-
start = worker.start_time(60)
|
22
|
-
assert start >= time + 60, 'should be more than 60 seconds from when run'
|
23
|
-
assert_equal 0, start.sec, 'should start on a whole minute'
|
24
|
-
|
25
|
-
time = Time.now
|
26
|
-
start = worker.start_time(10)
|
27
|
-
assert start >= time + 10, 'should be more than 10 seconds from when run'
|
28
|
-
assert_equal 0, start.sec%10, 'should be evenly divisible with whole minutes'
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|