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