norikra 0.1.3-java → 0.1.4-java
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 +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
|