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.
@@ -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
@@ -1 +1 @@
1
- jruby-1.7.4
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
- ### Command line options
27
+ ### Install and launch
28
28
 
29
- To start norikra server in foreground:
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 `Norikra::Client` and `norikra-client` cli command. These are available on both of JRuby and CRuby.
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
- For example, think about event streams related with one web service (ex: 'www'). At first, define `target` with mandantory fields (in other words, minimal fields set for variations of 'www' events).
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:
@@ -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
@@ -230,6 +230,7 @@ module Norikra
230
230
  trace "sendEvent", :data => formed
231
231
  @runtime.sendEvent(formed.to_java, fieldset.event_type_name)
232
232
  end
233
+ target.update!
233
234
  @statistics[:events][:processed] += events.size
234
235
  nil
235
236
  end
@@ -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)
@@ -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
- #TODO: SIGHUP? SIGUSR1? SIGUSR2? (dumps of query/fields? or other handler?)
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 shutdown
174
- info "Norikra server shutting down."
175
- @webserver.stop
176
- @rpcserver.stop
177
- @engine.stop
178
- info "Norikra server stopped."
179
-
180
- if @stats_path && !@stats_suppress_dump
181
- stats = Norikra::Stats.new(
182
- host: @host,
183
- port: @port,
184
- threads: @thread_conf,
185
- log: @log_conf,
186
- targets: @engine.targets.map{|t|
187
- {
188
- :name => t.name,
189
- :fields => @engine.typedef_manager.dump_target(t.name),
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Norikra
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -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| {name: t.name, auto_field: t.auto_field, fields: engine.typedef_manager.field_list(t.name) }}
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,
@@ -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.5"
26
- spec.add_runtime_dependency "norikra-client-jruby", "~> 0.1.0"
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"
@@ -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/tagomoris/norikra">Webpage</a></li>
48
+ <li><a href="https://github.com/norikra/norikra">Webpage</a></li>
49
49
  </ul>
50
50
  </div><!--/.nav-collapse -->
51
51
  </div>
@@ -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.each do |query| %>
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<%= query.name %>">
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<%= query.name %>"
91
- tabindex="-1" role="dialog" aria-labelledby="removeQueryLabel<%= query.name %>" aria-hidden="true">
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
- prerelease:
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: 2013-12-31 00:00:00.000000000 Z
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.5
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.5
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.0
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.0
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.8.24
355
+ rubygems_version: 2.1.9
390
356
  signing_key:
391
- specification_version: 3
357
+ specification_version: 4
392
358
  summary: CEP engine/server with Esper and JRuby
393
359
  test_files:
394
360
  - spec/field_spec.rb