norikra 0.1.3-java → 0.1.4-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.ruby-version +1 -1
- data/README.md +11 -123
- data/lib/norikra/cli.rb +3 -1
- data/lib/norikra/engine.rb +1 -0
- data/lib/norikra/rpc/handler.rb +6 -0
- data/lib/norikra/server.rb +50 -28
- data/lib/norikra/target.rb +6 -1
- data/lib/norikra/version.rb +1 -1
- data/lib/norikra/webui/handler.rb +8 -1
- data/norikra.gemspec +2 -2
- data/views/base.erb +1 -1
- data/views/index.erb +6 -5
- metadata +11 -45
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6d5ba6d34ed7bba46947b8434b0ac32b8cb7ba2d
|
4
|
+
data.tar.gz: 2c6a5434cfc175aab9de2f89d3ab10198a75a06f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 48a696a0f5611dc7657c82e1e119a10355da055eadfd4417b0456508a345ce4a18bc8617bd4aa46435cf49c85c7e0863ef42e01747923de89a0695e9ea7a86db
|
7
|
+
data.tar.gz: 9b04d5197dd10a38c6d66dd09ae580509f2469c1d6727f774e203e61400796accc5c3de164df2262b0d0521959c49bb80bd8241648e339f234d75881b8994a71
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
jruby-1.7.
|
1
|
+
jruby-1.7.11
|
data/README.md
CHANGED
@@ -24,35 +24,9 @@ For JRuby installation, you can use `rbenv`, `rvm` and `xbuild`, or install JRub
|
|
24
24
|
* rbenv: https://github.com/sstephenson/rbenv/
|
25
25
|
* xbuild: https://github.com/tagomoris/xbuild
|
26
26
|
|
27
|
-
###
|
27
|
+
### Install and launch
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
norikra start
|
32
|
-
|
33
|
-
Norikra server doesn't save targets/queries in default.
|
34
|
-
Specify `--stats STATS_FILE_PATH` option to save these runtime configuration automatically.
|
35
|
-
|
36
|
-
norikra start --stats /path/to/data/norikra.stats.json
|
37
|
-
|
38
|
-
JVM options like `-Xmx` are available:
|
39
|
-
|
40
|
-
norikra start -Xmx2g
|
41
|
-
|
42
|
-
To daemonize:
|
43
|
-
|
44
|
-
norikra start -Xmx2g --daemonize --logdir=/var/log/norikra
|
45
|
-
norikra start -Xmx2g --daemonize --pidfile /var/run/norikra.pid --logdir=/var/log/norikra
|
46
|
-
# To stop
|
47
|
-
norikra stop
|
48
|
-
|
49
|
-
Performance options about threadings:
|
50
|
-
|
51
|
-
norikra start --micro # or --small, --middle, --large
|
52
|
-
|
53
|
-
For other options, see help:
|
54
|
-
|
55
|
-
norikra help start
|
29
|
+
See: http://norikra.github.io/
|
56
30
|
|
57
31
|
### How to execute norikra server and tests in development
|
58
32
|
|
@@ -77,7 +51,12 @@ Execute norikra server with target/query continuation:
|
|
77
51
|
|
78
52
|
## Clients
|
79
53
|
|
80
|
-
Use `
|
54
|
+
Use `norikra-client` cli command. These are available on both of JRuby and CRuby.
|
55
|
+
|
56
|
+
https://rubygems.org/gems/norikra-client
|
57
|
+
https://rubygems.org/gems/norikra-client-jruby
|
58
|
+
|
59
|
+
And the client library for application developers are also included in these gems.
|
81
60
|
|
82
61
|
https://github.com/norikra/norikra-client-ruby
|
83
62
|
|
@@ -86,103 +65,12 @@ For other languages:
|
|
86
65
|
|
87
66
|
## Events and Queries
|
88
67
|
|
89
|
-
|
90
|
-
|
91
|
-
norikra-client target open www path:string status:integer referer:string agent:string userid:integer
|
92
|
-
norikra-client target list
|
93
|
-
|
94
|
-
Supported types are `string`, `boolean`, `integer`, `float` and `hash`, `array`.
|
95
|
-
|
96
|
-
You can register queries when you want.
|
97
|
-
|
98
|
-
# norikra-client query add QUERY_NAME QUERY_EXPRESSION
|
99
|
-
norikra-client query add www.toppageviews 'SELECT count(*) AS cnt FROM www.win:time_batch(10 sec) WHERE path="/" AND status=200'
|
100
|
-
|
101
|
-
And send events into norikra (multi line events [json-per-line] and LTSV events are also allowed).
|
102
|
-
|
103
|
-
echo '{"path":"/", "status":200, "referer":"", "agent":"MSIE", "userid":3}' | norikra-client event send www
|
104
|
-
echo '{"path":"/login", "status":301, "referer":"/", "agent":"MSIE", "userid":3}' | norikra-client event send www
|
105
|
-
echo '{"path":"/content", "status":200, "referer":"/login", "agent":"MSIE", "userid":3}' | norikra-client event send www
|
106
|
-
echo '{"path":"/page/1", "status":200, "referer":"/content", "agent":"MSIE", "userid":3}' | norikra-client event send www
|
107
|
-
|
108
|
-
Finally, you can get query outputs:
|
109
|
-
|
110
|
-
norikra-client event fetch www.toppageviews
|
111
|
-
{"time":"2013/05/15 15:10:35","cnt":1}
|
112
|
-
{"time":"2013/05/15 15:10:45","cnt":0}
|
113
|
-
|
114
|
-
You can just add queries with optional fields:
|
115
|
-
|
116
|
-
norikra-client query add www.search 'SELECT count(*) AS cnt FROM www.win:time_batch(10 sec) WHERE path="/content" AND search_param.length() > 0'
|
117
|
-
|
118
|
-
And send more events:
|
119
|
-
|
120
|
-
echo '{"path":"/", "status":200, "referer":"", "agent":"MSIE", "userid":3}' | norikra-client event send www
|
121
|
-
echo '{"path":"/", "status":200, "referer":"", "agent":"Firefox", "userid":4}' | norikra-client event send www
|
122
|
-
echo '{"path":"/content", "status":200, "referer":"/login", "agent":"MSIE", "userid":3}' | norikra-client event send www
|
123
|
-
echo '{"path":"/content", "status":200, "referer":"/login", "agent":"Firefox", "userid":4, "search_param":"news worldwide"}' | norikra-client event send www
|
124
|
-
|
125
|
-
Query 'www.search' matches the last event automatically.
|
126
|
-
|
127
|
-
## Performance
|
128
|
-
|
129
|
-
Threads option available with `norikra start`. Simple specifiers for performance with threadings:
|
130
|
-
|
131
|
-
norikra start --micro # or --small, --middle, --large (default: 'micro')
|
132
|
-
|
133
|
-
Norikra server has 3 types of threads:
|
134
|
-
|
135
|
-
* engine: 4 query engine thread types on Esper
|
136
|
-
* inbound: input data handler for queries
|
137
|
-
* outbound: output data handler for queries
|
138
|
-
* router: event handler which decides which query needs that events
|
139
|
-
* timer: executer for queries with time_batches and other timing events
|
140
|
-
* rpc: data input/output rpc handler threads on Jetty
|
141
|
-
* web: web ui request handler threads on Jetty
|
142
|
-
|
143
|
-
In many cases, norikra server handling high rate events needs large number of rpc threads to handle input/output rpc requests. WebUI don't need threads rather than default in almost all of cases.
|
144
|
-
|
145
|
-
Engine threads depends on queries running on norikra, input/output event data rate and target numbers. For more details, see Esper's API Documents: http://esper.codehaus.org/esper-4.10.0/doc/reference/en-US/html/api.html#api-threading
|
146
|
-
|
147
|
-
Norikra's simple specifiers details of threadings are:
|
148
|
-
|
149
|
-
* micro: development and testing
|
150
|
-
* engine: all processings on single threads
|
151
|
-
* rpc: 2 threads
|
152
|
-
* web: 2 threads
|
153
|
-
* small: low rate events on virtual servers
|
154
|
-
* engine: inbound 1, outbound 1, route 1, timer 1 threads
|
155
|
-
* rpc: 2 threads
|
156
|
-
* web: 2 threads
|
157
|
-
* middle: high rate events on physical servers
|
158
|
-
* engine: inbound 4, outbound 2, route 2, timer 2 threads
|
159
|
-
* rpc: 4 threads
|
160
|
-
* web: 2 threads
|
161
|
-
* large: inbound heavy traffic and huge amount of queries
|
162
|
-
* engine: inbound 6, outbound 6, route 4, timer 4 threads
|
163
|
-
* rpc: 8 threads
|
164
|
-
* web: 2 threads
|
165
|
-
|
166
|
-
To specify sizes of each threads, use `--*-threads=NUM` options. For more details, see: `norikra help start`.
|
167
|
-
|
168
|
-
## User Defined Functions
|
169
|
-
|
170
|
-
UDFs/UDAFs can be loaded as plugin gems over rubygems or as private plugins.
|
171
|
-
In fact, Norikra's UDFs/UDAFs are Esper's plugin with a JRuby class to indicate plugin metadata.
|
172
|
-
|
173
|
-
For details how to write your own UDF/UDAF for norikra and to release it as gem, see README of `norikra-udf-mock`.
|
174
|
-
https://github.com/norikra/norikra-udf-mock
|
175
|
-
|
176
|
-
## Tips
|
177
|
-
|
178
|
-
We need to write this document on http://norikra.github.io
|
179
|
-
|
180
|
-
### Esper query syntax
|
181
|
-
|
182
|
-
* String concatination operator: `||`
|
68
|
+
See: http://norikra.github.io/
|
183
69
|
|
184
70
|
## Changes
|
185
71
|
|
72
|
+
* v0.1.3:
|
73
|
+
* Fix critical bug about query de-registration
|
186
74
|
* v0.1.2:
|
187
75
|
* Fix CLI start command to detect jruby path collectly (behind rbenv/rvm and others)
|
188
76
|
* v0.1.1:
|
data/lib/norikra/cli.rb
CHANGED
@@ -18,6 +18,8 @@ module Norikra
|
|
18
18
|
:desc => 'status file path to load/dump targets, queries and server configurations [none]'
|
19
19
|
option :'suppress-dump-stat', :type => :boolean, :default => false, \
|
20
20
|
:desc => 'specify not to update stat file with updated targets/queries/configurations on runtime [false]'
|
21
|
+
option :'dump-stat-interval', :type => :numeric, :default => nil, \
|
22
|
+
:desc => 'interval(seconds) of status file dumps on runtime [none (on shutdown only)]'
|
21
23
|
|
22
24
|
### Daemonize options
|
23
25
|
option :daemonize, :type => :boolean, :default => false, :aliases => "-d", \
|
@@ -135,7 +137,7 @@ module Norikra
|
|
135
137
|
|
136
138
|
### stat file
|
137
139
|
conf[:stats] = {
|
138
|
-
path: options[:stats], suppress: options[:'suppress-dump-stat'],
|
140
|
+
path: options[:stats], suppress: options[:'suppress-dump-stat'], interval: options[:'dump-stat-interval'],
|
139
141
|
}
|
140
142
|
|
141
143
|
### threads
|
data/lib/norikra/engine.rb
CHANGED
data/lib/norikra/rpc/handler.rb
CHANGED
@@ -103,6 +103,12 @@ class Norikra::RPC::Handler
|
|
103
103
|
}
|
104
104
|
end
|
105
105
|
|
106
|
+
def see(query_name)
|
107
|
+
logging(:show, :see, [query_name]){
|
108
|
+
@engine.output_pool.fetch(query_name)
|
109
|
+
}
|
110
|
+
end
|
111
|
+
|
106
112
|
def sweep(query_group=nil)
|
107
113
|
logging(:show, :sweep){
|
108
114
|
@engine.output_pool.sweep(query_group)
|
data/lib/norikra/server.rb
CHANGED
@@ -82,6 +82,7 @@ module Norikra
|
|
82
82
|
|
83
83
|
@stats_path = conf[:stats][:path]
|
84
84
|
@stats_suppress_dump = conf[:stats][:suppress]
|
85
|
+
@stats_dump_interval = conf[:stats][:interval]
|
85
86
|
@stats = if @stats_path && test(?r, @stats_path)
|
86
87
|
Norikra::Stats.load(@stats_path)
|
87
88
|
else
|
@@ -147,11 +148,42 @@ module Norikra
|
|
147
148
|
[:INT, :TERM].each do |s|
|
148
149
|
Signal.trap(s, shutdown_proc)
|
149
150
|
end
|
150
|
-
|
151
|
+
|
152
|
+
@dump_stats = false
|
153
|
+
@dump_next_time = if @stats_dump_interval
|
154
|
+
Time.now + @stats_dump_interval
|
155
|
+
else
|
156
|
+
nil
|
157
|
+
end
|
158
|
+
Signal.trap(:USR1, ->{ @dump_stats = true })
|
159
|
+
|
160
|
+
#TODO: SIGHUP?(dynamic plugin loading?) SIGUSR2?
|
151
161
|
|
152
162
|
while @running
|
153
163
|
sleep 0.3
|
164
|
+
|
165
|
+
if @stats && !@stats_suppress_dump
|
166
|
+
if @dump_stats || (@dump_next_time && Time.now > @dump_next_time)
|
167
|
+
dump_stats
|
168
|
+
@dump_stats = false
|
169
|
+
@dump_next_time = Time.now + @stats_dump_interval if @dump_next_time
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
def shutdown
|
176
|
+
info "Norikra server shutting down."
|
177
|
+
@webserver.stop
|
178
|
+
@rpcserver.stop
|
179
|
+
@engine.stop
|
180
|
+
info "Norikra server stopped."
|
181
|
+
|
182
|
+
if @stats_path && !@stats_suppress_dump
|
183
|
+
dump_stats
|
154
184
|
end
|
185
|
+
|
186
|
+
info "Norikra server shutdown complete."
|
155
187
|
end
|
156
188
|
|
157
189
|
def load_plugins
|
@@ -170,33 +202,23 @@ module Norikra
|
|
170
202
|
end
|
171
203
|
end
|
172
204
|
|
173
|
-
def
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
:auto_field => t.auto_field
|
191
|
-
}
|
192
|
-
},
|
193
|
-
queries: @engine.queries.map(&:dump)
|
194
|
-
)
|
195
|
-
stats.dump(@stats_path)
|
196
|
-
info "Current status saved", :path => @stats_path
|
197
|
-
end
|
198
|
-
|
199
|
-
info "Norikra server shutdown complete."
|
205
|
+
def dump_stats
|
206
|
+
stats = Norikra::Stats.new(
|
207
|
+
host: @host,
|
208
|
+
port: @port,
|
209
|
+
threads: @thread_conf,
|
210
|
+
log: @log_conf,
|
211
|
+
targets: @engine.targets.map{|t|
|
212
|
+
{
|
213
|
+
:name => t.name,
|
214
|
+
:fields => @engine.typedef_manager.dump_target(t.name),
|
215
|
+
:auto_field => t.auto_field
|
216
|
+
}
|
217
|
+
},
|
218
|
+
queries: @engine.queries.map(&:dump)
|
219
|
+
)
|
220
|
+
stats.dump(@stats_path)
|
221
|
+
info "Current status saved", :path => @stats_path
|
200
222
|
end
|
201
223
|
end
|
202
224
|
end
|
data/lib/norikra/target.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Norikra
|
2
2
|
class Target
|
3
|
-
attr_accessor :name, :fields, :auto_field
|
3
|
+
attr_accessor :name, :fields, :auto_field, :last_modified
|
4
4
|
|
5
5
|
def self.valid?(target_name)
|
6
6
|
target_name =~ /^[a-zA-Z]([_a-zA-Z0-9]*[a-zA-Z0-9])?$/
|
@@ -10,6 +10,7 @@ module Norikra
|
|
10
10
|
@name = name
|
11
11
|
@fields = fields
|
12
12
|
@auto_field = !!auto_field
|
13
|
+
@last_modified = nil
|
13
14
|
end
|
14
15
|
|
15
16
|
def <=>(other)
|
@@ -27,5 +28,9 @@ module Norikra
|
|
27
28
|
def auto_field?
|
28
29
|
@auto_field
|
29
30
|
end
|
31
|
+
|
32
|
+
def update!
|
33
|
+
@last_modified = Time.now
|
34
|
+
end
|
30
35
|
end
|
31
36
|
end
|
data/lib/norikra/version.rb
CHANGED
@@ -68,7 +68,14 @@ class Norikra::WebUI::Handler < Sinatra::Base
|
|
68
68
|
pooled_events = Hash[* queries.map{|q| [q.name, engine.output_pool.pool.fetch(q.name, []).size.to_s]}.flatten]
|
69
69
|
|
70
70
|
engine_targets = engine.targets.sort
|
71
|
-
targets = engine_targets.map{|t|
|
71
|
+
targets = engine_targets.map{|t|
|
72
|
+
{
|
73
|
+
name: t.name,
|
74
|
+
auto_field: t.auto_field,
|
75
|
+
fields: engine.typedef_manager.field_list(t.name),
|
76
|
+
modified: t.last_modified.to_s,
|
77
|
+
}
|
78
|
+
}
|
72
79
|
|
73
80
|
erb :index, :layout => :base, :locals => {
|
74
81
|
input_data: input_data,
|
data/norikra.gemspec
CHANGED
@@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency "mizuno", "~> 0.6"
|
23
23
|
spec.add_runtime_dependency "rack"
|
24
24
|
spec.add_runtime_dependency "thor"
|
25
|
-
spec.add_runtime_dependency "msgpack-rpc-over-http-jruby", ">= 0.0.
|
26
|
-
spec.add_runtime_dependency "norikra-client-jruby", "
|
25
|
+
spec.add_runtime_dependency "msgpack-rpc-over-http-jruby", ">= 0.0.6"
|
26
|
+
spec.add_runtime_dependency "norikra-client-jruby", ">= 0.1.4"
|
27
27
|
spec.add_runtime_dependency "sinatra"
|
28
28
|
spec.add_runtime_dependency "sinatra-contrib"
|
29
29
|
spec.add_runtime_dependency "erubis"
|
data/views/base.erb
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
<li <%= @page == "queries" ? 'class="active"' : '' %>><a href="#targets">Targets</a></li>
|
46
46
|
</ul>
|
47
47
|
<ul class="nav navbar-nav navbar-right">
|
48
|
-
<li><a href="https://github.com/
|
48
|
+
<li><a href="https://github.com/norikra/norikra">Webpage</a></li>
|
49
49
|
</ul>
|
50
50
|
</div><!--/.nav-collapse -->
|
51
51
|
</div>
|
data/views/index.erb
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
<% if queries.size > 0 %>
|
67
67
|
<table class="table">
|
68
68
|
<tr><th>Group</th><th>Query name</th><th>Targets</th><th>Query</th><th style="text-align:right;">Events</th><th></th><th></th></tr>
|
69
|
-
<% queries.
|
69
|
+
<% queries.each_with_index do |query, index| %>
|
70
70
|
<tr>
|
71
71
|
<td><%= query.group || "(default)" %></td>
|
72
72
|
<td><%= query.name %></td>
|
@@ -83,12 +83,12 @@
|
|
83
83
|
<% end %>
|
84
84
|
</td>
|
85
85
|
<td>
|
86
|
-
<a class="btn btn-danger btn-xs" data-toggle="modal" href="#removeQuery<%=
|
86
|
+
<a class="btn btn-danger btn-xs" data-toggle="modal" href="#removeQuery<%= index %>">
|
87
87
|
<span class="glyphicon glyphicon-trash"></span>
|
88
88
|
</a>
|
89
89
|
<div class="modal fade"
|
90
|
-
id="removeQuery<%=
|
91
|
-
tabindex="-1" role="dialog" aria-labelledby="removeQueryLabel<%=
|
90
|
+
id="removeQuery<%= index %>"
|
91
|
+
tabindex="-1" role="dialog" aria-labelledby="removeQueryLabel<%= index %>" aria-hidden="true">
|
92
92
|
<div class="modal-dialog">
|
93
93
|
<div class="modal-content">
|
94
94
|
<div class="modal-header">
|
@@ -151,7 +151,7 @@
|
|
151
151
|
|
152
152
|
<% if targets.size > 0 %>
|
153
153
|
<table class="table">
|
154
|
-
<tr><th>Target</th><th>Auto field</th><th>Fields</th><th></th></tr>
|
154
|
+
<tr><th>Target</th><th>Auto field</th><th>Fields</th><th></th><th>modified</th></tr>
|
155
155
|
<% targets.each do |target| %>
|
156
156
|
<tr>
|
157
157
|
<td><%= target[:name] %></td>
|
@@ -164,6 +164,7 @@
|
|
164
164
|
<% end %>
|
165
165
|
</td>
|
166
166
|
<td style="font-size: small; color: #c0c0c0;">TODO: change auto_fields, reserve fields, remove targets</td>
|
167
|
+
<td style="text-align: right;"><%= target[:modified] %></td>
|
167
168
|
</tr>
|
168
169
|
<% end %>
|
169
170
|
</table>
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: norikra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.1.3
|
4
|
+
version: 0.1.4
|
6
5
|
platform: java
|
7
6
|
authors:
|
8
7
|
- TAGOMORI Satoshi
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: mizuno
|
@@ -18,13 +17,11 @@ dependencies:
|
|
18
17
|
- - ~>
|
19
18
|
- !ruby/object:Gem::Version
|
20
19
|
version: '0.6'
|
21
|
-
none: false
|
22
20
|
requirement: !ruby/object:Gem::Requirement
|
23
21
|
requirements:
|
24
22
|
- - ~>
|
25
23
|
- !ruby/object:Gem::Version
|
26
24
|
version: '0.6'
|
27
|
-
none: false
|
28
25
|
prerelease: false
|
29
26
|
type: :runtime
|
30
27
|
- !ruby/object:Gem::Dependency
|
@@ -34,13 +31,11 @@ dependencies:
|
|
34
31
|
- - '>='
|
35
32
|
- !ruby/object:Gem::Version
|
36
33
|
version: '0'
|
37
|
-
none: false
|
38
34
|
requirement: !ruby/object:Gem::Requirement
|
39
35
|
requirements:
|
40
36
|
- - '>='
|
41
37
|
- !ruby/object:Gem::Version
|
42
38
|
version: '0'
|
43
|
-
none: false
|
44
39
|
prerelease: false
|
45
40
|
type: :runtime
|
46
41
|
- !ruby/object:Gem::Dependency
|
@@ -50,13 +45,11 @@ dependencies:
|
|
50
45
|
- - '>='
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
|
-
none: false
|
54
48
|
requirement: !ruby/object:Gem::Requirement
|
55
49
|
requirements:
|
56
50
|
- - '>='
|
57
51
|
- !ruby/object:Gem::Version
|
58
52
|
version: '0'
|
59
|
-
none: false
|
60
53
|
prerelease: false
|
61
54
|
type: :runtime
|
62
55
|
- !ruby/object:Gem::Dependency
|
@@ -65,30 +58,26 @@ dependencies:
|
|
65
58
|
requirements:
|
66
59
|
- - '>='
|
67
60
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.0.
|
69
|
-
none: false
|
61
|
+
version: 0.0.6
|
70
62
|
requirement: !ruby/object:Gem::Requirement
|
71
63
|
requirements:
|
72
64
|
- - '>='
|
73
65
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.0.
|
75
|
-
none: false
|
66
|
+
version: 0.0.6
|
76
67
|
prerelease: false
|
77
68
|
type: :runtime
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: norikra-client-jruby
|
80
71
|
version_requirements: !ruby/object:Gem::Requirement
|
81
72
|
requirements:
|
82
|
-
- -
|
73
|
+
- - '>='
|
83
74
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.1.
|
85
|
-
none: false
|
75
|
+
version: 0.1.4
|
86
76
|
requirement: !ruby/object:Gem::Requirement
|
87
77
|
requirements:
|
88
|
-
- -
|
78
|
+
- - '>='
|
89
79
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.1.
|
91
|
-
none: false
|
80
|
+
version: 0.1.4
|
92
81
|
prerelease: false
|
93
82
|
type: :runtime
|
94
83
|
- !ruby/object:Gem::Dependency
|
@@ -98,13 +87,11 @@ dependencies:
|
|
98
87
|
- - '>='
|
99
88
|
- !ruby/object:Gem::Version
|
100
89
|
version: '0'
|
101
|
-
none: false
|
102
90
|
requirement: !ruby/object:Gem::Requirement
|
103
91
|
requirements:
|
104
92
|
- - '>='
|
105
93
|
- !ruby/object:Gem::Version
|
106
94
|
version: '0'
|
107
|
-
none: false
|
108
95
|
prerelease: false
|
109
96
|
type: :runtime
|
110
97
|
- !ruby/object:Gem::Dependency
|
@@ -114,13 +101,11 @@ dependencies:
|
|
114
101
|
- - '>='
|
115
102
|
- !ruby/object:Gem::Version
|
116
103
|
version: '0'
|
117
|
-
none: false
|
118
104
|
requirement: !ruby/object:Gem::Requirement
|
119
105
|
requirements:
|
120
106
|
- - '>='
|
121
107
|
- !ruby/object:Gem::Version
|
122
108
|
version: '0'
|
123
|
-
none: false
|
124
109
|
prerelease: false
|
125
110
|
type: :runtime
|
126
111
|
- !ruby/object:Gem::Dependency
|
@@ -130,13 +115,11 @@ dependencies:
|
|
130
115
|
- - '>='
|
131
116
|
- !ruby/object:Gem::Version
|
132
117
|
version: '0'
|
133
|
-
none: false
|
134
118
|
requirement: !ruby/object:Gem::Requirement
|
135
119
|
requirements:
|
136
120
|
- - '>='
|
137
121
|
- !ruby/object:Gem::Version
|
138
122
|
version: '0'
|
139
|
-
none: false
|
140
123
|
prerelease: false
|
141
124
|
type: :runtime
|
142
125
|
- !ruby/object:Gem::Dependency
|
@@ -146,13 +129,11 @@ dependencies:
|
|
146
129
|
- - ~>
|
147
130
|
- !ruby/object:Gem::Version
|
148
131
|
version: '1.3'
|
149
|
-
none: false
|
150
132
|
requirement: !ruby/object:Gem::Requirement
|
151
133
|
requirements:
|
152
134
|
- - ~>
|
153
135
|
- !ruby/object:Gem::Version
|
154
136
|
version: '1.3'
|
155
|
-
none: false
|
156
137
|
prerelease: false
|
157
138
|
type: :development
|
158
139
|
- !ruby/object:Gem::Dependency
|
@@ -162,13 +143,11 @@ dependencies:
|
|
162
143
|
- - '>='
|
163
144
|
- !ruby/object:Gem::Version
|
164
145
|
version: '0'
|
165
|
-
none: false
|
166
146
|
requirement: !ruby/object:Gem::Requirement
|
167
147
|
requirements:
|
168
148
|
- - '>='
|
169
149
|
- !ruby/object:Gem::Version
|
170
150
|
version: '0'
|
171
|
-
none: false
|
172
151
|
prerelease: false
|
173
152
|
type: :development
|
174
153
|
- !ruby/object:Gem::Dependency
|
@@ -178,13 +157,11 @@ dependencies:
|
|
178
157
|
- - ~>
|
179
158
|
- !ruby/object:Gem::Version
|
180
159
|
version: '2.0'
|
181
|
-
none: false
|
182
160
|
requirement: !ruby/object:Gem::Requirement
|
183
161
|
requirements:
|
184
162
|
- - ~>
|
185
163
|
- !ruby/object:Gem::Version
|
186
164
|
version: '2.0'
|
187
|
-
none: false
|
188
165
|
prerelease: false
|
189
166
|
type: :development
|
190
167
|
- !ruby/object:Gem::Dependency
|
@@ -194,13 +171,11 @@ dependencies:
|
|
194
171
|
- - '>='
|
195
172
|
- !ruby/object:Gem::Version
|
196
173
|
version: '0'
|
197
|
-
none: false
|
198
174
|
requirement: !ruby/object:Gem::Requirement
|
199
175
|
requirements:
|
200
176
|
- - '>='
|
201
177
|
- !ruby/object:Gem::Version
|
202
178
|
version: '0'
|
203
|
-
none: false
|
204
179
|
prerelease: false
|
205
180
|
type: :development
|
206
181
|
- !ruby/object:Gem::Dependency
|
@@ -210,13 +185,11 @@ dependencies:
|
|
210
185
|
- - '>='
|
211
186
|
- !ruby/object:Gem::Version
|
212
187
|
version: '0'
|
213
|
-
none: false
|
214
188
|
requirement: !ruby/object:Gem::Requirement
|
215
189
|
requirements:
|
216
190
|
- - '>='
|
217
191
|
- !ruby/object:Gem::Version
|
218
192
|
version: '0'
|
219
|
-
none: false
|
220
193
|
prerelease: false
|
221
194
|
type: :development
|
222
195
|
description: 'CEP: Complex Event Processor with Esper EPL qeury language, messagepack
|
@@ -361,6 +334,7 @@ files:
|
|
361
334
|
homepage: http://norikra.github.io/
|
362
335
|
licenses:
|
363
336
|
- GPLv2
|
337
|
+
metadata: {}
|
364
338
|
post_install_message:
|
365
339
|
rdoc_options: []
|
366
340
|
require_paths:
|
@@ -370,25 +344,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
370
344
|
requirements:
|
371
345
|
- - '>='
|
372
346
|
- !ruby/object:Gem::Version
|
373
|
-
segments:
|
374
|
-
- 0
|
375
|
-
hash: 2
|
376
347
|
version: '0'
|
377
|
-
none: false
|
378
348
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
379
349
|
requirements:
|
380
350
|
- - '>='
|
381
351
|
- !ruby/object:Gem::Version
|
382
|
-
segments:
|
383
|
-
- 0
|
384
|
-
hash: 2
|
385
352
|
version: '0'
|
386
|
-
none: false
|
387
353
|
requirements: []
|
388
354
|
rubyforge_project:
|
389
|
-
rubygems_version: 1.
|
355
|
+
rubygems_version: 2.1.9
|
390
356
|
signing_key:
|
391
|
-
specification_version:
|
357
|
+
specification_version: 4
|
392
358
|
summary: CEP engine/server with Esper and JRuby
|
393
359
|
test_files:
|
394
360
|
- spec/field_spec.rb
|