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