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