redis-stat 0.2.6 → 0.2.7

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.
data/lib/redis-stat.rb CHANGED
@@ -8,6 +8,7 @@ require 'tabularize'
8
8
  require 'ansi'
9
9
  require 'csv'
10
10
  require 'parallelize'
11
+ require 'si'
11
12
 
12
13
  class RedisStat
13
14
  DEFAULT_TERM_WIDTH = 180
@@ -64,7 +65,7 @@ class RedisStat
64
65
  @redises.pmap(@redises.length) { |redis|
65
66
  redis.info.insensitive
66
67
  }.each do |rinfo|
67
- all_measures.each do |k|
68
+ (all_measures + rinfo.keys.select { |k| k =~ /^db[0-9]+$/ }).each do |k|
68
69
  info[k] ||= []
69
70
  info[k] << rinfo[k]
70
71
  end
@@ -255,35 +256,21 @@ private
255
256
  [humanize_number(val.to_i), val]
256
257
  when :used_memory, :used_memory_rss, :aof_current_size, :aof_base_size
257
258
  val = info.sumf(key)
258
- [humanize_number(val.to_i, 1024, 'B'), val]
259
+ [humanize_number(val.to_i, true), val]
259
260
  else
260
- format_number info.sumf(key)
261
+ humanize_number info.sumf(key)
261
262
  end
262
263
  end
263
264
 
264
- def format_number num
265
- if num.to_i == num
266
- num.to_i
267
- elsif num < 10
268
- "%.2f" % num
269
- elsif num < 100
270
- "%.1f" % num
271
- else
272
- num.to_i
273
- end.to_s
274
- end
275
-
276
- def humanize_number num, k = 1000, suffix = ''
265
+ def humanize_number num, byte = false
277
266
  return '-' if num.nil?
278
267
 
279
- sign = num >= 0 ? '' : '-'
280
- num = num.abs
281
- mult = k.to_f
282
- ['', 'K', 'M', 'G', 'T', 'P', 'E'].each do |mp|
283
- return sign + format_number(num * k / mult) + mp + suffix if num < mult || mp == 'E'
284
- mult *= k
268
+ num = num.to_i if num == num.to_i
269
+ if byte
270
+ num.si_byte
271
+ else
272
+ num.si(:min_exp => 0)
285
273
  end
286
- return nil
287
274
  end
288
275
 
289
276
  def ansi *args, &block
@@ -1,3 +1,3 @@
1
1
  class RedisStat
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
data/redis-stat.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |gem|
20
20
  gem.add_runtime_dependency "tabularize", '~> 0.2.8'
21
21
  gem.add_runtime_dependency "insensitive_hash", '~> 0.3.0'
22
22
  gem.add_runtime_dependency "parallelize", '~> 0.4.0'
23
+ gem.add_runtime_dependency "si", '~> 0.1.3'
23
24
 
24
25
  gem.add_development_dependency 'test-unit'
25
26
  end
@@ -18,9 +18,9 @@ class TestRedisStat < Test::Unit::TestCase
18
18
  assert_equal '0.75', rs.send(:humanize_number, 0.751)
19
19
  assert_equal '7.51', rs.send(:humanize_number, 7.51)
20
20
  assert_equal '75.1', rs.send(:humanize_number, 75.1)
21
- assert_equal '7.51K', rs.send(:humanize_number, 7510)
22
- assert_equal '75.1K', rs.send(:humanize_number, 75100)
23
- assert_equal '751K', rs.send(:humanize_number, 751000)
21
+ assert_equal '7.51k', rs.send(:humanize_number, 7510)
22
+ assert_equal '75.1k', rs.send(:humanize_number, 75100)
23
+ assert_equal '751k', rs.send(:humanize_number, 751000)
24
24
  assert_equal '7.51M', rs.send(:humanize_number, 7510000)
25
25
  assert_equal '75.1M', rs.send(:humanize_number, 75100000)
26
26
  assert_equal '751M', rs.send(:humanize_number, 751000000)
@@ -36,10 +36,10 @@ class TestRedisStat < Test::Unit::TestCase
36
36
  assert_equal '7.51E', rs.send(:humanize_number, 7510000000000000000)
37
37
  assert_equal '75.1E', rs.send(:humanize_number, 75100000000000000000)
38
38
  assert_equal '751E', rs.send(:humanize_number, 751000000000000000000)
39
- assert_equal '7510E', rs.send(:humanize_number, 7510000000000000000000)
39
+ assert_equal '7.51Z', rs.send(:humanize_number, 7510000000000000000000)
40
40
 
41
- assert_equal '7.51PB', rs.send(:humanize_number, 7.51 * (1024 ** 5), 1024, 'B')
42
- assert_equal '-7.51PB', rs.send(:humanize_number, -7.51 * (1024 ** 5), 1024, 'B')
41
+ assert_equal '7.51PB', rs.send(:humanize_number, 7.51 * (1024 ** 5), true)
42
+ assert_equal '-7.51PB', rs.send(:humanize_number, -7.51 * (1024 ** 5), true)
43
43
  end
44
44
 
45
45
  def test_option_parse
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-stat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-05 00:00:00.000000000 Z
12
+ date: 2012-09-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ansi
@@ -91,6 +91,22 @@ dependencies:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
93
  version: 0.4.0
94
+ - !ruby/object:Gem::Dependency
95
+ name: si
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 0.1.3
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.1.3
94
110
  - !ruby/object:Gem::Dependency
95
111
  name: test-unit
96
112
  requirement: !ruby/object:Gem::Requirement