active_record_query_trace 1.4 → 1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|