fluent-plugin-norikra 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fluent-plugin-norikra.gemspec +1 -1
- data/lib/fluent/plugin/out_norikra.rb +23 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ad302afdc9dbfe8520b8d4efafc200e61014e66
|
4
|
+
data.tar.gz: ef1c67429f4912690dd8351589f50123cf93f227
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6efb974e0587929e664ec773bda14b814729c13e9f08d627d466c7c876725ab269d4bb1f029ea07771f858e110df6b19c571793f3c9e3d01df1d4c1bd074071
|
7
|
+
data.tar.gz: 02a0122e9401292e6428a7c37db35cbbb2f8010f9effc8d4551cdc9ecf39c11b5d8ba6e6f258902b78b6b361b35a9cbd4f2bfec5be16b8ffaf5d07b9b0785f1e
|
@@ -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.
|
5
|
+
spec.version = "0.0.6"
|
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.}
|
@@ -111,6 +111,7 @@ module Fluent
|
|
111
111
|
end
|
112
112
|
|
113
113
|
@mutex = Mutex.new
|
114
|
+
@target_mutex = Mutex.new
|
114
115
|
end
|
115
116
|
|
116
117
|
def client(opts={})
|
@@ -138,6 +139,7 @@ module Fluent
|
|
138
139
|
|
139
140
|
# register worker thread
|
140
141
|
@register_queue = []
|
142
|
+
@registered_targets = {}
|
141
143
|
@register_thread = Thread.new(&method(:register_worker))
|
142
144
|
|
143
145
|
# fetch worker thread
|
@@ -228,6 +230,7 @@ module Fluent
|
|
228
230
|
insert_fetch_queue(FetchRequest.new(query)) unless query.tag.empty? || @event_method
|
229
231
|
end
|
230
232
|
@target_map[t.name] = t
|
233
|
+
@registered_targets.delete(t.name)
|
231
234
|
else
|
232
235
|
$log.error "Failed to prepare norikra data for target:#{t.name}"
|
233
236
|
@norikra_started.push(t)
|
@@ -262,25 +265,32 @@ module Fluent
|
|
262
265
|
es.each do |time,record|
|
263
266
|
target = @target_generator.call(tag, record)
|
264
267
|
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
268
|
+
tgt = @target_mutex.synchronize do
|
269
|
+
t = @target_map[target]
|
270
|
+
unless t
|
271
|
+
unless tobe_registered_target_names.include?(target)
|
272
|
+
conf = @config_targets[target]
|
273
|
+
unless conf
|
274
|
+
@config_targets.values.each do |c|
|
275
|
+
if c.target_matcher.match(target)
|
276
|
+
conf = c
|
277
|
+
break
|
278
|
+
end
|
279
|
+
end
|
273
280
|
end
|
281
|
+
t = Target.new(target, @default_target + conf)
|
282
|
+
@registered_targets[target] = t
|
283
|
+
@register_queue.push(t)
|
284
|
+
tobe_registered_target_names.push(target)
|
274
285
|
end
|
286
|
+
t = @registered_targets[target]
|
275
287
|
end
|
276
|
-
t
|
277
|
-
@register_queue.push(t)
|
278
|
-
tobe_registered_target_names.push(target)
|
288
|
+
t
|
279
289
|
end
|
280
290
|
|
281
|
-
event =
|
291
|
+
event = tgt.filter(record)
|
282
292
|
|
283
|
-
out << [
|
293
|
+
out << [tgt.escaped_name,event].to_msgpack
|
284
294
|
end
|
285
295
|
|
286
296
|
out
|