msgknife 0.0.3 → 0.0.4

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