active_record_query_trace 1.4 → 1.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/HISTORY.md +8 -0
- data/README.md +1 -1
- data/active_record_query_trace-1.4.gem +0 -0
- data/lib/active_record_query_trace.rb +16 -5
- data/lib/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3afa75c68dc6284f269661de1024006bc1f4990d
|
4
|
+
data.tar.gz: c550e68c1f3706b7b44dcf7cf5dcda439c846654
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57d3f9bfdafc5a31eabdef81cc9b10efec7f1f3031932ace1ba1c1526f99f5177fd35fbd7224f3e4a6c4738e608704e2edba743fa7899fc8193c84d27953d12e
|
7
|
+
data.tar.gz: 37244b76797af06f8f94cdbaf5425239ae9983fdbb3b7d51f860e52da67a04cea65d8b350094e2c046ce3a6f816ce1337dbe5955220e6dc8256989603fb924ec
|
data/HISTORY.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 1.5 (2015-09-23)
|
2
|
+
|
3
|
+
Merge pull request #13 from mtyeh411/fix_root_trace_filter
|
4
|
+
|
5
|
+
Fixed Rails 4.2 backtrace_cleaner root filter with sql-logging gem
|
6
|
+
|
7
|
+
Thank you @mtyeh411
|
8
|
+
|
1
9
|
## 1.4 (2015-03-05)
|
2
10
|
|
3
11
|
Support for ignoring `ActiveRecord` cached queries that show up in the log with a `CACHE` prefix.
|
data/README.md
CHANGED
@@ -35,7 +35,7 @@ ActiveRecordQueryTrace.level = :app # default
|
|
35
35
|
By default, a backtrace will be logged for every query, even cached queries that do not actually hit the database. You might find it useful not to print the backtrace for cached queries:
|
36
36
|
|
37
37
|
```ruby
|
38
|
-
ActiveRecordQueryTrace.ignore_cached_queries
|
38
|
+
ActiveRecordQueryTrace.ignore_cached_queries = true # Default is false.
|
39
39
|
```
|
40
40
|
|
41
41
|
Additionally, if you are working with a large app, you may wish to limit the number of lines displayed for each query.
|
Binary file
|
@@ -18,6 +18,11 @@ module ActiveRecordQueryTrace
|
|
18
18
|
ActiveRecordQueryTrace.level = :app
|
19
19
|
ActiveRecordQueryTrace.lines = 5
|
20
20
|
ActiveRecordQueryTrace.ignore_cached_queries = false
|
21
|
+
|
22
|
+
if ActiveRecordQueryTrace.level != :app
|
23
|
+
# Rails by default silences all backtraces that match Rails::BacktraceCleaner::APP_DIRS_PATTERN
|
24
|
+
Rails.backtrace_cleaner.remove_silencers!
|
25
|
+
end
|
21
26
|
end
|
22
27
|
|
23
28
|
def sql(event)
|
@@ -34,25 +39,31 @@ module ActiveRecordQueryTrace
|
|
34
39
|
return if payload[:name] == 'SCHEMA'
|
35
40
|
return if ActiveRecordQueryTrace.ignore_cached_queries && payload[:name] == 'CACHE'
|
36
41
|
|
37
|
-
|
42
|
+
cleaned_trace = clean_trace(caller)[index].join("\n ")
|
43
|
+
debug(color("Called from: \n ", MAGENTA, true) + cleaned_trace) unless cleaned_trace.blank?
|
38
44
|
end
|
39
45
|
end
|
40
46
|
|
41
47
|
def clean_trace(trace)
|
48
|
+
# Rails relies on backtrace cleaner to set the application root directory filter
|
49
|
+
# the problem is that the backtrace cleaner is initialized before the application
|
50
|
+
# this ensures that the value of `root` used by the filter is set to the application root
|
51
|
+
if Rails.backtrace_cleaner.instance_variable_get(:@root) == '/'
|
52
|
+
Rails.backtrace_cleaner.instance_variable_set :@root, Rails.root.to_s
|
53
|
+
end
|
54
|
+
|
42
55
|
case ActiveRecordQueryTrace.level
|
43
56
|
when :full
|
44
57
|
trace
|
45
|
-
when :rails
|
58
|
+
when :rails, :app
|
46
59
|
Rails.respond_to?(:backtrace_cleaner) ? Rails.backtrace_cleaner.clean(trace) : trace
|
47
|
-
when :app
|
48
|
-
Rails.backtrace_cleaner.add_silencer { |line| not line =~ /^app/ }
|
49
|
-
Rails.backtrace_cleaner.clean(trace)
|
50
60
|
else
|
51
61
|
raise "Invalid ActiveRecordQueryTrace.level value '#{ActiveRecordQueryTrace.level}' - should be :full, :rails, or :app"
|
52
62
|
end
|
53
63
|
end
|
54
64
|
|
55
65
|
attach_to :active_record
|
66
|
+
|
56
67
|
end
|
57
68
|
end
|
58
69
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record_query_trace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.5'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Caughlan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Print stack trace of all queries to the Rails log. Helpful to find where
|
14
14
|
queries are being executed in your application.
|
@@ -17,6 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- active_record_query_trace-1.4.gem
|
20
21
|
- active_record_query_trace.gemspec
|
21
22
|
- HISTORY.md
|
22
23
|
- lib/active_record_query_trace.rb
|