echo_cli 0.6.16 → 0.6.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/echo_cli/cli.rb +87 -96
- data/lib/echo_cli/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14216c8750583aca2b4df9fa4d05a264b9102c6d
|
4
|
+
data.tar.gz: 69ccc1e2be2e1ef4150f5c483447dde10958a257
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a0f1dde362e333a474dbcd1c44caa42fb9b2dd1ba7f6445c701b0f664dd22668b8600e9203e84fcd3fc1ac480de3928febf532a8d256c13bb8237e08f55e226
|
7
|
+
data.tar.gz: 9dc18f4ed92a02cf7627f031d14d37b39d29cbb556c4c4f07af892e65009764057208b03a04e1ebb64d4077eecce1599d633b4f4b0bc77cce63a7092e855dfd4
|
data/lib/echo_cli/cli.rb
CHANGED
@@ -27,8 +27,7 @@ module Echo_cli
|
|
27
27
|
|
28
28
|
def post(statsd_uri, metric, num = 0)
|
29
29
|
|
30
|
-
|
31
|
-
ENV["https_proxy"] = ENV["HTTPS_PROXY"]
|
30
|
+
Helper.new.set_envs()
|
32
31
|
|
33
32
|
uri = URI.parse(statsd_uri)
|
34
33
|
request = Net::HTTP::Post.new(uri)
|
@@ -49,7 +48,7 @@ module Echo_cli
|
|
49
48
|
http.request(request)
|
50
49
|
end
|
51
50
|
if response.code != '200'
|
52
|
-
puts "Final run at: " + i
|
51
|
+
puts "Final run at: " + i + " of " + num
|
53
52
|
raise
|
54
53
|
end
|
55
54
|
end
|
@@ -99,8 +98,7 @@ module Echo_cli
|
|
99
98
|
end
|
100
99
|
return response
|
101
100
|
|
102
|
-
|
103
|
-
ENV["https_proxy"] = ""
|
101
|
+
Helper.new.unset_envs()
|
104
102
|
end
|
105
103
|
|
106
104
|
desc "query", "Query metrics on Echo. Use \"echo_cli query <URL> '<metric>' <time_start> <time_end> {-v}\""
|
@@ -124,47 +122,12 @@ module Echo_cli
|
|
124
122
|
LONGDESC
|
125
123
|
|
126
124
|
def query(opentsdb_uri, metric, time_start, time_end)
|
127
|
-
metric =
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
tags=""
|
133
|
-
|
134
|
-
if metric.include? "."
|
135
|
-
tags = metric[metric.index(".")+1..-1] + "."
|
136
|
-
metric = metric[0..metric.index(".")-1]
|
137
|
-
|
138
|
-
toReturn = ""
|
139
|
-
count = 1
|
140
|
-
while tags.include?(".") do
|
141
|
-
toReturn = toReturn + "\"tag" + count.to_s + "\": \"" + tags[0..tags.index(".")-1] + "\""
|
142
|
-
count = count + 1
|
143
|
-
tags = tags[tags.index(".")+1..-1]
|
144
|
-
if tags.include?(".")
|
145
|
-
toReturn = toReturn + ",\n"
|
146
|
-
end
|
147
|
-
end
|
125
|
+
metric = Helper.new.get_metric(metric)
|
126
|
+
metric_name = Helper.new.get_metric_name(metric)
|
127
|
+
tags = Helper.new.check_get_tags(metric)
|
128
|
+
opentsdb_query = Helper.new.get_query(time_start, time_end, metric_name, tags)
|
148
129
|
|
149
|
-
|
150
|
-
end
|
151
|
-
|
152
|
-
opentsdb_query =
|
153
|
-
"{
|
154
|
-
\"start\": " + time_start + ",
|
155
|
-
\"end\": " + time_end + ",
|
156
|
-
\"queries\": [
|
157
|
-
{
|
158
|
-
\"aggregator\": \"sum\",
|
159
|
-
\"metric\": \"" + metric + "\",
|
160
|
-
\"tags\": {" + tags +
|
161
|
-
"}
|
162
|
-
}
|
163
|
-
]
|
164
|
-
}"
|
165
|
-
|
166
|
-
ENV["http_proxy"] = ENV["HTTP_PROXY"]
|
167
|
-
ENV["https_proxy"] = ENV["HTTPS_PROXY"]
|
130
|
+
Helper.new.set_envs()
|
168
131
|
|
169
132
|
uri = URI.parse(opentsdb_uri)
|
170
133
|
https = Net::HTTP.new(uri.host, uri.port)
|
@@ -177,9 +140,9 @@ module Echo_cli
|
|
177
140
|
begin
|
178
141
|
res = https.request(req)
|
179
142
|
if res.code == '200'
|
180
|
-
puts "\nSuccessfully retrieved ".green +
|
143
|
+
puts "\nSuccessfully retrieved ".green + metric_name.yellow + " from ".green + opentsdb_uri.blue + " in timestamp range: ".green + time_start.yellow + " to ".green + time_end.yellow + "\nStatus Code: ".green + res.code.yellow + "\nResponse Body: ".green + JSON.pretty_generate(JSON.parse(res.body)).green
|
181
144
|
else
|
182
|
-
puts "\nFailed to retrieve ".red +
|
145
|
+
puts "\nFailed to retrieve ".red + metric_name.yellow + " from ".red + opentsdb_uri.blue + " in timestamp range: ".red + time_start.yellow + " to ".red + time_end.yellow + "\nStatus Code: ".red + res.code.yellow + "\nResponse Body: ".red + JSON.pretty_generate(JSON.parse(res.body)).red
|
183
146
|
end
|
184
147
|
rescue
|
185
148
|
puts "\nYour request returned an error. Are you sure your query was correct?"
|
@@ -188,17 +151,16 @@ module Echo_cli
|
|
188
151
|
begin
|
189
152
|
res = https.request(req)
|
190
153
|
if res.code == '200'
|
191
|
-
puts "\nSuccessfully retrieved ".green +
|
154
|
+
puts "\nSuccessfully retrieved ".green + metric_name.yellow + " from ".green + opentsdb_uri.blue + " in timestamp range: ".green + time_start.yellow + " to ".green + time_end.yellow
|
192
155
|
else
|
193
|
-
puts "\nFailed to retrieve ".red +
|
156
|
+
puts "\nFailed to retrieve ".red + metric_name.yellow + " from ".red + opentsdb_uri.blue + " in timestamp range: ".red + time_start.yellow + " to ".red + time_end.yellow
|
194
157
|
end
|
195
158
|
rescue
|
196
159
|
puts "\nYour request returned an error. Are you sure your query was correct?"
|
197
160
|
end
|
198
161
|
end
|
199
162
|
|
200
|
-
|
201
|
-
ENV["https_proxy"] = ""
|
163
|
+
Helper.new.unset_envs()
|
202
164
|
|
203
165
|
return res.code
|
204
166
|
end
|
@@ -224,53 +186,17 @@ module Echo_cli
|
|
224
186
|
LONGDESC
|
225
187
|
|
226
188
|
def quick_query(opentsdb_uri, metric, range)
|
227
|
-
metric = metric.gsub(/'/,"")
|
228
|
-
if metric.include? ":"
|
229
|
-
metric = metric[0..metric.index(":")-1]
|
230
|
-
end
|
231
|
-
|
232
|
-
tags=""
|
233
|
-
|
234
|
-
if metric.include? "."
|
235
|
-
tags = metric[metric.index(".")+1..-1] + "."
|
236
|
-
metric = metric[0..metric.index(".")-1]
|
237
|
-
|
238
|
-
toReturn = ""
|
239
|
-
count = 1
|
240
|
-
while tags.include?(".") do
|
241
|
-
toReturn = toReturn + "\"tag" + count.to_s + "\": \"" + tags[0..tags.index(".")-1] + "\""
|
242
|
-
count = count + 1
|
243
|
-
tags = tags[tags.index(".")+1..-1]
|
244
|
-
if tags.include?(".")
|
245
|
-
toReturn = toReturn + ",\n"
|
246
|
-
end
|
247
|
-
end
|
248
|
-
|
249
|
-
tags = toReturn
|
250
|
-
end
|
251
|
-
|
252
189
|
time_end = Time.new.to_i
|
253
190
|
time_start = time_end - range.to_i
|
254
|
-
|
255
191
|
time_start = time_start.to_s
|
256
192
|
time_end = time_end.to_s
|
257
193
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
\"queries\": [
|
263
|
-
{
|
264
|
-
\"aggregator\": \"sum\",
|
265
|
-
\"metric\": \"" + metric + "\",
|
266
|
-
\"tags\": {" + tags +
|
267
|
-
"}
|
268
|
-
}
|
269
|
-
]
|
270
|
-
}"
|
194
|
+
metric = Helper.new.get_metric(metric)
|
195
|
+
metric_name = Helper.new.get_metric_name(metric)
|
196
|
+
tags = Helper.new.check_get_tags(metric)
|
197
|
+
opentsdb_query = Helper.new.get_query(time_start, time_end, metric_name, tags)
|
271
198
|
|
272
|
-
|
273
|
-
ENV["https_proxy"] = ENV["HTTPS_PROXY"]
|
199
|
+
Helper.new.set_envs()
|
274
200
|
|
275
201
|
uri = URI.parse(opentsdb_uri)
|
276
202
|
https = Net::HTTP.new(uri.host, uri.port)
|
@@ -294,16 +220,15 @@ module Echo_cli
|
|
294
220
|
end
|
295
221
|
end
|
296
222
|
|
297
|
-
puts "\nSuccessfully retrieved ".green +
|
223
|
+
puts "\nSuccessfully retrieved ".green + metric_name.yellow + " from ".green + opentsdb_uri.blue + " in timestamp range: ".green + time_start.yellow + " to ".green + time_end.yellow + "\nData points in the last ".green + range.yellow + " seconds:\n".green + JSON.pretty_generate(json).green
|
298
224
|
else
|
299
|
-
puts "\nFailed to retrieve ".red +
|
225
|
+
puts "\nFailed to retrieve ".red + metric_name.yellow + " from ".red + opentsdb_uri.blue + " in timestamp range: ".red + time_start.yellow + " to ".red + time_end.yellow + "\nStatus Code: ".red + res.code.yellow + "\nResponse Body: ".red + JSON.pretty_generate(JSON.parse(res.body)).red
|
300
226
|
end
|
301
227
|
rescue
|
302
228
|
puts "\nYour request returned an error. Are you sure your query was correct?"
|
303
229
|
end
|
304
230
|
|
305
|
-
|
306
|
-
ENV["https_proxy"] = ""
|
231
|
+
Helper.new.unset_envs()
|
307
232
|
|
308
233
|
return res.code
|
309
234
|
end
|
@@ -351,5 +276,71 @@ module Echo_cli
|
|
351
276
|
end
|
352
277
|
retval
|
353
278
|
end
|
279
|
+
|
280
|
+
def check_get_tags(metric)
|
281
|
+
tags = ""
|
282
|
+
|
283
|
+
if metric.include? "."
|
284
|
+
tags = metric[metric.index(".")+1..-1] + "."
|
285
|
+
metric = metric[0..metric.index(".")-1]
|
286
|
+
|
287
|
+
toReturn = ""
|
288
|
+
count = 1
|
289
|
+
while tags.include?(".") do
|
290
|
+
toReturn = toReturn + "\"tag" + count.to_s + "\": \"" + tags[0..tags.index(".")-1] + "\""
|
291
|
+
count = count + 1
|
292
|
+
tags = tags[tags.index(".")+1..-1]
|
293
|
+
if tags.include?(".")
|
294
|
+
toReturn = toReturn + ",\n"
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
tags = toReturn
|
299
|
+
end
|
300
|
+
return tags
|
301
|
+
end
|
302
|
+
|
303
|
+
def get_metric(metric)
|
304
|
+
metric = metric.gsub(/'/,"")
|
305
|
+
if metric.include? ":"
|
306
|
+
metric = metric[0..metric.index(":")-1]
|
307
|
+
end
|
308
|
+
return metric
|
309
|
+
end
|
310
|
+
|
311
|
+
def get_metric_name(metric)
|
312
|
+
if metric.include?(".")
|
313
|
+
metric = metric[0..metric.index(".")-1]
|
314
|
+
end
|
315
|
+
return metric
|
316
|
+
end
|
317
|
+
|
318
|
+
def get_query(time_start, time_end, metric, tags)
|
319
|
+
opentsdb_query =
|
320
|
+
"{
|
321
|
+
\"start\": " + time_start + ",
|
322
|
+
\"end\": " + time_end + ",
|
323
|
+
\"queries\": [
|
324
|
+
{
|
325
|
+
\"aggregator\": \"sum\",
|
326
|
+
\"metric\": \"" + metric + "\",
|
327
|
+
\"tags\": {" + tags +
|
328
|
+
"}
|
329
|
+
}
|
330
|
+
]
|
331
|
+
}"
|
332
|
+
return opentsdb_query
|
333
|
+
end
|
334
|
+
|
335
|
+
def set_envs
|
336
|
+
ENV["http_proxy"] = ENV["HTTP_PROXY"]
|
337
|
+
ENV["https_proxy"] = ENV["HTTPS_PROXY"]
|
338
|
+
end
|
339
|
+
|
340
|
+
def unset_envs
|
341
|
+
ENV["http_proxy"] = ENV[""]
|
342
|
+
ENV["https_proxy"] = ENV[""]
|
343
|
+
end
|
344
|
+
|
354
345
|
end
|
355
346
|
end
|
data/lib/echo_cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: echo_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Raphael
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|