query_track 0.0.2 → 0.0.3
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.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
|