scout_apm 1.2.12 → 1.2.13
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 +8 -1
- data/lib/scout_apm/framework_integrations/rails_3_or_4.rb +3 -2
- data/lib/scout_apm/instruments/active_record.rb +1 -1
- data/lib/scout_apm/layer_converter.rb +1 -4
- data/lib/scout_apm/utils/sql_sanitizer.rb +9 -5
- data/lib/scout_apm/utils/sql_sanitizer_regex.rb +0 -1
- data/lib/scout_apm/utils/sql_sanitizer_regex_1_8_7.rb +0 -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: 0f13ea6034c312de70bf591cd4098cd925439d0a
|
4
|
+
data.tar.gz: 46cfdd7065339dd4089eec27cdb9faa855e09224
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89411a5bd8b03ef4d7db33297827c03df6f9acc965dbd0b512993c7bf9b5d4eef9f4b2d0e51ca657ff2decfd2f2fd096a3b0dc412c98ce9cdefbe018381afbbc
|
7
|
+
data.tar.gz: c0d3c36fd63ca7332826a5ad69eabc2e803b7ebdfcf63bb879372213abb32f5d7c8c6aea75c5a0d48f895f8ba3c36d249bcbff504b5eef31f28336ebf693fe25
|
data/CHANGELOG.markdown
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
+
# 1.2.13
|
2
|
+
|
3
|
+
* SQL Sanitation-Related performance improvements:
|
4
|
+
* Lazy sanitation of SQL queries: only running when needed (a slow transaction is recorded)
|
5
|
+
* An SQL sanitation performance improvement (strip! vs. gsub!)
|
6
|
+
* Removing the TRAILING_SPACES regex - not used across all db engines and adds a bit more overhead
|
7
|
+
|
1
8
|
# 1.2.12
|
2
9
|
|
3
|
-
*
|
10
|
+
* Add uri_reporting option to report bare path (as opposed to fullpath). Default is 'fullpath'; set to 'path' to avoid exposing URL parameters.
|
4
11
|
|
5
12
|
# 1.2.11
|
6
13
|
|
@@ -33,9 +33,10 @@ module ScoutApm
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def database_engine
|
36
|
+
return @database_engine if @database_engine
|
36
37
|
default = :mysql
|
37
38
|
|
38
|
-
if defined?(ActiveRecord::Base)
|
39
|
+
@database_engine = if defined?(ActiveRecord::Base)
|
39
40
|
adapter = get_database_adapter # can be nil
|
40
41
|
|
41
42
|
case adapter.to_s
|
@@ -59,4 +60,4 @@ module ScoutApm
|
|
59
60
|
end
|
60
61
|
end
|
61
62
|
end
|
62
|
-
end
|
63
|
+
end
|
@@ -60,7 +60,7 @@ module ScoutApm
|
|
60
60
|
sql, name = args
|
61
61
|
self.class.instrument("ActiveRecord",
|
62
62
|
Utils::ActiveRecordMetricName.new(sql, name).metric_name,
|
63
|
-
:desc => Utils::SqlSanitizer.new(sql)
|
63
|
+
:desc => Utils::SqlSanitizer.new(sql) ) do
|
64
64
|
log_without_scout_instruments(sql, name, &block)
|
65
65
|
end
|
66
66
|
end
|
@@ -24,7 +24,6 @@ module ScoutApm
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
27
|
-
|
28
27
|
end
|
29
28
|
|
30
29
|
# Take a TrackedRequest and turn it into a hash of:
|
@@ -55,8 +54,6 @@ module ScoutApm
|
|
55
54
|
{:scope => scope_layer.legacy_metric_name}
|
56
55
|
end
|
57
56
|
|
58
|
-
meta_options.merge!(:desc => layer.desc) if layer.desc
|
59
|
-
|
60
57
|
meta = MetricMeta.new(layer.legacy_metric_name, meta_options)
|
61
58
|
metric_hash[meta] ||= MetricStats.new( meta_options.has_key?(:scope) )
|
62
59
|
|
@@ -159,7 +156,7 @@ module ScoutApm
|
|
159
156
|
end
|
160
157
|
|
161
158
|
# Specific Metric
|
162
|
-
meta_options.merge!(:desc => layer.desc) if layer.desc
|
159
|
+
meta_options.merge!(:desc => layer.desc.to_s) if layer.desc
|
163
160
|
meta = MetricMeta.new(layer.legacy_metric_name, meta_options)
|
164
161
|
meta.extra.merge!(:backtrace => ScoutApm::SlowTransaction.backtrace_parser(layer.backtrace)) if layer.backtrace
|
165
162
|
metric_hash[meta] ||= MetricStats.new( meta_options.has_key?(:scope) )
|
@@ -12,14 +12,17 @@ module ScoutApm
|
|
12
12
|
end
|
13
13
|
include ScoutApm::Utils::SqlRegex
|
14
14
|
|
15
|
-
attr_reader :sql
|
16
15
|
attr_accessor :database_engine
|
17
16
|
|
18
17
|
def initialize(sql)
|
19
|
-
@
|
18
|
+
@raw_sql = sql
|
20
19
|
@database_engine = ScoutApm::Environment.instance.database_engine
|
21
20
|
end
|
22
21
|
|
22
|
+
def sql
|
23
|
+
@sql ||= scrubbed(@raw_sql.dup) # don't do this in initialize as it is extra work that isn't needed unless we have a slow transaction.
|
24
|
+
end
|
25
|
+
|
23
26
|
def to_s
|
24
27
|
case database_engine
|
25
28
|
when :postgres then to_s_postgres
|
@@ -37,7 +40,7 @@ module ScoutApm
|
|
37
40
|
sql.gsub!(PSQL_REMOVE_INTEGERS, '?')
|
38
41
|
sql.gsub!(PSQL_IN_CLAUSE, 'IN (?)')
|
39
42
|
sql.gsub!(MULTIPLE_SPACES, ' ')
|
40
|
-
sql.
|
43
|
+
sql.strip!
|
41
44
|
sql
|
42
45
|
end
|
43
46
|
|
@@ -48,7 +51,7 @@ module ScoutApm
|
|
48
51
|
sql.gsub!(MYSQL_REMOVE_INTEGERS, '?')
|
49
52
|
sql.gsub!(MYSQL_IN_CLAUSE, '?')
|
50
53
|
sql.gsub!(MULTIPLE_QUESTIONS, '?')
|
51
|
-
sql.
|
54
|
+
sql.strip!
|
52
55
|
sql
|
53
56
|
end
|
54
57
|
|
@@ -57,7 +60,8 @@ module ScoutApm
|
|
57
60
|
sql.gsub!(SQLITE_REMOVE_STRINGS, '?')
|
58
61
|
sql.gsub!(SQLITE_REMOVE_INTEGERS, '?')
|
59
62
|
sql.gsub!(MULTIPLE_SPACES, ' ')
|
60
|
-
sql.
|
63
|
+
sql.strip!
|
64
|
+
sql
|
61
65
|
end
|
62
66
|
|
63
67
|
def has_encodings?(encodings=['UTF-8', 'binary'])
|
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.13
|
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-
|
12
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
@@ -176,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
176
|
version: '0'
|
177
177
|
requirements: []
|
178
178
|
rubyforge_project: scout_apm
|
179
|
-
rubygems_version: 2.
|
179
|
+
rubygems_version: 2.4.6
|
180
180
|
signing_key:
|
181
181
|
specification_version: 4
|
182
182
|
summary: Ruby application performance monitoring
|