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 +4 -4
- data/bin/mcount +33 -0
- data/bin/mdot +15 -1
- data/bin/mgrep +41 -0
- data/bin/muniq +32 -0
- data/lib/msgknife/version.rb +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c11272c41e8872834e8d932568444997b63ef980
|
4
|
+
data.tar.gz: a1ca1e2768ac7b096229c28e717a1f4ebc68032e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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)
|
data/lib/msgknife/version.rb
CHANGED
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.
|
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-
|
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
|