echo_cli 0.6.16 → 0.6.17
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/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
|