scout_apm 2.1.19 → 2.1.20

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.markdown CHANGED
@@ -1,3 +1,10 @@
1
+ # 2.1.20
2
+
3
+ * Add a `detailed_middleware` boolean configuration option to capture
4
+ per-middleware data, as opposed to the default of aggregating all middleware
5
+ together. This has a small amount of additional overhead, approximately
6
+ 10-15ms per request.
7
+
1
8
  # 2.1.19
2
9
 
3
10
  * Log all configuration settings at start when log level is debug
data/lib/scout_apm.rb CHANGED
@@ -75,7 +75,7 @@ require 'scout_apm/instruments/active_record'
75
75
  require 'scout_apm/instruments/action_controller_rails_2'
76
76
  require 'scout_apm/instruments/action_controller_rails_3_rails4'
77
77
  require 'scout_apm/instruments/middleware_summary'
78
- # require 'scout_apm/instruments/middleware_detailed' # Currently disabled functionality, see the file for details.
78
+ require 'scout_apm/instruments/middleware_detailed' # Disabled by default, see the file for more details
79
79
  require 'scout_apm/instruments/rails_router'
80
80
  require 'scout_apm/instruments/grape'
81
81
  require 'scout_apm/instruments/sinatra'
@@ -287,8 +287,13 @@ module ScoutApm
287
287
  install_instrument(ScoutApm::Instruments::ActionControllerRails2)
288
288
  when :rails3_or_4 then
289
289
  install_instrument(ScoutApm::Instruments::ActionControllerRails3Rails4)
290
- install_instrument(ScoutApm::Instruments::MiddlewareSummary)
291
290
  install_instrument(ScoutApm::Instruments::RailsRouter)
291
+
292
+ if config.value("detailed_middleware")
293
+ install_instrument(ScoutApm::Instruments::MiddlewareDetailed)
294
+ else
295
+ install_instrument(ScoutApm::Instruments::MiddlewareSummary)
296
+ end
292
297
  end
293
298
 
294
299
  install_instrument(ScoutApm::Instruments::ActiveRecord)
@@ -37,6 +37,7 @@ module ScoutApm
37
37
  'compress_payload',
38
38
  'config_file',
39
39
  'data_file',
40
+ 'detailed_middleware',
40
41
  'dev_trace',
41
42
  'direct_host',
42
43
  'disabled_instruments',
@@ -45,8 +46,8 @@ module ScoutApm
45
46
  'hostname',
46
47
  'ignore',
47
48
  'key',
48
- 'log_level',
49
49
  'log_file_path',
50
+ 'log_level',
50
51
  'monitor',
51
52
  'name',
52
53
  'profile',
@@ -129,6 +130,7 @@ module ScoutApm
129
130
  "monitor" => BooleanCoercion.new,
130
131
  "enable_background_jobs" => BooleanCoercion.new,
131
132
  "dev_trace" => BooleanCoercion.new,
133
+ "detailed_middleware" => BooleanCoercion.new,
132
134
  "ignore" => JsonCoercion.new,
133
135
  }
134
136
 
@@ -203,6 +205,7 @@ module ScoutApm
203
205
  class ConfigDefaults
204
206
  DEFAULTS = {
205
207
  'compress_payload' => true,
208
+ 'detailed_middleware' => false,
206
209
  'dev_trace' => false,
207
210
  'direct_host' => 'https://apm.scoutapp.com',
208
211
  'disabled_instruments' => [],
@@ -1,13 +1,11 @@
1
1
  # Inserts a new middleware between each actual middleware in the application,
2
2
  # so as to trace the time for each one.
3
3
  #
4
- # Currently disabled due to the overhead of this approach (~10-15ms per request
5
- # in practice). Instead, middleware as a whole are instrumented via the
6
- # MiddlewareSummary class.
4
+ # Currently disabled by default due to the overhead of this approach (~10-15ms
5
+ # per request in practice). Instead, middleware as a whole are instrumented
6
+ # via the MiddlewareSummary class.
7
7
  #
8
- # There will likely be a configuration flag to turn this on in favor of the
9
- # summary tracing in a future version of the agent, but this is not yet
10
- # implemented.
8
+ # Turn this on with the configuration setting `detailed_middleware` set to true
11
9
  module ScoutApm
12
10
  module Instruments
13
11
  class MiddlewareDetailed
@@ -1,4 +1,4 @@
1
1
  module ScoutApm
2
- VERSION = "2.1.19"
2
+ VERSION = "2.1.20"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.19
4
+ version: 2.1.20
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Derek Haynes
@@ -9,104 +10,118 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2016-12-29 00:00:00.000000000 Z
13
+ date: 2017-01-03 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: minitest
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
- - - ">="
20
+ - - ! '>='
19
21
  - !ruby/object:Gem::Version
20
22
  version: '0'
21
23
  type: :development
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
- - - ">="
28
+ - - ! '>='
26
29
  - !ruby/object:Gem::Version
27
30
  version: '0'
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: mocha
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
- - - ">="
36
+ - - ! '>='
33
37
  - !ruby/object:Gem::Version
34
38
  version: '0'
35
39
  type: :development
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
- - - ">="
44
+ - - ! '>='
40
45
  - !ruby/object:Gem::Version
41
46
  version: '0'
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: pry
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
- - - ">="
52
+ - - ! '>='
47
53
  - !ruby/object:Gem::Version
48
54
  version: '0'
49
55
  type: :development
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
- - - ">="
60
+ - - ! '>='
54
61
  - !ruby/object:Gem::Version
55
62
  version: '0'
56
63
  - !ruby/object:Gem::Dependency
57
64
  name: m
58
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
59
67
  requirements:
60
- - - ">="
68
+ - - ! '>='
61
69
  - !ruby/object:Gem::Version
62
70
  version: '0'
63
71
  type: :development
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
66
75
  requirements:
67
- - - ">="
76
+ - - ! '>='
68
77
  - !ruby/object:Gem::Version
69
78
  version: '0'
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: simplecov
72
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
73
83
  requirements:
74
- - - ">="
84
+ - - ! '>='
75
85
  - !ruby/object:Gem::Version
76
86
  version: '0'
77
87
  type: :development
78
88
  prerelease: false
79
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
80
91
  requirements:
81
- - - ">="
92
+ - - ! '>='
82
93
  - !ruby/object:Gem::Version
83
94
  version: '0'
84
95
  - !ruby/object:Gem::Dependency
85
96
  name: rake-compiler
86
97
  requirement: !ruby/object:Gem::Requirement
98
+ none: false
87
99
  requirements:
88
- - - ">="
100
+ - - ! '>='
89
101
  - !ruby/object:Gem::Version
90
102
  version: '0'
91
103
  type: :development
92
104
  prerelease: false
93
105
  version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
94
107
  requirements:
95
- - - ">="
108
+ - - ! '>='
96
109
  - !ruby/object:Gem::Version
97
110
  version: '0'
98
111
  - !ruby/object:Gem::Dependency
99
112
  name: addressable
100
113
  requirement: !ruby/object:Gem::Requirement
114
+ none: false
101
115
  requirements:
102
- - - ">="
116
+ - - ! '>='
103
117
  - !ruby/object:Gem::Version
104
118
  version: '0'
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
108
123
  requirements:
109
- - - ">="
124
+ - - ! '>='
110
125
  - !ruby/object:Gem::Version
111
126
  version: '0'
112
127
  description: Monitors Ruby apps and reports detailed metrics on performance to Scout.
@@ -118,8 +133,8 @@ extensions:
118
133
  - ext/rusage/extconf.rb
119
134
  extra_rdoc_files: []
120
135
  files:
121
- - ".gitignore"
122
- - ".rubocop.yml"
136
+ - .gitignore
137
+ - .rubocop.yml
123
138
  - CHANGELOG.markdown
124
139
  - Gemfile
125
140
  - LICENSE.md
@@ -267,27 +282,28 @@ files:
267
282
  homepage: https://github.com/scoutapp/scout_apm_ruby
268
283
  licenses:
269
284
  - Proprietary (See LICENSE.md)
270
- metadata: {}
271
285
  post_install_message:
272
286
  rdoc_options: []
273
287
  require_paths:
274
288
  - lib
275
289
  - data
276
290
  required_ruby_version: !ruby/object:Gem::Requirement
291
+ none: false
277
292
  requirements:
278
- - - ">="
293
+ - - ! '>='
279
294
  - !ruby/object:Gem::Version
280
295
  version: '0'
281
296
  required_rubygems_version: !ruby/object:Gem::Requirement
297
+ none: false
282
298
  requirements:
283
- - - ">="
299
+ - - ! '>='
284
300
  - !ruby/object:Gem::Version
285
301
  version: '0'
286
302
  requirements: []
287
303
  rubyforge_project: scout_apm
288
- rubygems_version: 2.5.1
304
+ rubygems_version: 1.8.23.2
289
305
  signing_key:
290
- specification_version: 4
306
+ specification_version: 3
291
307
  summary: Ruby application performance monitoring
292
308
  test_files:
293
309
  - test/data/config_test_1.yml
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 9c96b81ab9e23fab3fc75e9775a71820eeff30cd
4
- data.tar.gz: 290163e5b70f31c60e0b81fc9910a06940e96632
5
- SHA512:
6
- metadata.gz: 880a943dfb1962b22d1ff843966cac3d0eab48a0a3fe3054809fd8e0ffbded904ef7e3cf0e86ef85a76ddd02b2968d566513c8db9d29e661ec380b21d483fefb
7
- data.tar.gz: bc6802491669535de00a932310c070a004b275d19412cc745cf113654a7d2646ba6559cddd5859647b5d3709547b46a255e962cbbd31b60d967ab807dad60476