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 +4 -4
- data/Gemfile.lock +5 -5
- data/README.md +5 -3
- data/cdn-manager_pcache-probe.gemspec +3 -3
- data/lib/cdn_manager_pcache_probe/cli.rb +15 -7
- data/lib/cdn_manager_pcache_probe/connector.rb +4 -4
- data/lib/cdn_manager_pcache_probe/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64b966db0cd13b998c92873f7f91826833ba7e1a
|
4
|
+
data.tar.gz: 2870cd90b2129a8088d6a488893206b43146821d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
5
|
-
|
6
|
-
rest-client (~> 1.8
|
7
|
-
thor (~> 0.19
|
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
|
-
|
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 "
|
11
|
+
Limit usage to volume_key "swisstxt.ch":
|
12
12
|
```bash
|
13
|
-
|
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
|
31
|
-
spec.add_runtime_dependency "rest-client", "~> 1.8
|
32
|
-
spec.add_runtime_dependency "
|
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**
|
50
|
-
if options[:
|
51
|
-
|
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
|
-
|
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 '
|
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 =
|
16
|
+
probe = MultiJson.load(
|
17
17
|
RestClient.get(
|
18
18
|
@url, params: { source: query(options) }
|
19
19
|
)
|
20
20
|
)
|
21
|
-
puts "Response: \n" +
|
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" +
|
60
|
+
puts "Query: \n" + MultiJson.dump(MultiJson.load(query), pretty: true) if options[:debug]
|
61
61
|
query
|
62
62
|
end
|
63
63
|
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.
|
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
|
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
|
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
|
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
|
40
|
+
version: '1.8'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
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.
|
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.
|
54
|
+
version: '1.11'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|