librato-rails 1.4.2 → 2.0.0

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.
Files changed (36) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +52 -73
  4. data/lib/librato/rails/configuration.rb +22 -3
  5. data/lib/librato/rails/railtie.rb +1 -2
  6. data/lib/librato/rails/subscribers/cache.rb +5 -3
  7. data/lib/librato/rails/subscribers/controller.rb +15 -12
  8. data/lib/librato/rails/subscribers/job.rb +17 -8
  9. data/lib/librato/rails/subscribers/mail.rb +11 -8
  10. data/lib/librato/rails/subscribers/method.rb +7 -9
  11. data/lib/librato/rails/subscribers/render.rb +13 -9
  12. data/lib/librato/rails/subscribers/sql.rb +11 -11
  13. data/lib/librato/rails/subscribers/status.rb +7 -9
  14. data/lib/librato/rails/tracker.rb +1 -1
  15. data/lib/librato/rails/version.rb +1 -1
  16. data/test/dummy/app/controllers/instrument_action_controller.rb +4 -0
  17. data/test/dummy/app/mailers/user_mailer.rb +5 -1
  18. data/test/dummy/config/routes.rb +1 -0
  19. data/test/fixtures/config/empty.yml +1 -1
  20. data/test/fixtures/config/librato.yml +4 -3
  21. data/test/fixtures/config/simple.yml +0 -2
  22. data/test/integration/cache_test.rb +5 -5
  23. data/test/integration/custom_test.rb +4 -4
  24. data/test/integration/instrument_action_test.rb +71 -23
  25. data/test/integration/job_test.rb +13 -3
  26. data/test/integration/mail_test.rb +9 -1
  27. data/test/integration/render_test.rb +12 -12
  28. data/test/integration/request_test.rb +40 -25
  29. data/test/integration/sql_test.rb +17 -7
  30. data/test/support/integration_case.rb +5 -1
  31. data/test/unit/configuration_test.rb +16 -11
  32. metadata +80 -55
  33. metadata.gz.sig +0 -0
  34. checksums.yaml +0 -7
  35. checksums.yaml.gz.sig +0 -0
  36. data/lib/librato/rails/subscribers/action.rb +0 -39
@@ -15,33 +15,43 @@ class SQLTest < ActiveSupport::IntegrationCase
15
15
 
16
16
  assert_increasing_queries do
17
17
  user = User.create!(email: 'foo@foo.com', password: 'wow')
18
- assert_equal 1, counters["rails.sql.inserts"]
18
+ assert_equal 1, counters["rails.sql.inserts"][:value]
19
19
  end
20
20
 
21
21
  assert_increasing_queries do
22
- prev = counters["rails.sql.selects"].to_i
22
+ prev =
23
+ if counters["rails.sql.selects"]
24
+ counters["rails.sql.selects"][:value].to_i
25
+ else
26
+ 0
27
+ end
23
28
  foo = User.find_by_email('foo@foo.com')
24
- assert_equal prev+1, counters["rails.sql.selects"]
29
+ assert_equal prev+1, counters["rails.sql.selects"][:value]
25
30
  end
26
31
 
27
32
  assert_increasing_queries do
28
33
  foo.password = 'new password'
29
34
  foo.save
30
- assert_equal 1, counters["rails.sql.updates"]
35
+ assert_equal 1, counters["rails.sql.updates"][:value]
31
36
  end
32
37
 
33
38
  assert_increasing_queries do
34
39
  foo.destroy
35
- assert_equal 1, counters["rails.sql.deletes"]
40
+ assert_equal 1, counters["rails.sql.deletes"][:value]
36
41
  end
37
42
  end
38
43
 
39
44
  private
40
45
 
41
46
  def assert_increasing_queries
42
- previous = counters["rails.sql.queries"].to_i
47
+ previous =
48
+ if counters["rails.sql.queries"]
49
+ counters["rails.sql.queries"][:value].to_i
50
+ else
51
+ 0
52
+ end
43
53
  yield
44
- assert counters["rails.sql.queries"].to_i > previous
54
+ assert counters["rails.sql.queries"][:value].to_i > previous
45
55
  end
46
56
 
47
57
  end
@@ -20,4 +20,8 @@ class ActiveSupport::IntegrationCase < ActiveSupport::TestCase
20
20
  def counters
21
21
  collector.counters
22
22
  end
23
- end
23
+
24
+ def default_tags
25
+ collector.tags
26
+ end
27
+ end
@@ -7,24 +7,24 @@ module Librato
7
7
  def teardown
8
8
  ENV.delete('LIBRATO_USER')
9
9
  ENV.delete('LIBRATO_TOKEN')
10
- ENV.delete('LIBRATO_SOURCE')
10
+ ENV.delete("LIBRATO_TAGS")
11
11
  # legacy
12
12
  ENV.delete('LIBRATO_METRICS_USER')
13
13
  ENV.delete('LIBRATO_METRICS_TOKEN')
14
- ENV.delete('LIBRATO_METRICS_SOURCE')
14
+ ENV.delete("LIBRATO_METRICS_TAGS")
15
15
  end
16
16
 
17
17
  def test_environmental_variable_config
18
18
  ENV['LIBRATO_USER'] = 'foo@bar.com'
19
19
  ENV['LIBRATO_TOKEN'] = 'api_key'
20
- ENV['LIBRATO_SOURCE'] = 'source'
20
+ ENV["LIBRATO_TAGS"] = "foo=bar"
21
21
  ENV['LIBRATO_SUITES'] = 'all'
22
22
  config = Configuration.new
23
23
  assert_equal 'foo@bar.com', config.user
24
24
  assert_equal 'api_key', config.token
25
- assert_equal 'source', config.source
25
+ assert_equal "bar", config.tags[:foo]
26
26
  assert_equal 'all', config.suites
27
- assert config.explicit_source?, 'source is explicit'
27
+ assert config.has_tags?, "tags are explicit"
28
28
  end
29
29
 
30
30
  def test_config_file_config
@@ -33,28 +33,33 @@ module Librato
33
33
  assert_equal 'test api key', config.token
34
34
  assert_equal 'rails-test', config.prefix
35
35
  assert_equal 30, config.flush_interval
36
- assert_equal 'custom-1', config.source
37
- assert_equal false, config.source_pids
36
+ assert_equal "us-east-1", config.tags[:region]
37
+ assert_equal "b", config.tags[:az]
38
38
  assert_equal 'http://localhost:8080', config.proxy
39
39
  assert_equal 'all', config.suites
40
- assert config.explicit_source?, 'source is explicit'
40
+ assert config.has_tags?, "tags are not explicit"
41
41
  end
42
42
 
43
- def test_implicit_source
43
+ def test_detect_tags
44
44
  config = fixture_config('simple')
45
45
  assert_equal 'test@bar.com', config.user
46
46
  assert_equal 'test api key', config.token
47
- assert !config.explicit_source?, 'source is not explicit'
47
+ config = fixture_config
48
+ assert config.tags[:host] # default tag
49
+ assert_equal "dummy", config.tags[:service] # default tag
50
+ assert_equal "test", config.tags[:environment] # default tag
51
+ assert_equal "us-east-1", config.tags[:region] # custom tag
48
52
  end
49
53
 
50
54
  def test_environmental_and_config_file_config
51
55
  ENV['LIBRATO_METRICS_USER'] = 'foo@bar.com'
52
56
  ENV['LIBRATO_METRICS_TOKEN'] = 'api_key'
53
- ENV['LIBRATO_METRICS_SOURCE'] = 'source'
54
57
  config = fixture_config
55
58
  assert_equal 'test@bar.com', config.user # from config file
56
59
  assert_equal 'test api key', config.token # from config file
57
60
  assert_equal 'rails-test', config.prefix # from config file
61
+ assert_equal "us-east-1", config.tags[:region] # from config file
62
+ assert_equal "b", config.tags[:az] # from config file
58
63
  assert_equal 30, config.flush_interval # from config file
59
64
  end
60
65
 
metadata CHANGED
@@ -1,118 +1,137 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librato-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 2.0.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Matt Sanders
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDLjCCAhagAwIBAgIBADANBgkqhkiG9w0BAQUFADA9MQ0wCwYDVQQDDARydWJ5
14
- MRcwFQYKCZImiZPyLGQBGRYHbGlicmF0bzETMBEGCgmSJomT8ixkARkWA2NvbTAe
15
- Fw0xNzAxMTExODI3MDdaFw0xODAxMTExODI3MDdaMD0xDTALBgNVBAMMBHJ1Ynkx
16
- FzAVBgoJkiaJk/IsZAEZFgdsaWJyYXRvMRMwEQYKCZImiZPyLGQBGRYDY29tMIIB
17
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA58LirwsWnKL1uuClQ0uwA1XL
18
- GpxDuFzSosipiPkzZY3hiHazC8SHDREZQXlm7ITX/o+dueNoB7dt0BR3RPVipH7V
19
- 7cvbCUaZNjEXR5Lal6PsmUsbMTrddkvj3e7flmJv+kMj+teeJ7MDeJTU5wXXV9pD
20
- ThiCDILJMF5CdP8Jru4rSBOP6RmmzYU+0cN5+5pt9xqrycA+Poo2ZuoUMCMsSBvl
21
- PimM3PPvoWTuE41GTn/bLoOVoXQmdwZIbwUSVH8rCDjZSlttOst+xrBw4KG0dYUp
22
- 2UvEe8iCyqEMQ8fEZ7EXuP2WMVICutFbz8Pt4hIMq+OTnDX+mIfma7GvPaKAFwID
23
- AQABozkwNzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQBSxu9Jj4VTrXTpLujPwk9Kzwp
24
- 2jALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQADggEBACvNsw1pGv72xp3LiDlZ
25
- 0tphNP/85RcYyJMklslG3tIYblyo71xHW1UbK5ArUK6k0BN43MuDn3pqLJQttVmi
26
- bUdA3yYi13GeSrrAMlr4nH8Yt/Bn/XpZGliouJUBwh1BjG6dSj1iuR4/9pt9/LtO
27
- QTdIc+07qGspypT0Uh/w/BodEcGuAaZZFlkU9vottTe6wWNnM6hfRExiSIsr+oVe
28
- s8s83ObshjuSzjOqS56IBtNlPEL+D6ghjZZLP3lS6l9p70Pcpcl+IcE4veqZmmKC
29
- sGepgRclC6UbZh+yQ3alXVghM2qsonAwI/rTNmFJN9kQn6nP9+f1Uf/qZFNcjn4L
30
- 9bg=
31
- -----END CERTIFICATE-----
32
- date: 2017-01-24 00:00:00.000000000 Z
12
+ - !binary |-
13
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMakNDQWhhZ0F3SUJB
14
+ Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE5TVEwd0N3WURWUVFEREFSeWRX
15
+ SjUKTVJjd0ZRWUtDWkltaVpQeUxHUUJHUllIYkdsaWNtRjBiekVUTUJFR0Nn
16
+ bVNKb21UOGl4a0FSa1dBMk52YlRBZQpGdzB4TnpBeE1URXhPREkzTURkYUZ3
17
+ MHhPREF4TVRFeE9ESTNNRGRhTUQweERUQUxCZ05WQkFNTUJISjFZbmt4CkZ6
18
+ QVZCZ29Ka2lhSmsvSXNaQUVaRmdkc2FXSnlZWFJ2TVJNd0VRWUtDWkltaVpQ
19
+ eUxHUUJHUllEWTI5dE1JSUIKSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4
20
+ QU1JSUJDZ0tDQVFFQTU4TGlyd3NXbktMMXV1Q2xRMHV3QTFYTApHcHhEdUZ6
21
+ U29zaXBpUGt6WlkzaGlIYXpDOFNIRFJFWlFYbG03SVRYL28rZHVlTm9CN2R0
22
+ MEJSM1JQVmlwSDdWCjdjdmJDVWFaTmpFWFI1TGFsNlBzbVVzYk1UcmRka3Zq
23
+ M2U3ZmxtSnYra01qK3RlZUo3TURlSlRVNXdYWFY5cEQKVGhpQ0RJTEpNRjVD
24
+ ZFA4SnJ1NHJTQk9QNlJtbXpZVSswY041KzVwdDl4cXJ5Y0ErUG9vMlp1b1VN
25
+ Q01zU0J2bApQaW1NM1BQdm9XVHVFNDFHVG4vYkxvT1ZvWFFtZHdaSWJ3VVNW
26
+ SDhyQ0RqWlNsdHRPc3QreHJCdzRLRzBkWVVwCjJVdkVlOGlDeXFFTVE4ZkVa
27
+ N0VYdVAyV01WSUN1dEZiejhQdDRoSU1xK09UbkRYK21JZm1hN0d2UGFLQUZ3
28
+ SUQKQVFBQm96a3dOekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRQlN4
29
+ dTlKajRWVHJYVHBMdWpQd2s5S3p3cAoyakFMQmdOVkhROEVCQU1DQkxBd0RR
30
+ WUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFDdk5zdzFwR3Y3MnhwM0xpRGxaCjB0
31
+ cGhOUC84NVJjWXlKTWtsc2xHM3RJWWJseW83MXhIVzFVYks1QXJVSzZrMEJO
32
+ NDNNdURuM3BxTEpRdHRWbWkKYlVkQTN5WWkxM0dlU3JyQU1scjRuSDhZdC9C
33
+ bi9YcFpHbGlvdUpVQndoMUJqRzZkU2oxaXVSNC85cHQ5L0x0TwpRVGRJYysw
34
+ N3FHc3B5cFQwVWgvdy9Cb2RFY0d1QWFaWkZsa1U5dm90dFRlNndXTm5NNmhm
35
+ UkV4aVNJc3Irb1ZlCnM4czgzT2JzaGp1U3pqT3FTNTZJQnRObFBFTCtENmdo
36
+ alpaTFAzbFM2bDlwNzBQY3BjbCtJY0U0dmVxWm1tS0MKc0dlcGdSY2xDNlVi
37
+ WmgreVEzYWxYVmdoTTJxc29uQXdJL3JUTm1GSk45a1FuNm5QOStmMVVmL3Fa
38
+ Rk5jam40TAo5Ymc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
39
+ date: 2017-01-25 00:00:00.000000000 Z
33
40
  dependencies:
34
41
  - !ruby/object:Gem::Dependency
35
42
  name: railties
36
43
  requirement: !ruby/object:Gem::Requirement
44
+ none: false
37
45
  requirements:
38
- - - ">="
46
+ - - ! '>='
39
47
  - !ruby/object:Gem::Version
40
48
  version: '3.0'
41
49
  type: :runtime
42
50
  prerelease: false
43
51
  version_requirements: !ruby/object:Gem::Requirement
52
+ none: false
44
53
  requirements:
45
- - - ">="
54
+ - - ! '>='
46
55
  - !ruby/object:Gem::Version
47
56
  version: '3.0'
48
57
  - !ruby/object:Gem::Dependency
49
58
  name: activesupport
50
59
  requirement: !ruby/object:Gem::Requirement
60
+ none: false
51
61
  requirements:
52
- - - ">="
62
+ - - ! '>='
53
63
  - !ruby/object:Gem::Version
54
64
  version: '3.0'
55
65
  type: :runtime
56
66
  prerelease: false
57
67
  version_requirements: !ruby/object:Gem::Requirement
68
+ none: false
58
69
  requirements:
59
- - - ">="
70
+ - - ! '>='
60
71
  - !ruby/object:Gem::Version
61
72
  version: '3.0'
62
73
  - !ruby/object:Gem::Dependency
63
74
  name: librato-rack
64
75
  requirement: !ruby/object:Gem::Requirement
76
+ none: false
65
77
  requirements:
66
- - - "~>"
78
+ - - ~>
67
79
  - !ruby/object:Gem::Version
68
- version: 1.1.0
80
+ version: 2.0.0
69
81
  type: :runtime
70
82
  prerelease: false
71
83
  version_requirements: !ruby/object:Gem::Requirement
84
+ none: false
72
85
  requirements:
73
- - - "~>"
86
+ - - ~>
74
87
  - !ruby/object:Gem::Version
75
- version: 1.1.0
88
+ version: 2.0.0
76
89
  - !ruby/object:Gem::Dependency
77
90
  name: sqlite3
78
91
  requirement: !ruby/object:Gem::Requirement
92
+ none: false
79
93
  requirements:
80
- - - ">="
94
+ - - ! '>='
81
95
  - !ruby/object:Gem::Version
82
96
  version: '1.3'
83
97
  type: :development
84
98
  prerelease: false
85
99
  version_requirements: !ruby/object:Gem::Requirement
100
+ none: false
86
101
  requirements:
87
- - - ">="
102
+ - - ! '>='
88
103
  - !ruby/object:Gem::Version
89
104
  version: '1.3'
90
105
  - !ruby/object:Gem::Dependency
91
106
  name: capybara
92
107
  requirement: !ruby/object:Gem::Requirement
108
+ none: false
93
109
  requirements:
94
- - - "~>"
110
+ - - ~>
95
111
  - !ruby/object:Gem::Version
96
112
  version: 2.0.3
97
113
  type: :development
98
114
  prerelease: false
99
115
  version_requirements: !ruby/object:Gem::Requirement
116
+ none: false
100
117
  requirements:
101
- - - "~>"
118
+ - - ~>
102
119
  - !ruby/object:Gem::Version
103
120
  version: 2.0.3
104
121
  - !ruby/object:Gem::Dependency
105
122
  name: rails
106
123
  requirement: !ruby/object:Gem::Requirement
124
+ none: false
107
125
  requirements:
108
- - - ">="
126
+ - - ! '>='
109
127
  - !ruby/object:Gem::Version
110
128
  version: '3.0'
111
129
  type: :development
112
130
  prerelease: false
113
131
  version_requirements: !ruby/object:Gem::Requirement
132
+ none: false
114
133
  requirements:
115
- - - ">="
134
+ - - ! '>='
116
135
  - !ruby/object:Gem::Version
117
136
  version: '3.0'
118
137
  description: Report key app statistics to the Librato Metrics service and easily track
@@ -124,19 +143,10 @@ executables: []
124
143
  extensions: []
125
144
  extra_rdoc_files: []
126
145
  files:
127
- - CHANGELOG.md
128
- - FAQ.md
129
- - LICENSE
130
- - README.md
131
- - Rakefile
132
- - lib/librato-rails.rb
133
- - lib/librato/rails.rb
134
146
  - lib/librato/rails/configuration.rb
135
- - lib/librato/rails/helpers.rb
136
147
  - lib/librato/rails/helpers/controller.rb
148
+ - lib/librato/rails/helpers.rb
137
149
  - lib/librato/rails/railtie.rb
138
- - lib/librato/rails/subscribers.rb
139
- - lib/librato/rails/subscribers/action.rb
140
150
  - lib/librato/rails/subscribers/cache.rb
141
151
  - lib/librato/rails/subscribers/controller.rb
142
152
  - lib/librato/rails/subscribers/job.rb
@@ -145,11 +155,17 @@ files:
145
155
  - lib/librato/rails/subscribers/render.rb
146
156
  - lib/librato/rails/subscribers/sql.rb
147
157
  - lib/librato/rails/subscribers/status.rb
158
+ - lib/librato/rails/subscribers.rb
148
159
  - lib/librato/rails/tracker.rb
149
160
  - lib/librato/rails/version.rb
150
161
  - lib/librato/rails/version_specifier.rb
151
- - test/dummy/README.rdoc
152
- - test/dummy/Rakefile
162
+ - lib/librato/rails.rb
163
+ - lib/librato-rails.rb
164
+ - LICENSE
165
+ - Rakefile
166
+ - README.md
167
+ - CHANGELOG.md
168
+ - FAQ.md
153
169
  - test/dummy/app/assets/javascripts/application.js
154
170
  - test/dummy/app/assets/javascripts/home.js
155
171
  - test/dummy/app/assets/javascripts/status.js
@@ -179,7 +195,6 @@ files:
179
195
  - test/dummy/app/views/render/template.html.erb
180
196
  - test/dummy/app/views/status/code.html.erb
181
197
  - test/dummy/app/views/user_mailer/welcome_email.text.erb
182
- - test/dummy/config.ru
183
198
  - test/dummy/config/application.rb
184
199
  - test/dummy/config/boot.rb
185
200
  - test/dummy/config/database.yml
@@ -197,6 +212,7 @@ files:
197
212
  - test/dummy/config/locales/en.yml
198
213
  - test/dummy/config/routes.rb
199
214
  - test/dummy/config/unicorn.rb
215
+ - test/dummy/config.ru
200
216
  - test/dummy/db/migrate/20120719231810_create_users.rb
201
217
  - test/dummy/db/schema.rb
202
218
  - test/dummy/extras/dummy_job.rb
@@ -204,6 +220,8 @@ files:
204
220
  - test/dummy/public/422.html
205
221
  - test/dummy/public/500.html
206
222
  - test/dummy/public/favicon.ico
223
+ - test/dummy/Rakefile
224
+ - test/dummy/README.rdoc
207
225
  - test/dummy/script/rails
208
226
  - test/fixtures/config/empty.yml
209
227
  - test/fixtures/config/librato.yml
@@ -224,26 +242,33 @@ files:
224
242
  homepage: https://github.com/librato/librato-rails
225
243
  licenses:
226
244
  - BSD 3-clause
227
- metadata: {}
228
245
  post_install_message:
229
246
  rdoc_options: []
230
247
  require_paths:
231
248
  - lib
232
249
  required_ruby_version: !ruby/object:Gem::Requirement
250
+ none: false
233
251
  requirements:
234
- - - ">="
252
+ - - ! '>='
235
253
  - !ruby/object:Gem::Version
236
254
  version: '0'
255
+ segments:
256
+ - 0
257
+ hash: 3419366380046188108
237
258
  required_rubygems_version: !ruby/object:Gem::Requirement
259
+ none: false
238
260
  requirements:
239
- - - ">="
261
+ - - ! '>='
240
262
  - !ruby/object:Gem::Version
241
263
  version: '0'
264
+ segments:
265
+ - 0
266
+ hash: 3419366380046188108
242
267
  requirements: []
243
268
  rubyforge_project:
244
- rubygems_version: 2.2.2
269
+ rubygems_version: 1.8.23.2
245
270
  signing_key:
246
- specification_version: 4
271
+ specification_version: 3
247
272
  summary: Use Librato Metrics with your Rails 3 app
248
273
  test_files:
249
274
  - test/dummy/app/assets/javascripts/application.js
metadata.gz.sig CHANGED
Binary file
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: c25acef1901647e20679b9d440b2668aa6741ea1
4
- data.tar.gz: 8ac051e1f3d5eca8216fb52e40814df16e9047b6
5
- SHA512:
6
- metadata.gz: b621866abedbd90a4d234cff6e3340322ffc76d786530a07b8dce157cbcaa9529bc6497600605e6373b0425a1f1a42a8921a451e42fd56b15050775c1607efa6
7
- data.tar.gz: 5e6ff58d2090928f1d10abd89dd3a34bfe93b2a5cca2ae6d1fc9238bbf33993acaefc9162a0c58724dfdded5c3c80c043ffa2543d7a1574819805ae81080816d
Binary file
@@ -1,39 +0,0 @@
1
- module Librato
2
- module Rails
3
- module Subscribers
4
-
5
- # Controller Actions
6
-
7
- ActiveSupport::Notifications.subscribe 'process_action.action_controller' do |*args|
8
-
9
- event = ActiveSupport::Notifications::Event.new(*args)
10
- controller = event.payload[:controller]
11
- action = event.payload[:action]
12
-
13
- format = event.payload[:format] || "all"
14
- format = "all" if format == "*/*"
15
- exception = event.payload[:exception]
16
-
17
- if @watches && (@watches.index(controller) || @watches.index("#{controller}##{action}"))
18
- source = "#{controller}.#{action}.#{format}"
19
- collector.group 'rails.action.request' do |r|
20
-
21
- r.increment 'total', source: source
22
- r.increment 'slow', source: source if event.duration > 200.0
23
- r.timing 'time', event.duration, source: source, percentile: 95
24
-
25
- if exception
26
- r.increment 'exceptions', source: source
27
- else
28
- r.timing 'time.db', event.payload[:db_runtime] || 0, source: source, percentile: 95
29
- r.timing 'time.view', event.payload[:view_runtime] || 0, source: source, percentile: 95
30
- end
31
-
32
- end
33
- end
34
-
35
- end # end subscribe
36
-
37
- end
38
- end
39
- end