ring-sqa 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ring/sqa/alarm/message.rb +1 -1
- data/lib/ring/sqa/analyzer.rb +3 -2
- data/lib/ring/sqa/cfg.rb +2 -1
- data/ring-sqa.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6ef7e3d5abcf18e06a41d47d2f3bed0f0c81875
|
4
|
+
data.tar.gz: 3d9955866b2ff105f155e472fbff97c664d8b865
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 923771057e38033054fa3b82b67755798beab1b6399de91ca85192af1d188d2f5d7a3a3a005d0e4e0cd9c1d2c843f772be1ee30f9ce07e6fb4b62805f9c28740
|
7
|
+
data.tar.gz: 0837e7fa36e9c347cf6644a01627c8eb3386bb11d4deb8dabb14cfaa2c291fc668a427737565e7cffbe0976127ade1d794903755e792a27a5df50585c8ff958b
|
@@ -28,7 +28,7 @@ An alarm is raised under the following conditions: every 30 seconds
|
|
28
28
|
your node pings all other nodes. The amount of nodes that cannot be
|
29
29
|
reached is stored in a circular buffer, with each element representing
|
30
30
|
a minute of measurements. In the event that the last three minutes are
|
31
|
-
#{Ring::SQA::CFG.analyzer.tolerance} above the median of the previous #{Ring::SQA::CFG.analyzer.median_of} measurement slots, a partial
|
31
|
+
#{Ring::SQA::CFG.analyzer.tolerance.relative} above the median of the previous #{Ring::SQA::CFG.analyzer.median_of} measurement slots, a partial
|
32
32
|
outage is assumed. The ring buffer's output is as following:
|
33
33
|
|
34
34
|
#{buffer_list}
|
data/lib/ring/sqa/analyzer.rb
CHANGED
@@ -68,8 +68,9 @@ class SQA
|
|
68
68
|
node_count[0..last].sort[last/2]
|
69
69
|
end
|
70
70
|
def exceed_median? tolerance=CFG.analyzer.tolerance
|
71
|
-
|
72
|
-
|
71
|
+
violate_relative = (median+1)*tolerance.relative
|
72
|
+
violate_absolute = (median+1)+tolerance.absolute
|
73
|
+
node_count[@median_of..-1].all? { |e| e > violate_relative && e > violate_absolute }
|
73
74
|
end
|
74
75
|
def node_count
|
75
76
|
@array.map { |nodes| nodes.size }
|
data/lib/ring/sqa/cfg.rb
CHANGED
@@ -12,7 +12,8 @@ module Ring
|
|
12
12
|
Config.default.directory = Directory
|
13
13
|
Config.default.debug = false
|
14
14
|
Config.default.port = 'ring'.to_i(36)/100
|
15
|
-
Config.default.analyzer.tolerance = 1.2
|
15
|
+
Config.default.analyzer.tolerance.relative = 1.2
|
16
|
+
Config.default.analyzer.tolerance.absolute = 10
|
16
17
|
Config.default.analyzer.size = 30
|
17
18
|
Config.default.analyzer.median_of = 27
|
18
19
|
Config.default.nodes_json = '/etc/ring/nodes.json'
|
data/ring-sqa.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ring-sqa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saku Ytti
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-07-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: slop
|