fluent-plugin-norikra 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8ad302afdc9dbfe8520b8d4efafc200e61014e66
4
- data.tar.gz: ef1c67429f4912690dd8351589f50123cf93f227
3
+ metadata.gz: 15fd701a1f7292330d4194352d96518347ec9ae9
4
+ data.tar.gz: c2933984c912bdbdd3a07623a1e1a74fe2204839
5
5
  SHA512:
6
- metadata.gz: b6efb974e0587929e664ec773bda14b814729c13e9f08d627d466c7c876725ab269d4bb1f029ea07771f858e110df6b19c571793f3c9e3d01df1d4c1bd074071
7
- data.tar.gz: 02a0122e9401292e6428a7c37db35cbbb2f8010f9effc8d4551cdc9ecf39c11b5d8ba6e6f258902b78b6b361b35a9cbd4f2bfec5be16b8ffaf5d07b9b0785f1e
6
+ metadata.gz: e159da05aaa724db968679bfcd55ffe32f98c91cd65105de506838e643fce5c42a6ea5979f06afd4b35ed9128b48db898ca1173ca5db55b31eefb1f3877fae76
7
+ data.tar.gz: 4505078afa2c522412f74d0b401a89a8f856c6ae318c43aadd15f0895b1e280b3d84d1c1db23c1e585c5d0d9c8d829a9bc25eaa8235d88a10cab2bf78b577a62
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
data/README.md CHANGED
@@ -92,7 +92,7 @@ If you know some field's types of records, you can define types of these fields.
92
92
  </default>
93
93
  </match>
94
94
 
95
- Additional field definitions and query registrations should be written in `<target TARGET_NAME>` sections.
95
+ Additional field definitions and query registrations should be written in `<target TARGET_NAME>` sections. In each sections (or also in 'default'), you can specify `auto_field false` to suppress field number which increasing infinitely.
96
96
 
97
97
  <default>
98
98
  ... # for all of access logs
@@ -107,10 +107,13 @@ Additional field definitions and query registrations should be written in `<targ
107
107
  </query>
108
108
  </target>
109
109
  <target other_action>
110
+ auto_field false
110
111
  ...
111
112
  </target>
112
113
  # ...
113
114
 
115
+ Fields which are referred in queries are automatically registered on norikra server in spite of `auto_field false`.
116
+
114
117
  ### Input event data filtering
115
118
 
116
119
  If you want send known fields only, specify `exclude *` and `include` or `include_regexp` like this:
@@ -171,6 +174,8 @@ NOTE: 'sweep' get all events from Norikra, and other clients cannot get these ev
171
174
  * TODO: write this section
172
175
  * `fetch_interval`
173
176
  * error logs for new target, success logs of retry
177
+ * input/output plugin
178
+ * output plugin with active-standby servers
174
179
 
175
180
  # TODO
176
181
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "fluent-plugin-norikra"
5
- spec.version = "0.0.6"
5
+ spec.version = "0.0.7"
6
6
  spec.authors = ["TAGOMORI Satoshi"]
7
7
  spec.email = ["tagomoris@gmail.com"]
8
8
  spec.description = %q{process events on fluentd with SQL like query, with built-in Norikra server if needed.}
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
16
  spec.require_paths = ["lib"]
17
17
 
18
- spec.add_runtime_dependency "norikra-client", ">= 0.0.2"
18
+ spec.add_runtime_dependency "norikra-client", ">= 0.0.7"
19
19
  spec.add_runtime_dependency "fluentd"
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
@@ -130,7 +130,7 @@ class Fluent::NorikraOutput
130
130
  end
131
131
 
132
132
  class ConfigSection
133
- attr_accessor :target, :target_matcher, :filter_params, :field_definitions, :query_generators
133
+ attr_accessor :target, :target_matcher, :auto_field, :filter_params, :field_definitions, :query_generators
134
134
 
135
135
  def initialize(section)
136
136
  @target = nil
@@ -144,6 +144,9 @@ class Fluent::NorikraOutput
144
144
  else
145
145
  raise ArgumentError, "invalid section for this class, #{section.name}: ConfigSection"
146
146
  end
147
+
148
+ @auto_field = section['auto_field']
149
+
147
150
  @filter_params = {
148
151
  :include => section['include'],
149
152
  :include_regexp => section['include_regexp'],
@@ -175,6 +178,8 @@ class Fluent::NorikraOutput
175
178
  other = self.class.new(Fluent::Config::Element.new('target', 'dummy', {}, []))
176
179
  end
177
180
  r = self.class.new(Fluent::Config::Element.new('target', (other.target ? other.target : self.target), {}, []))
181
+ r.auto_field = (other.auto_field.nil? ? self.auto_field : other.auto_field)
182
+
178
183
  others_filter = {}
179
184
  other.filter_params.keys.each do |k|
180
185
  others_filter[k] = other.filter_params[k] if other.filter_params[k]
@@ -194,7 +199,7 @@ class Fluent::NorikraOutput
194
199
  end
195
200
 
196
201
  class Target
197
- attr_accessor :name, :fields, :queries
202
+ attr_accessor :name, :auto_field, :fields, :queries
198
203
  attr_reader :escaped_name
199
204
 
200
205
  def self.escape(src)
@@ -217,6 +222,7 @@ class Fluent::NorikraOutput
217
222
  def initialize(target, config)
218
223
  @name = target
219
224
  @escaped_name = self.class.escape(@name)
225
+ @auto_field = config.auto_field.nil? ? true : config.auto_field
220
226
 
221
227
  @filter = RecordFilter.new(*([:include, :include_regexp, :exclude, :exclude_regexp].map{|s| config.filter_params[s]}))
222
228
  @fields = config.field_definitions
@@ -177,14 +177,13 @@ module Fluent
177
177
  $log.info "starting Norikra server process #{@host}:#{@port}"
178
178
  base_options = [@execute_server_path, 'start', '-H', @host, '-P', @port.to_s]
179
179
  cmd,options = if @execute_jruby_path
180
- args = [@execute_server_path, 'start', '-H', @host, '-P', @port.to_s]
181
- if @execute_server_opts
182
- args.unshift(*@execute_server_opts.split(/ +/).map{|opt| '-J' + opt})
183
- end
184
- [@execute_jruby_path, args]
180
+ [@execute_jruby_path, [@execute_server_path, 'start', '-H', @host, '-P', @port.to_s]]
185
181
  else
186
182
  [@execute_server_path, ['start', '-H', @host, '-P', @port.to_s]]
187
183
  end
184
+ if @execute_server_opts
185
+ options += @execute_server_opts.split(/ +/)
186
+ end
188
187
  @norikra_pid = fork do
189
188
  ENV.keys.select{|k| k =~ /^(RUBY|GEM|BUNDLE|RBENV|RVM|rvm)/}.each {|k| ENV.delete(k)}
190
189
  exec([cmd, 'norikra(fluentd)'], *options)
@@ -324,7 +323,7 @@ module Fluent
324
323
  begin
325
324
  unless client.targets.include?(target.escaped_name)
326
325
  $log.debug "opening target #{target.escaped_name}"
327
- client.open(target.escaped_name, target.reserve_fields)
326
+ client.open(target.escaped_name, target.reserve_fields, target.auto_field)
328
327
  $log.debug "opening target #{target.escaped_name}, done."
329
328
  end
330
329
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-norikra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAGOMORI Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-29 00:00:00.000000000 Z
11
+ date: 2013-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: norikra-client
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.2
19
+ version: 0.0.7
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.2
26
+ version: 0.0.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: fluentd
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +75,7 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - .gitignore
78
+ - .travis.yml
78
79
  - Gemfile
79
80
  - LICENSE.txt
80
81
  - README.md