fluent-plugin-unit-time-filter 0.1.0 → 0.1.1
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: 180c6e4465e1da97a1646bf9d82b9df431d363cf
|
4
|
+
data.tar.gz: 74a04b0c568bef90caff5691948abee16ed147cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b512af5d84a5593ec90d250e3eb1d4e89a8937a9b909f59bd71e831419c2e2c0454bd32924016a28e6afbf7cb9e986d48576968423ab3e8f3a183802dd8e17da
|
7
|
+
data.tar.gz: 6de88e2b63dade6980d063724ad88de35e4700b70d773709febde8fc32db77d5d5df34ea3997e8867bf54974d22d779520f1569faa8bb15643d43e1224933271
|
@@ -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.1"
|
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}
|
@@ -21,7 +21,7 @@ class Fluent::UnitTimeFilterOutput < Fluent::Output
|
|
21
21
|
end
|
22
22
|
|
23
23
|
begin
|
24
|
-
@filter = Object.new.instance_eval(File.read(@filter_path))
|
24
|
+
@filter = Object.new.instance_eval(File.read(@filter_path), @filter_path)
|
25
25
|
rescue => e
|
26
26
|
raise Fluent::ConfigError, "Invalid filter: #{@filter_path}: #{e}"
|
27
27
|
end
|
@@ -36,7 +36,7 @@ class Fluent::UnitTimeFilterOutput < Fluent::Output
|
|
36
36
|
Thread.current[BUFFER_KEY] = nil
|
37
37
|
end
|
38
38
|
|
39
|
-
def
|
39
|
+
def use_buffer
|
40
40
|
buf = Thread.current[BUFFER_KEY]
|
41
41
|
|
42
42
|
unless buf
|
@@ -53,11 +53,19 @@ class Fluent::UnitTimeFilterOutput < Fluent::Output
|
|
53
53
|
Thread.current[BUFFER_KEY] = buf
|
54
54
|
end
|
55
55
|
|
56
|
-
|
56
|
+
begin
|
57
|
+
yield(buf)
|
58
|
+
rescue Exception => e
|
59
|
+
Thread.current[BUFFER_KEY] = nil
|
60
|
+
raise e
|
61
|
+
end
|
57
62
|
end
|
58
63
|
|
59
64
|
def emit(tag, es, chain)
|
60
|
-
buffer
|
65
|
+
use_buffer do |buffer|
|
66
|
+
buffer.resume(tag, es)
|
67
|
+
end
|
68
|
+
|
61
69
|
chain.next
|
62
70
|
end
|
63
71
|
end
|
@@ -233,4 +233,26 @@ describe Fluent::UnitTimeFilterOutput do
|
|
233
233
|
end
|
234
234
|
end
|
235
235
|
end
|
236
|
+
|
237
|
+
describe 'when an error happened' do
|
238
|
+
it 'filter name should be to be included in the error' do
|
239
|
+
filter = <<-EOS
|
240
|
+
proc {|rs|
|
241
|
+
raise 'Any error message'
|
242
|
+
}
|
243
|
+
EOS
|
244
|
+
|
245
|
+
run_driver(:filter => filter, :tempfile => 'any_filter.rb') do |d|
|
246
|
+
begin
|
247
|
+
(0...10).each do |i|
|
248
|
+
d.emit({"key#{i}" => "val#{i}"}, time + i)
|
249
|
+
d.emit({"key#{i}_" => "val#{i}_"}, time + i)
|
250
|
+
end
|
251
|
+
rescue => e
|
252
|
+
expect(e.message).to eq('Any error message')
|
253
|
+
expect(File.basename(e.backtrace.first)).to be =~ /\Aany_filter\.rb/
|
254
|
+
end
|
255
|
+
end
|
256
|
+
end
|
257
|
+
end
|
236
258
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,14 +3,19 @@ require 'fluent/plugin/out_unit_time_filter'
|
|
3
3
|
require 'tempfile'
|
4
4
|
require 'time'
|
5
5
|
|
6
|
+
# Disable Test::Unit
|
7
|
+
module Test::Unit::RunCount; def run(*); end; end
|
8
|
+
|
6
9
|
RSpec.configure do |config|
|
7
10
|
config.before(:all) do
|
8
11
|
Fluent::Test.setup
|
9
12
|
end
|
10
13
|
end
|
11
14
|
|
12
|
-
def tempfile(content)
|
13
|
-
|
15
|
+
def tempfile(content, basename = nil)
|
16
|
+
basename ||= "#{File.basename __FILE__}.#{$$}"
|
17
|
+
|
18
|
+
Tempfile.open(basename) do |f|
|
14
19
|
f << content
|
15
20
|
f.flush
|
16
21
|
f.rewind
|
@@ -47,7 +52,7 @@ proc {|rs|
|
|
47
52
|
|
48
53
|
tag = options[:tag] || 'test.default'
|
49
54
|
|
50
|
-
tempfile(filter) do |f|
|
55
|
+
tempfile(filter, options[:tempfile]) do |f|
|
51
56
|
fluentd_conf = <<-EOS
|
52
57
|
type unit_time_filter
|
53
58
|
filter_path #{f.path}
|