scout_apm 1.2.4.1 → 1.2.5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.markdown +7 -0
- data/lib/scout_apm/instruments/action_controller_rails_3.rb +7 -5
- data/lib/scout_apm/layer_converter.rb +1 -2
- data/lib/scout_apm/slow_transaction.rb +1 -1
- data/lib/scout_apm/tracked_request.rb +1 -1
- data/lib/scout_apm/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 103d9ad8a0cf748a92bf2283463ced16af225ec6
|
|
4
|
+
data.tar.gz: d941ca86450397e2499805ae3e7d6a717aa26bbb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8402634e74e3153e3031bcb1ccd3854b32f496761b1634e5434afcf5444e7155d1f44e52f549c208ceb32b88aad601bced8b27b9e80d386a424f0397567411bf
|
|
7
|
+
data.tar.gz: dcee383d2769bbb15d0be63a8c7de47f8f025553fd10ee48375a2e4ef52f4f843bd7107e168cf40b4fedcaece40aed3b0915c7646091b900e0067c0a8592168e
|
data/CHANGELOG.markdown
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# 1.2.5
|
|
2
|
+
|
|
3
|
+
* Instrument ActionController::Base instead of ::Metal. This allows us to
|
|
4
|
+
track time spent in before and after filters, and requests that return early
|
|
5
|
+
from before filters.
|
|
6
|
+
* Avoid parsing backtraces for requests that don't end up as Slow Transactions
|
|
7
|
+
|
|
1
8
|
# 1.2.4.1
|
|
2
9
|
|
|
3
10
|
* Reverting backtrace parser threshold back to 0.5 (same as < v1.2 agents)
|
|
@@ -15,11 +15,13 @@ module ScoutApm
|
|
|
15
15
|
def install
|
|
16
16
|
@installed = true
|
|
17
17
|
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
# We previously instrumented ActionController::Metal, which missed
|
|
19
|
+
# before and after filter timing. Instrumenting Base includes those
|
|
20
|
+
# filters, at the expense of missing out on controllers that don't use
|
|
21
|
+
# the full Rails stack.
|
|
22
|
+
if defined?(::ActionController) && defined?(::ActionController::Base)
|
|
23
|
+
ScoutApm::Agent.instance.logger.info "Instrumenting ActionController::Base"
|
|
24
|
+
::ActionController::Base.class_eval do
|
|
23
25
|
# include ScoutApm::Tracer
|
|
24
26
|
include ScoutApm::Instruments::ActionControllerRails3Instruments
|
|
25
27
|
end
|
|
@@ -58,7 +58,6 @@ module ScoutApm
|
|
|
58
58
|
meta_options.merge!(:desc => layer.desc) if layer.desc
|
|
59
59
|
|
|
60
60
|
meta = MetricMeta.new(layer.legacy_metric_name, meta_options)
|
|
61
|
-
meta.extra.merge!(:backtrace => layer.backtrace) if layer.backtrace
|
|
62
61
|
metric_hash[meta] ||= MetricStats.new( meta_options.has_key?(:scope) )
|
|
63
62
|
|
|
64
63
|
stat = metric_hash[meta]
|
|
@@ -163,7 +162,7 @@ module ScoutApm
|
|
|
163
162
|
if record_specific_metric?(layer.type)
|
|
164
163
|
meta_options.merge!(:desc => layer.desc) if layer.desc
|
|
165
164
|
meta = MetricMeta.new(layer.legacy_metric_name, meta_options)
|
|
166
|
-
meta.extra.merge!(:backtrace => layer.backtrace) if layer.backtrace
|
|
165
|
+
meta.extra.merge!(:backtrace => ScoutApm::SlowTransaction.backtrace_parser(layer.backtrace)) if layer.backtrace
|
|
167
166
|
metric_hash[meta] ||= MetricStats.new( meta_options.has_key?(:scope) )
|
|
168
167
|
stat = metric_hash[meta]
|
|
169
168
|
stat.update!(layer.total_call_time, layer.total_exclusive_time)
|
|
@@ -2,7 +2,7 @@ module ScoutApm
|
|
|
2
2
|
class SlowTransaction
|
|
3
3
|
include ScoutApm::BucketNameSplitter
|
|
4
4
|
|
|
5
|
-
BACKTRACE_THRESHOLD = 0.5 # the minimum threshold in seconds to record the backtrace for a metric.
|
|
5
|
+
BACKTRACE_THRESHOLD = 0.5 # the minimum threshold in seconds to record the backtrace for a metric.
|
|
6
6
|
BACKTRACE_LIMIT = 5 # Max length of callers to display
|
|
7
7
|
MAX_SIZE = 100 # Limits the size of the metric hash to prevent a metric explosion.
|
|
8
8
|
|
|
@@ -53,7 +53,7 @@ module ScoutApm
|
|
|
53
53
|
|
|
54
54
|
# Do this here, rather than in the layer because we need this caller. Maybe able to move it?
|
|
55
55
|
if layer.total_exclusive_time > ScoutApm::SlowTransaction::BACKTRACE_THRESHOLD
|
|
56
|
-
layer.store_backtrace(
|
|
56
|
+
layer.store_backtrace(caller)
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
if finalized?
|
data/lib/scout_apm/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: scout_apm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Derek Haynes
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2016-01-
|
|
12
|
+
date: 2016-01-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: minitest
|
|
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
173
173
|
version: '0'
|
|
174
174
|
requirements: []
|
|
175
175
|
rubyforge_project: scout_apm
|
|
176
|
-
rubygems_version: 2.
|
|
176
|
+
rubygems_version: 2.2.2
|
|
177
177
|
signing_key:
|
|
178
178
|
specification_version: 4
|
|
179
179
|
summary: Ruby application performance monitoring
|