fluent-plugin-norikra 0.0.5 → 0.0.6
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 +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
|