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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b440b79534c4a019a1f713085751a9ca0548cb4
4
- data.tar.gz: c4ce497a6fa9735fc79a7b42d884df56bdab1104
3
+ metadata.gz: 14216c8750583aca2b4df9fa4d05a264b9102c6d
4
+ data.tar.gz: 69ccc1e2be2e1ef4150f5c483447dde10958a257
5
5
  SHA512:
6
- metadata.gz: 08c8130f3db46a4b0eea93e1bd69646a47c9f610b54ca967c31f0a7933cc192ba5cb17f90d6b8d1bb98d1e0c9b844b622aa8ef97b4ea5b29ac57b9012dd6e058
7
- data.tar.gz: 5d3412d36a2cec318d34b2280194a120655e84376687a72868cbca10c75a1f824b5e8157275817fe56b230d8775097bdad59d9e7b2ea4371ba9b2caeadec2db9
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
- ENV["http_proxy"] = ENV["HTTP_PROXY"]
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
- ENV["http_proxy"] = ""
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 = metric.gsub(/'/,"")
128
- if metric.include? ":"
129
- metric = metric[0..metric.index(":")-1]
130
- end
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
- tags = toReturn
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 + metric.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
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 + metric.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
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 + metric.yellow + " from ".green + opentsdb_uri.blue + " in timestamp range: ".green + time_start.yellow + " to ".green + time_end.yellow
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 + metric.yellow + " from ".red + opentsdb_uri.blue + " in timestamp range: ".red + time_start.yellow + " to ".red + time_end.yellow
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
- ENV["http_proxy"] = ""
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
- opentsdb_query =
259
- "{
260
- \"start\": " + time_start + ",
261
- \"end\": " + time_end + ",
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
- ENV["http_proxy"] = ENV["HTTP_PROXY"]
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 + metric.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
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 + metric.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
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
- ENV["http_proxy"] = ""
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
@@ -1,3 +1,3 @@
1
1
  module Echo_cli
2
- VERSION = "0.6.16"
2
+ VERSION = "0.6.17"
3
3
  end
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.16
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-18 00:00:00.000000000 Z
11
+ date: 2017-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor