bipbip 0.5.1 → 0.5.2

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