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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f3bf7027ae082e7dbcdebe76076e574cc666ebbe
4
- data.tar.gz: c83658ea02bf13e42384917c5642dd60153bdbcc
3
+ metadata.gz: 3afa75c68dc6284f269661de1024006bc1f4990d
4
+ data.tar.gz: c550e68c1f3706b7b44dcf7cf5dcda439c846654
5
5
  SHA512:
6
- metadata.gz: 026991c7074bf4bbaa9fa08db51d650d42ef8d2973e00e305dcd7e1332fef93336eaaf94c3626607e7f5c4caf98128b433df0c2c6ee1e664604d60879242e74c
7
- data.tar.gz: 1447eff21be5a1a3230e7b56b5c9b9e03f663b2d3f4135d99bf3ee8124719026106415cc287830159e597a8cdcbfdb4f1c78207c6f5bae45e65d8cb2bf537270
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
- debug(color("Called from: \n ", MAGENTA, true) + clean_trace(caller)[index].join("\n "))
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
@@ -1,3 +1,3 @@
1
1
  module ActiveRecordQueryTrace
2
- VERSION = '1.4'
2
+ VERSION = '1.5'
3
3
  end
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'
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-03-05 00:00:00.000000000 Z
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