bipbip 0.5.1 → 0.5.2

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: da9a4e17b6279e98d4f9554f8a54b22783763d45
4
- data.tar.gz: b1c2077dd2d37832ad2df80659b0d0f70fefda70
3
+ metadata.gz: f8eacf61d4510fa9f694eaea20ac6f54569122f4
4
+ data.tar.gz: 836957c95356edc85dbb274f0edbde201fc02b03
5
5
  SHA512:
6
- metadata.gz: 6dfed598b22a7aa0b669adfb9a247881e2dc9fec20f4ac4c496a4454d9ea0826f05d94860adf2dc1d5b8f51ef43619f28cf3ba6e6324b7f3857af96972c5bc6f
7
- data.tar.gz: 8a901fdc882b5ac8bacb192a5b759ab04c5f07859681b31f5ed8acc7e61fb9a33d9ae98313f5e11f71b8a8b2956c9c0245ed24ab6505ea0d24529c89d34daf6c
6
+ metadata.gz: d9308614edae2bfce676ebd9f7d1dadd819d353e65d94e52d78555d26d3d5becbeb12d4b058f7b31aa63023f196d35d95835b84eb5548e8376a7b1ff523cd144
7
+ data.tar.gz: ecf32d46dd6f182a6748d841eeb9b4b8b4bd87a9d26f4ca4132c36e346b2ddb0924cc1d2764afba402430939d3457f20b280e8e996f11310e18791317b954c80
@@ -7,7 +7,7 @@ module Bipbip
7
7
  {:name => 'free_memory', :type => 'gauge', :unit => 'b'},
8
8
  {:name => 'current_wasted_percentage', :type => 'gauge', :unit => '%'},
9
9
  {:name => 'num_cached_keys', :type => 'gauge', :unit => 'Keys'},
10
- {:name => 'opcache_hit_rate', :type => 'gauge', :unit => '%'},
10
+ {:name => 'hit_rate', :type => 'gauge', :unit => '%'},
11
11
  {:name => 'misses', :type => 'counter', :unit => 'Misses'},
12
12
  {:name => 'hits', :type => 'counter', :unit => 'Hits'},
13
13
  {:name => 'oom_restarts', :type => 'counter', :unit => 'Restarts'},
@@ -28,18 +28,36 @@ module Bipbip
28
28
  body = response.split(/\r?\n\r?\n/)[1]
29
29
  raise "FastCGI response has no body: #{response}" unless body
30
30
  stats = JSON.parse(body)
31
+ @data_previous ||= stats
31
32
 
32
33
  stats_memory = stats['memory_usage']
33
34
  stats_statistics = stats['opcache_statistics']
35
+ hit_rate = hit_rate(stats)
36
+
37
+ @data_previous = stats
34
38
  {
35
39
  :free_memory => stats_memory['free_memory'].to_i,
36
40
  :current_wasted_percentage => stats_memory['current_wasted_percentage'].to_i,
37
41
  :num_cached_keys => stats_statistics['num_cached_keys'].to_i,
38
- :opcache_hit_rate => stats_statistics['opcache_hit_rate'].to_i,
42
+ :hit_rate => hit_rate,
39
43
  :misses => stats_statistics['misses'].to_i,
40
44
  :hits => stats_statistics['hits'].to_i,
41
45
  :oom_restarts => stats_statistics['oom_restarts'].to_i,
42
46
  }
43
47
  end
48
+
49
+ private
50
+
51
+ def hit_rate(stats)
52
+ current_stats = stats['opcache_statistics']
53
+ previous_stats = @data_previous['opcache_statistics']
54
+
55
+ delta_hits = current_stats['hits'].to_f - previous_stats['hits'].to_f
56
+ delta_misses = current_stats['misses'].to_f - previous_stats['misses'].to_f
57
+
58
+ delta_total = delta_hits + delta_misses
59
+ hit_rate = delta_total == 0 ? 0 : (delta_hits / delta_total) * 100
60
+ hit_rate.round(2)
61
+ end
44
62
  end
45
63
  end
@@ -1,3 +1,3 @@
1
1
  module Bipbip
2
- VERSION = '0.5.1'
2
+ VERSION = '0.5.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bipbip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cargo Media
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-11-21 00:00:00.000000000 Z
13
+ date: 2014-11-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: copperegg