kennel 1.15.0 → 1.15.1
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/lib/kennel/models/dash.rb +2 -1
- data/lib/kennel/utils.rb +18 -6
- data/lib/kennel/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 855385c4552df559fad87161c013597c2a1233f60b51a80af7ea0b40d9af1bf5
|
4
|
+
data.tar.gz: bc5318c6d20511940b66ec5c8c08bc9dd2d1cb37e2d06a16880837d5d3f0cc66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 583eacc7338bbb5eb92b19fcb20fd376557bec576dadeff9ae60815156726ffe6a13ee1049bb26ca386273998318ec7b5ce635e7aca4c986aaa4b2cf752aaff3
|
7
|
+
data.tar.gz: 9ed70fd2932133cc52b7c6d8329ce20c66b5fda1405704fb475b5f4229e41a0d2236fa505bd9a94693b444f5e5df47cc5a9ae6047222f03df22437ca3513e7fa
|
data/lib/kennel/models/dash.rb
CHANGED
@@ -63,8 +63,9 @@ module Kennel
|
|
63
63
|
|
64
64
|
def validate_json(data)
|
65
65
|
# check for bad variables
|
66
|
+
# TODO: do the same check for apm_query and their group_by
|
66
67
|
variables = data.fetch(:template_variables).map { |v| "$#{v.fetch(:name)}" }
|
67
|
-
queries = data[:graphs].flat_map { |g| g[:definition][:requests].map { |r| r
|
68
|
+
queries = data[:graphs].flat_map { |g| g[:definition][:requests].map { |r| r[:q] }.compact }
|
68
69
|
bad = queries.grep_v(/(#{variables.map { |v| Regexp.escape(v) }.join("|")})\b/)
|
69
70
|
if bad.any?
|
70
71
|
invalid! "queries #{bad.join(", ")} must use the template variables #{variables.join(", ")}"
|
data/lib/kennel/utils.rb
CHANGED
@@ -88,14 +88,26 @@ module Kennel
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
def parallel(items)
|
92
|
-
items.
|
91
|
+
def parallel(items, max: 10)
|
92
|
+
threads = [items.size, max].min
|
93
|
+
work = items.each_with_index.to_a
|
94
|
+
done = Array.new(items.size)
|
95
|
+
workers = Array.new(threads).map do
|
93
96
|
Thread.new do
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
+
loop do
|
98
|
+
item, i = work.pop
|
99
|
+
break unless i
|
100
|
+
done[i] =
|
101
|
+
begin
|
102
|
+
yield item
|
103
|
+
rescue StandardError => e
|
104
|
+
e
|
105
|
+
end
|
106
|
+
end
|
97
107
|
end
|
98
|
-
end
|
108
|
+
end
|
109
|
+
workers.each(&:join)
|
110
|
+
done.each { |d| raise d if d.is_a?(StandardError) }
|
99
111
|
end
|
100
112
|
|
101
113
|
def natural_order(name)
|
data/lib/kennel/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kennel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.15.
|
4
|
+
version: 1.15.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Grosser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|