cdn_manager_pcache_probe 0.3 → 0.4

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 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