tailstrom 0.0.5 → 0.0.6

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: e2084969ae138b43205364ee1c78bbe4af7e3288
4
- data.tar.gz: b9bf1f575d1c915c2ae185d38d40acabb27341d6
3
+ metadata.gz: 4fc9291b2a7850cedd5567f7c78a94073695a49b
4
+ data.tar.gz: ceb209f84de1c9c1104e0e5df763812eed71b894
5
5
  SHA512:
6
- metadata.gz: 3b960f9634555b00cedf6cb08d2e4449b1f13dc5e40b956b2734bd59547d0207c427e63111ee47ef7b90d239c252703e789748e699f6b93e363431dd1939096b
7
- data.tar.gz: bc421512afa39984806754b237e6096df8fb7c4ae31a6f78504ef3f82a055b2bceb055956d5af312fbbd23ca7afa503323fd0e2c907705f5327bcd3ac2b55a01
6
+ metadata.gz: e0a0ce1ff435b17b851d51516a0bf0137ed2d866618e855d9a3d35b7f45843ea664d10d123e310ff2a09254175160771244530f6495b4f76c4ee8cb83759f367
7
+ data.tar.gz: fda93ef992bebf83c9c2828e4e09e91de049f07549de250b99c8836340a1166eb1978474d72b2d2c6b6b19c266b4aa08aeb2241c7442622a41f2c77d82554402
data/bin/tailstrom CHANGED
@@ -49,6 +49,6 @@ if infile = ARGV.shift
49
49
  end
50
50
 
51
51
  require "tailstrom/command/#{options[:mode]}"
52
- cls = Module.const_get "Tailstrom::Command::#{options[:mode].capitalize}"
52
+ cls = Tailstrom::Command.const_get options[:mode].to_s.capitalize
53
53
  cmd = cls.new options
54
54
  cmd.run
data/example/dummylog CHANGED
@@ -1,12 +1,16 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'time'
3
3
 
4
+ def sample(arr)
5
+ arr[rand arr.length]
6
+ end
7
+
4
8
  begin
5
9
  loop do
6
- url = "/#{%w(users products photos).sample}/#{rand(1000)}"
10
+ url = "/#{sample %w(users products photos)}/#{rand(1000)}"
7
11
  time = Time.now.iso8601
8
12
  rtime = rand(1_000_000)
9
- status = [200, 302].sample
13
+ status = sample [200, 302]
10
14
  puts [status, time, rtime, url].join("\t")
11
15
  $stdout.flush
12
16
  sleep rand(10).to_f / 100.0
@@ -29,7 +29,7 @@ module Tailstrom
29
29
  @counters[line[:key]] << line[:value]
30
30
  end
31
31
 
32
- height = `put lines`.to_i - 4 rescue 10
32
+ height = terminal_height
33
33
  i = 0
34
34
  begin
35
35
  sleep @options[:interval]
@@ -52,6 +52,15 @@ module Tailstrom
52
52
  end
53
53
 
54
54
  private
55
+ def terminal_height
56
+ system 'which tput 2>&1 >/dev/null'
57
+ if $? == 0
58
+ `tput lines`.to_i - 4
59
+ else
60
+ 10
61
+ end
62
+ end
63
+
55
64
  def print_counters
56
65
  sorted_counters.each do |key, c|
57
66
  key = (key == :nil ? nil : key)
@@ -68,13 +77,13 @@ module Tailstrom
68
77
  def sorted_counters
69
78
  counters = @counters.to_a
70
79
  if sort = @options[:sort]
71
- counters.sort_by! do |key, c|
80
+ counters = counters.sort_by do |key, c|
72
81
  sum, avg, min, max, count =
73
82
  c.sum, c.avg, c.min, c.max, c.count
74
83
  binding.eval sort
75
84
  end
76
85
  else
77
- counters.sort_by! do |key, c|
86
+ counters = counters.sort_by do |key, c|
78
87
  c.sum
79
88
  end
80
89
  end
@@ -1,3 +1,3 @@
1
1
  module Tailstrom
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tailstrom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Issei Naruta