msgknife 0.0.3 → 0.0.4

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: edfefdd579dfbd02e3e20fb7b0170c8898e8adae
4
- data.tar.gz: 87fa0b24604c25934a4d87b0e38f81c6da571561
3
+ metadata.gz: c11272c41e8872834e8d932568444997b63ef980
4
+ data.tar.gz: a1ca1e2768ac7b096229c28e717a1f4ebc68032e
5
5
  SHA512:
6
- metadata.gz: e4f50ce1a85c3a6fa9eaadd1f54ce7f198928ee3d1d7277ea7ddcac648c2fd5a16c45901c44ce1e897adec9d6a1668f9ce0dc3804f73652a52c2aef01aae6331
7
- data.tar.gz: c30748ae0b47aa70c9a09287bbf98b558fa5177e9380d5334486b862da2bf2783b5c4812465f03101693bcde9c2ef322f8c8b49e49e9ec81b987db31783e0e35
6
+ metadata.gz: 3685ed1252522bfa1af752e2696db7650ee3c46442576153b0f653d0cbca39a719cc5575ed45ed0ebc3d897fb64b523b85603d39c5c431bca5db0cd2709d0e92
7
+ data.tar.gz: e380381f8fc4d54394f0611fa3ad2e8298b44cc285b76daff5255209f2efc6f9dc90086ff5de759f6725d7f7750a2a39d150010d628270624005ea1db111c170
data/bin/mcount ADDED
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'msgknife'
4
+ require 'pp'
5
+
6
+ class MCount < Msgknife::Stream
7
+ def initialize
8
+ super
9
+ @key = nil
10
+ @optpsr.on('-k VAL', 'key') {|v| @key = v }
11
+ @count_map = Hash.new{|h,k| h[k] = 0}
12
+ @total = 0
13
+ end
14
+
15
+ def setup(argv)
16
+ end
17
+
18
+ def recv(obj, ts, tag)
19
+ @total += 1
20
+ if not @key.nil? and obj.include?(@key)
21
+ @count_map[obj[@key]] += 1
22
+ end
23
+ end
24
+
25
+ def teardown
26
+ msg = {'total': @total}
27
+ msg['count'] = @count_map unless @key.nil?
28
+ write_stream(msg)
29
+ end
30
+ end
31
+
32
+ MCount.new.run(ARGV)
33
+
data/bin/mdot CHANGED
@@ -52,6 +52,7 @@ class MDot < Msgknife::Stream
52
52
  def initialize
53
53
  super
54
54
  @node_map = Hash.new{|h,k| h[k] = Node.new(k)}
55
+ @optpsr.on('-s', 'shorten label') {|v| @shorten = true }
55
56
  @optpsr.on('-M val', 'size of minimum graph size') {|v| @min_size = v.to_i}
56
57
  @optpsr.on('-N', 'skip if value is nil') {|v| @skip_nil = v }
57
58
  @optpsr.on('-d', 'output as dot format') {|v| @out_dot = v }
@@ -88,6 +89,10 @@ class MDot < Msgknife::Stream
88
89
  @node_map.each do |key, node|
89
90
  next if ignore_set.include?(node.key)
90
91
  key = node.key.gsub('"', '\"')
92
+ if @shorten and key.size > 30
93
+ key = key[0,16] + '... (' + node.hkey[0,8] + ')'
94
+ end
95
+
91
96
  case node.category
92
97
  when 0; color = '#fbeac1'
93
98
  when 1; color = '#ecac12'
@@ -95,11 +100,20 @@ class MDot < Msgknife::Stream
95
100
  puts " \"#{node.hkey}\" [label=\"#{key}\" color=\"#{color}\" style=\"filled\"];"
96
101
  end
97
102
 
103
+ entity_count = 0
104
+ @node_map.each do |key1, node1|
105
+ next if ignore_set.include?(key1)
106
+ node1.fwd_link.each do |key2, node2|
107
+ entity_count += 1
108
+ end
109
+ end
110
+ arrow_len = Math.log10(entity_count) + 1
111
+
98
112
  @node_map.each do |key1, node1|
99
113
  next if ignore_set.include?(key1)
100
114
  node1.fwd_link.each do |key2, node2|
101
115
  count = node1.fwd_count[key2]
102
- puts " \"#{node1.hkey}\" -> \"#{node2.hkey}\" [label=\"#{count}\" len=2.5];"
116
+ puts " \"#{node1.hkey}\" -> \"#{node2.hkey}\" [label=\"#{count}\" len=#{arrow_len}];"
103
117
  end
104
118
  end
105
119
  puts "}"
data/bin/mgrep ADDED
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'msgknife'
4
+
5
+ # MsgPack Prety Print
6
+ class MGrep < Msgknife::Stream
7
+ def initialize
8
+ super
9
+
10
+ @key = nil
11
+ @inv = false
12
+ @optpsr.on('-k VAL', 'target key name') { |v| @key = v }
13
+ @optpsr.on('-v', 'inverse') { |v| @inv = v }
14
+ end
15
+
16
+ def setup(argv)
17
+ @val = argv[0]
18
+ end
19
+
20
+ def recv(obj, ts, tag)
21
+ if @key.nil?
22
+ obj.each do |k, v|
23
+ cond = (v.instance_of?(String) and v.scan(@val).size > 0)
24
+ if (cond ^ @inv)
25
+ write_stream(obj, ts, tag)
26
+ return
27
+ end
28
+ end
29
+ else
30
+ cond = (obj.has_key?(@key) and obj[@key].instance_of?(String) and
31
+ obj[@key].scan(@val).size > 0)
32
+ if (cond ^ @inv)
33
+ write_stream(obj, ts, tag)
34
+ return
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ ins = MGrep.new()
41
+ ins.run(ARGV, 0..0)
data/bin/muniq ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'msgknife'
4
+ require 'pp'
5
+
6
+ # MsgPack Prety Print
7
+ class MPP < Msgknife::Stream
8
+ def initialize
9
+ super
10
+ @key = nil
11
+ @optpsr.on('-k VAL', 'target key name') { |v| @key = v }
12
+ end
13
+
14
+ def setup(argv)
15
+ @count_map = Hash.new {|h1,k1| h1[k1] = Hash.new {|h2,k2| h2[k2] = 0}}
16
+ end
17
+
18
+ def recv(obj, ts, tag)
19
+ obj.each do |k,v|
20
+ if @key.nil? or k == @key
21
+ @count_map[k][v] += 1
22
+ end
23
+ end
24
+ end
25
+
26
+ def teardown
27
+ write_stream(@count_map);
28
+ end
29
+ end
30
+
31
+ ins = MPP.new()
32
+ ins.run(ARGV)
@@ -1,3 +1,3 @@
1
1
  module Msgknife
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msgknife
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masayoshi Mizutani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-26 00:00:00.000000000 Z
11
+ date: 2015-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,9 +86,11 @@ email:
86
86
  - mizutani@sfc.wide.ad.jp
87
87
  executables:
88
88
  - m2mongo
89
+ - mcount
89
90
  - mdot
90
91
  - medit
91
92
  - mentropy
93
+ - mgrep
92
94
  - mhead
93
95
  - mheat
94
96
  - mkeys
@@ -96,6 +98,7 @@ executables:
96
98
  - mput
97
99
  - msplit
98
100
  - mtext
101
+ - muniq
99
102
  - mval
100
103
  extensions: []
101
104
  extra_rdoc_files: []
@@ -106,9 +109,11 @@ files:
106
109
  - README.md
107
110
  - Rakefile
108
111
  - bin/m2mongo
112
+ - bin/mcount
109
113
  - bin/mdot
110
114
  - bin/medit
111
115
  - bin/mentropy
116
+ - bin/mgrep
112
117
  - bin/mhead
113
118
  - bin/mheat
114
119
  - bin/mkeys
@@ -116,6 +121,7 @@ files:
116
121
  - bin/mput
117
122
  - bin/msplit
118
123
  - bin/mtext
124
+ - bin/muniq
119
125
  - bin/mval
120
126
  - lib/msgknife.rb
121
127
  - lib/msgknife/version.rb