cdn_manager_pcache_probe 0.3 → 0.4

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: a6a4287dc0fb35d06c1bfc95dd042f11f28fb4ee
4
- data.tar.gz: 577b24fab8aa53bb69060f40e69083dfcac693db
3
+ metadata.gz: 64b966db0cd13b998c92873f7f91826833ba7e1a
4
+ data.tar.gz: 2870cd90b2129a8088d6a488893206b43146821d
5
5
  SHA512:
6
- metadata.gz: 46399e35cd55865a0f5b47013430f5e6e8949fa00c6512ba68eec38a73f9d672dc36038fbda4897043cc96dcba14fbe1ff306f7569ce06ae736a67ce86d63a51
7
- data.tar.gz: 670b2e7b90599fa08dcbb0a087c02335ffa5761c29f37901d917c2fb21562fe64b3551ea9fe094a1cdd47e18d503001c34d52cab6a055057c856954983de15cc
6
+ metadata.gz: 4eac5e1cfedc6efab7c8a3e3ca5ba1f8f661e544493fb21ef2fac86af06ca9b6c2a1da9f03f29cb36e659871aeeb53cfea6d411eb0a7f4aeaa5a07d8598f3c96
7
+ data.tar.gz: ca8df6adabd3736c205913cd4fedbc647a52b90d969df893d71f0a78ebcaeb55503be1697de5b3cb6a673d5a1f295a7662b2a0ecb8474de91a4fc5f305743a46
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cdn_manager_pcache_probe (0.3)
5
- json_pure (~> 1.8.3)
6
- rest-client (~> 1.8.0)
7
- thor (~> 0.19.1)
4
+ cdn_manager_pcache_probe (0.4)
5
+ multi_json (~> 1.11)
6
+ rest-client (~> 1.8)
7
+ thor (~> 0.19)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -13,8 +13,8 @@ GEM
13
13
  unf (>= 0.0.5, < 1.0.0)
14
14
  http-cookie (1.0.2)
15
15
  domain_name (~> 0.5)
16
- json_pure (1.8.3)
17
16
  mime-types (2.99)
17
+ multi_json (1.11.2)
18
18
  netrc (0.11.0)
19
19
  rake (10.4.2)
20
20
  rest-client (1.8.0)
data/README.md CHANGED
@@ -5,10 +5,12 @@ Pcache load probe for cdn-manager using ElasticSearch data.
5
5
 
6
6
  Get overall usage for last 3 minutes:
7
7
  ```bash
8
- bin/get_pcache_probe collect --url http://indexer.swisstxt.ch:9200/_all/pcache/_search --interval 3
8
+ get_pcache_probe collect --url http://indexer.swisstxt.ch:9200/_all/pcache/_search --interval 3
9
9
  ```
10
10
 
11
- Limit usage to volume_key "blick.simplex.ch":
11
+ Limit usage to volume_key "swisstxt.ch":
12
12
  ```bash
13
- bin/get_pcache_probe collect --url http://indexer.swisstxt.ch:9200/_all/pcache/_search --key blick.simplex.ch
13
+ get_pcache_probe collect --url http://indexer.swisstxt.ch:9200/_all/pcache/_search --key swisstxt.ch
14
14
  ```
15
+
16
+ For all command options see ```get_pcache_probe help collect```
@@ -27,9 +27,9 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_runtime_dependency "thor", "~> 0.19.1"
31
- spec.add_runtime_dependency "rest-client", "~> 1.8.0"
32
- spec.add_runtime_dependency "json_pure", "~> 1.8.3"
30
+ spec.add_runtime_dependency "thor", "~> 0.19"
31
+ spec.add_runtime_dependency "rest-client", "~> 1.8"
32
+ spec.add_runtime_dependency "multi_json", "~> 1.11"
33
33
 
34
34
  spec.add_development_dependency "bundler", "~> 1.10"
35
35
  spec.add_development_dependency "rake", "~> 10.0"
@@ -38,6 +38,9 @@ module CdnManagerPcacheProbe
38
38
  desc: "data delay - give elasticsearch some time to receive the logs",
39
39
  default: 5,
40
40
  type: :numeric
41
+ option :quiet,
42
+ desc: "print minimal output, just Mbit/s",
43
+ type: :boolean
41
44
  option :debug,
42
45
  desc: "print debug output",
43
46
  type: :boolean
@@ -46,15 +49,20 @@ module CdnManagerPcacheProbe
46
49
  options[:url]
47
50
  ).get_probe(options)
48
51
 
49
- usage = (bytes_sent / (options[:interval] * 60) * 8 / 1024**3).round(3)
50
- if options[:key]
51
- say "Usage for #{options[:key]} ", :yellow
52
+ usage = (bytes_sent / (options[:interval] * 60) * 8 / 1024**2).round(3)
53
+ if options[:quiet]
54
+ puts usage.round(0)
52
55
  else
53
- say "Overall usage ", :yellow
56
+ if options[:key]
57
+ say "Usage for #{options[:key]} ", :yellow
58
+ else
59
+ say "Overall usage ", :yellow
60
+ end
61
+ say "over #{options[:interval]} min (#{options[:delay]} min delay):", :yellow
62
+ puts "Total volume sent: #{(bytes_sent / 1024**3).round(3)} GB"
63
+ print "Average bandwidth: #{usage} Mbit/s"
64
+ puts usage >= 1000 ? " (#{(usage / 1024.0).round(2)} Gbit/s)" : nil
54
65
  end
55
- say "over #{options[:interval]} min (#{options[:delay]} min delay):", :yellow
56
- puts "Total volume sent: #{(bytes_sent / 1024**3).round(3)} GB"
57
- puts "Average bandwidth: #{usage} Gbit/s"
58
66
  end
59
67
 
60
68
  end # class
@@ -1,5 +1,5 @@
1
1
  require 'rest-client'
2
- require 'json'
2
+ require 'multi_json'
3
3
 
4
4
  module CdnManagerPcacheProbe
5
5
  class Connector
@@ -13,12 +13,12 @@ module CdnManagerPcacheProbe
13
13
  end
14
14
 
15
15
  def get_probe(options = {})
16
- probe = JSON.parse(
16
+ probe = MultiJson.load(
17
17
  RestClient.get(
18
18
  @url, params: { source: query(options) }
19
19
  )
20
20
  )
21
- puts "Response: \n" + JSON.pretty_generate(probe) if options[:debug]
21
+ puts "Response: \n" + MultiJson.dump(probe, pretty: true) if options[:debug]
22
22
  probe["aggregations"]["bytes_sent"]["value"]
23
23
  end
24
24
 
@@ -57,7 +57,7 @@ module CdnManagerPcacheProbe
57
57
  }
58
58
  }
59
59
  }).gsub(/\A[[:space:]]+/, '').gsub(/[[:space:]]+\z/, '').gsub(/[[:space:]]+/, ' ')
60
- puts "Query: \n" + JSON.pretty_generate(JSON.parse(query)) if options[:debug]
60
+ puts "Query: \n" + MultiJson.dump(MultiJson.load(query), pretty: true) if options[:debug]
61
61
  query
62
62
  end
63
63
  end
@@ -1,3 +1,3 @@
1
1
  module CdnManagerPcacheProbe
2
- VERSION = "0.3"
2
+ VERSION = "0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdn_manager_pcache_probe
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - niwo
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.1
19
+ version: '0.19'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.19.1
26
+ version: '0.19'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rest-client
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.8.0
33
+ version: '1.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.8.0
40
+ version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
- name: json_pure
42
+ name: multi_json
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.8.3
47
+ version: '1.11'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.8.3
54
+ version: '1.11'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement