query_track 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +9 -1
- data/lib/query_track/event_processor.rb +8 -0
- data/lib/query_track/filters.rb +15 -0
- data/lib/query_track/settings.rb +2 -0
- data/lib/query_track/version.rb +1 -1
- data/lib/query_track.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce34974e6c961e959cfd604448aa25dda1121f8fe8f05f92769a2bc3d3ebf0ff
|
4
|
+
data.tar.gz: 829d05437a6ee4753bd39d9c45f7ca951a7d10aefb4fba7fc05d3c919cc37832
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c359e0555148e2ef84c19059955d83a820fc8349d7a06b2d2405524f5811f085db743e9352bd176b9de8995de74a840ac8845ab69d3e29b0ed1dd12379c7979f
|
7
|
+
data.tar.gz: 1a9a2ddf3089c1bb8b621d6843b0fa8a82ec05dfac5c882be29a2a130d3d13d47fc1f7d661820e01f75f0f572b82f4f58fc46cfc96e7e5052316f1ce2d72060d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# v0.0.3 2019-07-22
|
2
|
+
|
3
|
+
Added backtrace filters. ([kirillshevch](https://github.com/kirillshevch/query_track/pull/3))
|
4
|
+
|
1
5
|
# v0.0.2 2019-07-22
|
2
6
|
|
3
7
|
Add console log, fix disabling of slack notifications. ([kirillshevch](https://github.com/kirillshevch/query_track/pull/2))
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -61,7 +61,15 @@ end
|
|
61
61
|
|
62
62
|
### Filters
|
63
63
|
|
64
|
-
|
64
|
+
To avoid noisy warnings from used gems, and places where fat queries are justified, you can filters SQL by backtrace.
|
65
|
+
For example, you have installed `activeadmin` and want to skip everything from `app/admin`:
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
QueryTrack::Settings.configure do |config|
|
69
|
+
config.duration = 0.5
|
70
|
+
config.filters = ['app/admin']
|
71
|
+
end
|
72
|
+
```
|
65
73
|
|
66
74
|
## Contributing
|
67
75
|
|
@@ -9,10 +9,18 @@ module QueryTrack
|
|
9
9
|
def call
|
10
10
|
return unless QueryTrack::Settings.config.duration
|
11
11
|
|
12
|
+
return if under_filter?(caller)
|
13
|
+
|
12
14
|
if event.duration > QueryTrack::Settings.config.duration
|
13
15
|
QueryTrack::Notifications::Slack.new(event.payload[:sql], event.duration).call
|
14
16
|
QueryTrack::Notifications::Log.new(event.payload[:sql], event.duration).call
|
15
17
|
end
|
16
18
|
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def under_filter?(trace)
|
23
|
+
QueryTrack::Filters.new(caller).call
|
24
|
+
end
|
17
25
|
end
|
18
26
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module QueryTrack
|
2
|
+
class Filters
|
3
|
+
attr_reader :full_trace
|
4
|
+
|
5
|
+
def initialize(full_trace)
|
6
|
+
@full_trace = full_trace
|
7
|
+
end
|
8
|
+
|
9
|
+
def call
|
10
|
+
QueryTrack::Settings.config.filters.map do |filter|
|
11
|
+
full_trace.select { |v| v =~ %r{#{filter}} }[0].nil?
|
12
|
+
end.include?(false)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/query_track/settings.rb
CHANGED
data/lib/query_track/version.rb
CHANGED
data/lib/query_track.rb
CHANGED
@@ -4,6 +4,7 @@ require 'slack_hook'
|
|
4
4
|
require 'query_track/version'
|
5
5
|
require 'query_track/settings'
|
6
6
|
require 'query_track/trace'
|
7
|
+
require 'query_track/filters'
|
7
8
|
require 'query_track/notifications/slack'
|
8
9
|
require 'query_track/notifications/log'
|
9
10
|
require 'query_track/event_processor'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: query_track
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kirill Shevchenko
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- examples/slack.jpg
|
146
146
|
- lib/query_track.rb
|
147
147
|
- lib/query_track/event_processor.rb
|
148
|
+
- lib/query_track/filters.rb
|
148
149
|
- lib/query_track/notifications/log.rb
|
149
150
|
- lib/query_track/notifications/slack.rb
|
150
151
|
- lib/query_track/settings.rb
|