fluent-plugin-unit-time-filter 0.1.2 → 0.1.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f1bd07a1afac7e72f3568f45e2de855ad7327ba
|
4
|
+
data.tar.gz: 6e84001ccb9b650ec8d826ba8dcd6840d88d02fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09ae3f0a588e3e71059097efe7e3c98b39ffdcf78743c4acaa5bd9089f264295948332f0773cc664dd3803b80d2c8d0036ae36baf562f2f65c827b18aeece6c2
|
7
|
+
data.tar.gz: f7c99021e342a03d7d412b9069e3cd4b353ed65d41ef64d583c0312aa3cc77019dd86d4f8f0c9d485b217f02a7ba6639e12eb55fb5b998891b1544a34c2165b2
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
Gem::Specification.new do |spec|
|
3
3
|
spec.name = "fluent-plugin-unit-time-filter"
|
4
|
-
spec.version = "0.1.
|
4
|
+
spec.version = "0.1.3"
|
5
5
|
spec.authors = ["Genki Sugawara"]
|
6
6
|
spec.email = ["sgwr_dts@yahoo.co.jp"]
|
7
7
|
spec.description = %q{Plug-in to aggregate by unit time}
|
@@ -30,8 +30,8 @@ class Fluent::UnitTimeFilterOutput < Fluent::Output
|
|
30
30
|
raise Fluent::ConfigError, "Invalid filter: #{@filter_path}: #{e}"
|
31
31
|
end
|
32
32
|
|
33
|
-
unless @filter.
|
34
|
-
raise Fluent::ConfigError, "
|
33
|
+
unless @filter.respond_to?(:call)
|
34
|
+
raise Fluent::ConfigError, "`call` method not implemented in filter: #{@filter_path}: Filter must be Proc"
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -3,18 +3,19 @@ class Fluent::UnitTimeFilterOutput < Fluent::Output
|
|
3
3
|
include Enumerable
|
4
4
|
|
5
5
|
def initialize(options)
|
6
|
-
@init_queue = []
|
7
6
|
@log = options[:log]
|
8
7
|
|
9
|
-
@fiber = Fiber.new do
|
10
|
-
@init_queue << [tag, es]
|
8
|
+
@fiber = Fiber.new do
|
11
9
|
run(options)
|
12
10
|
end
|
11
|
+
|
12
|
+
# Step to `yield`
|
13
|
+
@fiber.resume
|
13
14
|
end
|
14
15
|
|
15
16
|
def each
|
16
17
|
loop do
|
17
|
-
tag, es =
|
18
|
+
tag, es = Fiber.yield
|
18
19
|
break unless (tag && es)
|
19
20
|
|
20
21
|
es.each do |time, record|
|
@@ -362,4 +362,37 @@ describe Fluent::UnitTimeFilterOutput do
|
|
362
362
|
end
|
363
363
|
end
|
364
364
|
end
|
365
|
+
|
366
|
+
describe 'when the non-Proc filter passed' do
|
367
|
+
it 'should be filtered' do
|
368
|
+
filter = <<-EOS
|
369
|
+
class Filter
|
370
|
+
def call(records)
|
371
|
+
@total_count ||= 0
|
372
|
+
@total_count += records.count
|
373
|
+
{'total_count' => @total_count}
|
374
|
+
end
|
375
|
+
end
|
376
|
+
Filter.new
|
377
|
+
EOS
|
378
|
+
|
379
|
+
run_driver(:filter => filter) do |d|
|
380
|
+
(0...10).each do |i|
|
381
|
+
d.emit({"key#{i}" => "val#{i}"}, time + i)
|
382
|
+
d.emit({"key#{i}_" => "val#{i}_"}, time + i)
|
383
|
+
end
|
384
|
+
|
385
|
+
expect(d.emits).to eq(
|
386
|
+
[["filtered.test.default", 1391832855, {"total_count"=>2}],
|
387
|
+
["filtered.test.default", 1391832856, {"total_count"=>4}],
|
388
|
+
["filtered.test.default", 1391832857, {"total_count"=>6}],
|
389
|
+
["filtered.test.default", 1391832858, {"total_count"=>8}],
|
390
|
+
["filtered.test.default", 1391832859, {"total_count"=>10}],
|
391
|
+
["filtered.test.default", 1391832860, {"total_count"=>12}],
|
392
|
+
["filtered.test.default", 1391832861, {"total_count"=>14}],
|
393
|
+
["filtered.test.default", 1391832862, {"total_count"=>16}]]
|
394
|
+
)
|
395
|
+
end
|
396
|
+
end
|
397
|
+
end
|
365
398
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-unit-time-filter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|