fluentd 0.14.3 → 0.14.4
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.
Potentially problematic release.
This version of fluentd might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ChangeLog +59 -1131
- data/Rakefile +15 -0
- data/appveyor.yml +2 -2
- data/example/multi_filters.conf +61 -0
- data/fluentd.gemspec +19 -16
- data/lib/fluent/agent.rb +3 -0
- data/lib/fluent/command/debug.rb +4 -4
- data/lib/fluent/compat/handle_tag_and_time_mixin.rb +2 -0
- data/lib/fluent/compat/output.rb +5 -2
- data/lib/fluent/config/configure_proxy.rb +26 -5
- data/lib/fluent/config/error.rb +3 -0
- data/lib/fluent/config/section.rb +15 -0
- data/lib/fluent/event_router.rb +77 -4
- data/lib/fluent/plugin/base.rb +12 -3
- data/lib/fluent/plugin/filter.rb +48 -6
- data/lib/fluent/plugin/filter_record_transformer.rb +3 -1
- data/lib/fluent/plugin/filter_stdout.rb +0 -4
- data/lib/fluent/plugin/in_debug_agent.rb +5 -5
- data/lib/fluent/plugin/in_dummy.rb +9 -1
- data/lib/fluent/plugin/in_forward.rb +32 -14
- data/lib/fluent/plugin/in_monitor_agent.rb +31 -77
- data/lib/fluent/plugin/in_tail.rb +37 -9
- data/lib/fluent/plugin/out_forward.rb +2 -13
- data/lib/fluent/plugin/output.rb +16 -1
- data/lib/fluent/plugin/storage_local.rb +16 -0
- data/lib/fluent/plugin_helper/timer.rb +6 -1
- data/lib/fluent/root_agent.rb +3 -0
- data/lib/fluent/supervisor.rb +62 -9
- data/lib/fluent/test/base.rb +3 -0
- data/lib/fluent/test/driver/base.rb +5 -0
- data/lib/fluent/test/formatter_test.rb +2 -0
- data/lib/fluent/test/parser_test.rb +2 -0
- data/lib/fluent/version.rb +1 -1
- data/lib/fluent/winsvc.rb +1 -2
- data/test/compat/test_calls_super.rb +2 -0
- data/test/config/test_configurable.rb +88 -0
- data/test/config/test_types.rb +7 -3
- data/test/plugin/test_filter.rb +121 -23
- data/test/plugin/test_filter_record_transformer.rb +22 -6
- data/test/plugin/test_in_debug_agent.rb +2 -2
- data/test/plugin/test_in_forward.rb +54 -6
- data/test/plugin/test_in_monitor_agent.rb +329 -0
- data/test/plugin/test_in_tail.rb +73 -0
- data/test/plugin/test_out_forward.rb +1 -0
- data/test/plugin/test_output.rb +53 -0
- data/test/plugin/test_output_as_buffered.rb +13 -0
- data/test/plugin/test_output_as_buffered_overflow.rb +3 -0
- data/test/plugin/test_output_as_buffered_retries.rb +11 -0
- data/test/plugin/test_output_as_buffered_secondary.rb +12 -0
- data/test/plugin/test_output_as_standard.rb +12 -0
- data/test/plugin_helper/test_compat_parameters.rb +2 -0
- data/test/plugin_helper/test_timer.rb +31 -0
- data/test/test_event_router.rb +87 -0
- data/test/test_filter.rb +48 -6
- data/test/test_log.rb +5 -2
- data/test/test_output.rb +41 -1
- data/test/test_plugin_classes.rb +17 -9
- data/test/test_root_agent.rb +146 -0
- metadata +51 -67
data/test/test_filter.rb
CHANGED
@@ -23,17 +23,57 @@ class FilterTest < Test::Unit::TestCase
|
|
23
23
|
end
|
24
24
|
|
25
25
|
sub_test_case 'configure' do
|
26
|
-
test 'check
|
27
|
-
|
26
|
+
test 'check to implement `filter` method' do
|
27
|
+
klass = Class.new(Fluent::Filter) do |c|
|
28
|
+
def filter(tag, time, record); end
|
29
|
+
end
|
30
|
+
|
31
|
+
assert_nothing_raised do
|
32
|
+
klass.new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
test 'check to implement `filter_with_time` method' do
|
37
|
+
klass = Class.new(Fluent::Filter) do |c|
|
38
|
+
def filter_with_time(tag, time, record); end
|
39
|
+
end
|
40
|
+
|
41
|
+
assert_nothing_raised do
|
42
|
+
klass.new
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
test 'DO NOT check when implement `filter_stream`' do
|
47
|
+
klass = Class.new(Fluent::Filter) do |c|
|
48
|
+
def filter_stream(tag, es); end
|
49
|
+
end
|
50
|
+
|
51
|
+
assert_nothing_raised do
|
52
|
+
klass.new
|
53
|
+
end
|
28
54
|
end
|
29
|
-
end
|
30
55
|
|
31
|
-
sub_test_case 'filter' do
|
32
56
|
test 'NotImplementedError' do
|
33
|
-
|
34
|
-
|
57
|
+
klass = Class.new(Fluent::Filter)
|
58
|
+
|
59
|
+
assert_raise NotImplementedError do
|
60
|
+
klass.new
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
test 'duplicated method implementation' do
|
65
|
+
klass = Class.new(Fluent::Filter) do |c|
|
66
|
+
def filter(tag, time, record); end
|
67
|
+
def filter_with_time(tag, time, record); end
|
68
|
+
end
|
69
|
+
|
70
|
+
assert_raise do
|
71
|
+
klass.new
|
72
|
+
end
|
35
73
|
end
|
74
|
+
end
|
36
75
|
|
76
|
+
sub_test_case 'filter' do
|
37
77
|
test 'null filter' do
|
38
78
|
null_filter = Class.new(Fluent::Filter) do |c|
|
39
79
|
def filter(tag, time, record)
|
@@ -61,6 +101,7 @@ class FilterTest < Test::Unit::TestCase
|
|
61
101
|
def filter_stream(tag, es)
|
62
102
|
MultiEventStream.new
|
63
103
|
end
|
104
|
+
def filter(tag, time, record); record; end
|
64
105
|
end
|
65
106
|
es = emit(null_filter, ['foo'])
|
66
107
|
assert_equal(0, es.instance_variable_get(:@record_array).size)
|
@@ -71,6 +112,7 @@ class FilterTest < Test::Unit::TestCase
|
|
71
112
|
def filter_stream(tag, es)
|
72
113
|
es
|
73
114
|
end
|
115
|
+
def filter(tag, time, record); record; end
|
74
116
|
end
|
75
117
|
es = emit(pass_filter, ['foo'])
|
76
118
|
assert_equal(1, es.instance_variable_get(:@record_array).size)
|
data/test/test_log.rb
CHANGED
@@ -1,17 +1,19 @@
|
|
1
1
|
require_relative 'helper'
|
2
2
|
require 'fluent/engine'
|
3
3
|
require 'fluent/log'
|
4
|
+
require 'timecop'
|
4
5
|
|
5
6
|
class LogTest < Test::Unit::TestCase
|
6
7
|
def setup
|
7
8
|
@log_device = Fluent::Test::DummyLogDevice.new
|
8
9
|
@timestamp = Time.parse("2016-04-21 11:58:41 +0900")
|
9
10
|
@timestamp_str = @timestamp.strftime("%Y-%m-%d %H:%M:%S %z")
|
10
|
-
|
11
|
+
Timecop.freeze(@timestamp)
|
11
12
|
end
|
12
13
|
|
13
14
|
def teardown
|
14
15
|
@log_device.reset
|
16
|
+
Timecop.return
|
15
17
|
Thread.current[:last_repeated_stacktrace] = nil
|
16
18
|
end
|
17
19
|
|
@@ -409,7 +411,7 @@ class PluginLoggerTest < Test::Unit::TestCase
|
|
409
411
|
@log_device = Fluent::Test::DummyLogDevice.new
|
410
412
|
@timestamp = Time.parse("2016-04-21 11:58:41 +0900")
|
411
413
|
@timestamp_str = @timestamp.strftime("%Y-%m-%d %H:%M:%S %z")
|
412
|
-
|
414
|
+
Timecop.freeze(@timestamp)
|
413
415
|
dl_opts = {}
|
414
416
|
dl_opts[:log_level] = ServerEngine::DaemonLogger::TRACE
|
415
417
|
logdev = @log_device
|
@@ -419,6 +421,7 @@ class PluginLoggerTest < Test::Unit::TestCase
|
|
419
421
|
|
420
422
|
def teardown
|
421
423
|
@log_device.reset
|
424
|
+
Timecop.return
|
422
425
|
Thread.current[:last_repeated_stacktrace] = nil
|
423
426
|
end
|
424
427
|
|
data/test/test_output.rb
CHANGED
@@ -65,6 +65,20 @@ module FluentOutputTest
|
|
65
65
|
# assert_equal Float, d.instance.retry_wait.class
|
66
66
|
end
|
67
67
|
|
68
|
+
class FormatterInjectTestOutput < Fluent::Output
|
69
|
+
def initialize
|
70
|
+
super
|
71
|
+
@formatter = nil
|
72
|
+
end
|
73
|
+
end
|
74
|
+
def test_start
|
75
|
+
i = FormatterInjectTestOutput.new
|
76
|
+
i.configure(config_element('ROOT', '', {}, [config_element('inject', '', {'hostname_key' => "host"})]))
|
77
|
+
assert_nothing_raised do
|
78
|
+
i.start
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
68
82
|
def create_mock_driver(conf=CONFIG)
|
69
83
|
Fluent::Test::BufferedOutputTestDriver.new(Fluent::BufferedOutput) do
|
70
84
|
attr_accessor :submit_flush_threads
|
@@ -95,12 +109,37 @@ module FluentOutputTest
|
|
95
109
|
end
|
96
110
|
|
97
111
|
def test_secondary
|
98
|
-
d =
|
112
|
+
d = Fluent::Test::BufferedOutputTestDriver.new(Fluent::BufferedOutput) do
|
113
|
+
def write(chunk)
|
114
|
+
chunk.read
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
mock(d.instance.log).warn("secondary type should be same with primary one",
|
119
|
+
{ primary: d.instance.class.to_s, secondary: "Fluent::Plugin::Test2Output" })
|
120
|
+
d.configure(CONFIG + %[
|
99
121
|
<secondary>
|
100
122
|
type test2
|
101
123
|
name c0
|
102
124
|
</secondary>
|
103
125
|
])
|
126
|
+
|
127
|
+
assert_not_nil d.instance.instance_variable_get(:@secondary).router
|
128
|
+
end
|
129
|
+
|
130
|
+
def test_secondary_with_no_warn_log
|
131
|
+
# ObjectBufferedOutput doesn't implemnt `custom_filter`
|
132
|
+
d = Fluent::Test::BufferedOutputTestDriver.new(Fluent::ObjectBufferedOutput)
|
133
|
+
|
134
|
+
mock(d.instance.log).warn("secondary type should be same with primary one",
|
135
|
+
{ primary: d.instance.class.to_s, secondary: "Fluent::Plugin::Test2Output" }).never
|
136
|
+
d.configure(CONFIG + %[
|
137
|
+
<secondary>
|
138
|
+
type test2
|
139
|
+
name c0
|
140
|
+
</secondary>
|
141
|
+
])
|
142
|
+
|
104
143
|
assert_not_nil d.instance.instance_variable_get(:@secondary).router
|
105
144
|
end
|
106
145
|
end
|
@@ -165,6 +204,7 @@ module FluentOutputTest
|
|
165
204
|
test "emit with invalid event" do
|
166
205
|
d = create_driver
|
167
206
|
d.instance.start
|
207
|
+
d.instance.after_start
|
168
208
|
assert_raise ArgumentError, "time must be a Fluent::EventTime (or Integer)" do
|
169
209
|
d.instance.emit_events('test', OneEventStream.new('string', 10))
|
170
210
|
end
|
data/test/test_plugin_classes.rb
CHANGED
@@ -1,24 +1,26 @@
|
|
1
1
|
require_relative 'helper'
|
2
|
-
require 'fluent/input'
|
3
|
-
require 'fluent/output'
|
4
|
-
require 'fluent/filter'
|
2
|
+
require 'fluent/plugin/input'
|
3
|
+
require 'fluent/plugin/output'
|
4
|
+
require 'fluent/plugin/filter'
|
5
5
|
|
6
6
|
module FluentTest
|
7
|
-
class FluentTestInput < ::Fluent::Input
|
7
|
+
class FluentTestInput < ::Fluent::Plugin::Input
|
8
8
|
::Fluent::Plugin.register_input('test_in', self)
|
9
9
|
|
10
10
|
attr_reader :started
|
11
11
|
|
12
12
|
def start
|
13
|
+
super
|
13
14
|
@started = true
|
14
15
|
end
|
15
16
|
|
16
17
|
def shutdown
|
17
18
|
@started = false
|
19
|
+
super
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
21
|
-
class FluentTestOutput < ::Fluent::Output
|
23
|
+
class FluentTestOutput < ::Fluent::Plugin::Output
|
22
24
|
::Fluent::Plugin.register_output('test_out', self)
|
23
25
|
|
24
26
|
def initialize
|
@@ -30,21 +32,23 @@ module FluentTest
|
|
30
32
|
attr_reader :started
|
31
33
|
|
32
34
|
def start
|
35
|
+
super
|
33
36
|
@started = true
|
34
37
|
end
|
35
38
|
|
36
39
|
def shutdown
|
37
40
|
@started = false
|
41
|
+
super
|
38
42
|
end
|
39
43
|
|
40
|
-
def
|
41
|
-
es.each
|
44
|
+
def process(tag, es)
|
45
|
+
es.each do |time, record|
|
42
46
|
@events[tag] << record
|
43
|
-
|
47
|
+
end
|
44
48
|
end
|
45
49
|
end
|
46
50
|
|
47
|
-
class FluentTestErrorOutput < ::Fluent::
|
51
|
+
class FluentTestErrorOutput < ::Fluent::Plugin::Output
|
48
52
|
::Fluent::Plugin.register_output('test_out_error', self)
|
49
53
|
|
50
54
|
def format(tag, time, record)
|
@@ -69,11 +73,13 @@ module FluentTest
|
|
69
73
|
attr_reader :started
|
70
74
|
|
71
75
|
def start
|
76
|
+
super
|
72
77
|
@started = true
|
73
78
|
end
|
74
79
|
|
75
80
|
def shutdown
|
76
81
|
@started = false
|
82
|
+
super
|
77
83
|
end
|
78
84
|
|
79
85
|
def filter(tag, time, record)
|
@@ -96,11 +102,13 @@ module FluentTest
|
|
96
102
|
attr_reader :started
|
97
103
|
|
98
104
|
def start
|
105
|
+
super
|
99
106
|
@started = true
|
100
107
|
end
|
101
108
|
|
102
109
|
def shutdown
|
103
110
|
@started = false
|
111
|
+
super
|
104
112
|
end
|
105
113
|
|
106
114
|
def filter(tag, time, record)
|
data/test/test_root_agent.rb
CHANGED
@@ -129,4 +129,150 @@ EOC
|
|
129
129
|
assert_false @ra.outputs.first.started
|
130
130
|
end
|
131
131
|
end
|
132
|
+
|
133
|
+
sub_test_case 'configured with MultiOutput plugins' do
|
134
|
+
setup do
|
135
|
+
@ra = RootAgent.new(log: $log)
|
136
|
+
stub(Engine).root_agent { @ra }
|
137
|
+
@ra.configure(Config.parse(<<-EOC, "(test)", "(test_dir)", true))
|
138
|
+
<source>
|
139
|
+
@type test_in
|
140
|
+
@id test_in
|
141
|
+
</source>
|
142
|
+
<filter>
|
143
|
+
@type test_filter
|
144
|
+
@id test_filter
|
145
|
+
</filter>
|
146
|
+
<match **>
|
147
|
+
@type copy
|
148
|
+
@id test_copy
|
149
|
+
<store>
|
150
|
+
@type test_out
|
151
|
+
@id test_out1
|
152
|
+
</store>
|
153
|
+
<store>
|
154
|
+
@type test_out
|
155
|
+
@id test_out2
|
156
|
+
</store>
|
157
|
+
</match>
|
158
|
+
EOC
|
159
|
+
@ra
|
160
|
+
end
|
161
|
+
|
162
|
+
test 'plugin status with multi output' do
|
163
|
+
assert_equal 1, @ra.inputs.size
|
164
|
+
assert_equal 1, @ra.filters.size
|
165
|
+
assert_equal 3, @ra.outputs.size
|
166
|
+
|
167
|
+
@ra.start
|
168
|
+
assert_equal [true], @ra.inputs.map{|i| i.started? }
|
169
|
+
assert_equal [true], @ra.filters.map{|i| i.started? }
|
170
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.started? }
|
171
|
+
|
172
|
+
assert_equal [true], @ra.inputs.map{|i| i.after_started? }
|
173
|
+
assert_equal [true], @ra.filters.map{|i| i.after_started? }
|
174
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.after_started? }
|
175
|
+
|
176
|
+
@ra.shutdown
|
177
|
+
assert_equal [true], @ra.inputs.map{|i| i.stopped? }
|
178
|
+
assert_equal [true], @ra.filters.map{|i| i.stopped? }
|
179
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.stopped? }
|
180
|
+
|
181
|
+
assert_equal [true], @ra.inputs.map{|i| i.before_shutdown? }
|
182
|
+
assert_equal [true], @ra.filters.map{|i| i.before_shutdown? }
|
183
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.before_shutdown? }
|
184
|
+
|
185
|
+
assert_equal [true], @ra.inputs.map{|i| i.shutdown? }
|
186
|
+
assert_equal [true], @ra.filters.map{|i| i.shutdown? }
|
187
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.shutdown? }
|
188
|
+
|
189
|
+
assert_equal [true], @ra.inputs.map{|i| i.after_shutdown? }
|
190
|
+
assert_equal [true], @ra.filters.map{|i| i.after_shutdown? }
|
191
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.after_shutdown? }
|
192
|
+
|
193
|
+
assert_equal [true], @ra.inputs.map{|i| i.closed? }
|
194
|
+
assert_equal [true], @ra.filters.map{|i| i.closed? }
|
195
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.closed? }
|
196
|
+
|
197
|
+
assert_equal [true], @ra.inputs.map{|i| i.terminated? }
|
198
|
+
assert_equal [true], @ra.filters.map{|i| i.terminated? }
|
199
|
+
assert_equal [true, true, true], @ra.outputs.map{|i| i.terminated? }
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
sub_test_case 'configured with MultiOutput plugins and labels' do
|
204
|
+
setup do
|
205
|
+
@ra = RootAgent.new(log: $log)
|
206
|
+
stub(Engine).root_agent { @ra }
|
207
|
+
@ra.configure(Config.parse(<<-EOC, "(test)", "(test_dir)", true))
|
208
|
+
<source>
|
209
|
+
@type test_in
|
210
|
+
@id test_in
|
211
|
+
@label @testing
|
212
|
+
</source>
|
213
|
+
<label @testing>
|
214
|
+
<filter>
|
215
|
+
@type test_filter
|
216
|
+
@id test_filter
|
217
|
+
</filter>
|
218
|
+
<match **>
|
219
|
+
@type copy
|
220
|
+
@id test_copy
|
221
|
+
<store>
|
222
|
+
@type test_out
|
223
|
+
@id test_out1
|
224
|
+
</store>
|
225
|
+
<store>
|
226
|
+
@type test_out
|
227
|
+
@id test_out2
|
228
|
+
</store>
|
229
|
+
</match>
|
230
|
+
</label>
|
231
|
+
EOC
|
232
|
+
@ra
|
233
|
+
end
|
234
|
+
|
235
|
+
test 'plugin status with multi output' do
|
236
|
+
assert_equal 1, @ra.inputs.size
|
237
|
+
assert_equal 0, @ra.filters.size
|
238
|
+
assert_equal 0, @ra.outputs.size
|
239
|
+
assert_equal 1, @ra.labels.size
|
240
|
+
assert_equal '@testing', @ra.labels.keys.first
|
241
|
+
assert_equal 1, @ra.labels.values.first.filters.size
|
242
|
+
assert_equal 3, @ra.labels.values.first.outputs.size
|
243
|
+
|
244
|
+
label_filters = @ra.labels.values.first.filters
|
245
|
+
label_outputs = @ra.labels.values.first.outputs
|
246
|
+
|
247
|
+
@ra.start
|
248
|
+
assert_equal [true], @ra.inputs.map{|i| i.started? }
|
249
|
+
assert_equal [true], label_filters.map{|i| i.started? }
|
250
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.started? }
|
251
|
+
|
252
|
+
@ra.shutdown
|
253
|
+
assert_equal [true], @ra.inputs.map{|i| i.stopped? }
|
254
|
+
assert_equal [true], label_filters.map{|i| i.stopped? }
|
255
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.stopped? }
|
256
|
+
|
257
|
+
assert_equal [true], @ra.inputs.map{|i| i.before_shutdown? }
|
258
|
+
assert_equal [true], label_filters.map{|i| i.before_shutdown? }
|
259
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.before_shutdown? }
|
260
|
+
|
261
|
+
assert_equal [true], @ra.inputs.map{|i| i.shutdown? }
|
262
|
+
assert_equal [true], label_filters.map{|i| i.shutdown? }
|
263
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.shutdown? }
|
264
|
+
|
265
|
+
assert_equal [true], @ra.inputs.map{|i| i.after_shutdown? }
|
266
|
+
assert_equal [true], label_filters.map{|i| i.after_shutdown? }
|
267
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.after_shutdown? }
|
268
|
+
|
269
|
+
assert_equal [true], @ra.inputs.map{|i| i.closed? }
|
270
|
+
assert_equal [true], label_filters.map{|i| i.closed? }
|
271
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.closed? }
|
272
|
+
|
273
|
+
assert_equal [true], @ra.inputs.map{|i| i.terminated? }
|
274
|
+
assert_equal [true], label_filters.map{|i| i.terminated? }
|
275
|
+
assert_equal [true, true, true], label_outputs.map{|i| i.terminated? }
|
276
|
+
end
|
277
|
+
end
|
132
278
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluentd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.7.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.0.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,20 +27,9 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 0.7.0
|
27
|
-
-
|
28
|
-
name: json
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.4.3
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
30
|
+
- - "<"
|
39
31
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
32
|
+
version: 2.0.0
|
41
33
|
- !ruby/object:Gem::Dependency
|
42
34
|
name: yajl-ruby
|
43
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,42 +48,30 @@ dependencies:
|
|
56
48
|
name: cool.io
|
57
49
|
requirement: !ruby/object:Gem::Requirement
|
58
50
|
requirements:
|
59
|
-
- - "
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.4.3
|
62
|
-
- - "<"
|
51
|
+
- - "~>"
|
63
52
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
53
|
+
version: 1.4.5
|
65
54
|
type: :runtime
|
66
55
|
prerelease: false
|
67
56
|
version_requirements: !ruby/object:Gem::Requirement
|
68
57
|
requirements:
|
69
|
-
- - "
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: 1.4.3
|
72
|
-
- - "<"
|
58
|
+
- - "~>"
|
73
59
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
60
|
+
version: 1.4.5
|
75
61
|
- !ruby/object:Gem::Dependency
|
76
62
|
name: serverengine
|
77
63
|
requirement: !ruby/object:Gem::Requirement
|
78
64
|
requirements:
|
79
|
-
- - "
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: 1.6.4
|
82
|
-
- - "<"
|
65
|
+
- - "~>"
|
83
66
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2.0
|
67
|
+
version: '2.0'
|
85
68
|
type: :runtime
|
86
69
|
prerelease: false
|
87
70
|
version_requirements: !ruby/object:Gem::Requirement
|
88
71
|
requirements:
|
89
|
-
- - "
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: 1.6.4
|
92
|
-
- - "<"
|
72
|
+
- - "~>"
|
93
73
|
- !ruby/object:Gem::Version
|
94
|
-
version: 2.0
|
74
|
+
version: '2.0'
|
95
75
|
- !ruby/object:Gem::Dependency
|
96
76
|
name: http_parser.rb
|
97
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,84 +110,84 @@ dependencies:
|
|
130
110
|
name: tzinfo
|
131
111
|
requirement: !ruby/object:Gem::Requirement
|
132
112
|
requirements:
|
133
|
-
- - "
|
113
|
+
- - "~>"
|
134
114
|
- !ruby/object:Gem::Version
|
135
|
-
version: 1.0
|
115
|
+
version: '1.0'
|
136
116
|
type: :runtime
|
137
117
|
prerelease: false
|
138
118
|
version_requirements: !ruby/object:Gem::Requirement
|
139
119
|
requirements:
|
140
|
-
- - "
|
120
|
+
- - "~>"
|
141
121
|
- !ruby/object:Gem::Version
|
142
|
-
version: 1.0
|
122
|
+
version: '1.0'
|
143
123
|
- !ruby/object:Gem::Dependency
|
144
124
|
name: tzinfo-data
|
145
125
|
requirement: !ruby/object:Gem::Requirement
|
146
126
|
requirements:
|
147
|
-
- - "
|
127
|
+
- - "~>"
|
148
128
|
- !ruby/object:Gem::Version
|
149
|
-
version: 1.0
|
129
|
+
version: '1.0'
|
150
130
|
type: :runtime
|
151
131
|
prerelease: false
|
152
132
|
version_requirements: !ruby/object:Gem::Requirement
|
153
133
|
requirements:
|
154
|
-
- - "
|
134
|
+
- - "~>"
|
155
135
|
- !ruby/object:Gem::Version
|
156
|
-
version: 1.0
|
136
|
+
version: '1.0'
|
157
137
|
- !ruby/object:Gem::Dependency
|
158
138
|
name: strptime
|
159
139
|
requirement: !ruby/object:Gem::Requirement
|
160
140
|
requirements:
|
161
|
-
- - "
|
141
|
+
- - "~>"
|
162
142
|
- !ruby/object:Gem::Version
|
163
143
|
version: 0.1.7
|
164
144
|
type: :runtime
|
165
145
|
prerelease: false
|
166
146
|
version_requirements: !ruby/object:Gem::Requirement
|
167
147
|
requirements:
|
168
|
-
- - "
|
148
|
+
- - "~>"
|
169
149
|
- !ruby/object:Gem::Version
|
170
150
|
version: 0.1.7
|
171
151
|
- !ruby/object:Gem::Dependency
|
172
152
|
name: rake
|
173
153
|
requirement: !ruby/object:Gem::Requirement
|
174
154
|
requirements:
|
175
|
-
- - "
|
155
|
+
- - "~>"
|
176
156
|
- !ruby/object:Gem::Version
|
177
|
-
version: 0
|
157
|
+
version: '11.0'
|
178
158
|
type: :development
|
179
159
|
prerelease: false
|
180
160
|
version_requirements: !ruby/object:Gem::Requirement
|
181
161
|
requirements:
|
182
|
-
- - "
|
162
|
+
- - "~>"
|
183
163
|
- !ruby/object:Gem::Version
|
184
|
-
version: 0
|
164
|
+
version: '11.0'
|
185
165
|
- !ruby/object:Gem::Dependency
|
186
166
|
name: flexmock
|
187
167
|
requirement: !ruby/object:Gem::Requirement
|
188
168
|
requirements:
|
189
169
|
- - "~>"
|
190
170
|
- !ruby/object:Gem::Version
|
191
|
-
version: 2.0
|
171
|
+
version: '2.0'
|
192
172
|
type: :development
|
193
173
|
prerelease: false
|
194
174
|
version_requirements: !ruby/object:Gem::Requirement
|
195
175
|
requirements:
|
196
176
|
- - "~>"
|
197
177
|
- !ruby/object:Gem::Version
|
198
|
-
version: 2.0
|
178
|
+
version: '2.0'
|
199
179
|
- !ruby/object:Gem::Dependency
|
200
180
|
name: parallel_tests
|
201
181
|
requirement: !ruby/object:Gem::Requirement
|
202
182
|
requirements:
|
203
|
-
- - "
|
183
|
+
- - "~>"
|
204
184
|
- !ruby/object:Gem::Version
|
205
185
|
version: 0.15.3
|
206
186
|
type: :development
|
207
187
|
prerelease: false
|
208
188
|
version_requirements: !ruby/object:Gem::Requirement
|
209
189
|
requirements:
|
210
|
-
- - "
|
190
|
+
- - "~>"
|
211
191
|
- !ruby/object:Gem::Version
|
212
192
|
version: 0.15.3
|
213
193
|
- !ruby/object:Gem::Dependency
|
@@ -216,70 +196,70 @@ dependencies:
|
|
216
196
|
requirements:
|
217
197
|
- - "~>"
|
218
198
|
- !ruby/object:Gem::Version
|
219
|
-
version: 0.
|
199
|
+
version: '0.7'
|
220
200
|
type: :development
|
221
201
|
prerelease: false
|
222
202
|
version_requirements: !ruby/object:Gem::Requirement
|
223
203
|
requirements:
|
224
204
|
- - "~>"
|
225
205
|
- !ruby/object:Gem::Version
|
226
|
-
version: 0.
|
206
|
+
version: '0.7'
|
227
207
|
- !ruby/object:Gem::Dependency
|
228
208
|
name: rr
|
229
209
|
requirement: !ruby/object:Gem::Requirement
|
230
210
|
requirements:
|
231
|
-
- - "
|
211
|
+
- - "~>"
|
232
212
|
- !ruby/object:Gem::Version
|
233
|
-
version: 1.0
|
213
|
+
version: '1.0'
|
234
214
|
type: :development
|
235
215
|
prerelease: false
|
236
216
|
version_requirements: !ruby/object:Gem::Requirement
|
237
217
|
requirements:
|
238
|
-
- - "
|
218
|
+
- - "~>"
|
239
219
|
- !ruby/object:Gem::Version
|
240
|
-
version: 1.0
|
220
|
+
version: '1.0'
|
241
221
|
- !ruby/object:Gem::Dependency
|
242
222
|
name: timecop
|
243
223
|
requirement: !ruby/object:Gem::Requirement
|
244
224
|
requirements:
|
245
|
-
- - "
|
225
|
+
- - "~>"
|
246
226
|
- !ruby/object:Gem::Version
|
247
|
-
version: 0.3
|
227
|
+
version: '0.3'
|
248
228
|
type: :development
|
249
229
|
prerelease: false
|
250
230
|
version_requirements: !ruby/object:Gem::Requirement
|
251
231
|
requirements:
|
252
|
-
- - "
|
232
|
+
- - "~>"
|
253
233
|
- !ruby/object:Gem::Version
|
254
|
-
version: 0.3
|
234
|
+
version: '0.3'
|
255
235
|
- !ruby/object:Gem::Dependency
|
256
236
|
name: test-unit
|
257
237
|
requirement: !ruby/object:Gem::Requirement
|
258
238
|
requirements:
|
259
239
|
- - "~>"
|
260
240
|
- !ruby/object:Gem::Version
|
261
|
-
version: 3.
|
241
|
+
version: '3.2'
|
262
242
|
type: :development
|
263
243
|
prerelease: false
|
264
244
|
version_requirements: !ruby/object:Gem::Requirement
|
265
245
|
requirements:
|
266
246
|
- - "~>"
|
267
247
|
- !ruby/object:Gem::Version
|
268
|
-
version: 3.
|
248
|
+
version: '3.2'
|
269
249
|
- !ruby/object:Gem::Dependency
|
270
250
|
name: test-unit-rr
|
271
251
|
requirement: !ruby/object:Gem::Requirement
|
272
252
|
requirements:
|
273
253
|
- - "~>"
|
274
254
|
- !ruby/object:Gem::Version
|
275
|
-
version: 1.0
|
255
|
+
version: '1.0'
|
276
256
|
type: :development
|
277
257
|
prerelease: false
|
278
258
|
version_requirements: !ruby/object:Gem::Requirement
|
279
259
|
requirements:
|
280
260
|
- - "~>"
|
281
261
|
- !ruby/object:Gem::Version
|
282
|
-
version: 1.0
|
262
|
+
version: '1.0'
|
283
263
|
- !ruby/object:Gem::Dependency
|
284
264
|
name: oj
|
285
265
|
requirement: !ruby/object:Gem::Requirement
|
@@ -331,6 +311,7 @@ files:
|
|
331
311
|
- example/in_tail.conf
|
332
312
|
- example/in_tcp.conf
|
333
313
|
- example/in_udp.conf
|
314
|
+
- example/multi_filters.conf
|
334
315
|
- example/out_buffered_null.conf
|
335
316
|
- example/out_copy.conf
|
336
317
|
- example/out_file.conf
|
@@ -554,6 +535,7 @@ files:
|
|
554
535
|
- test/plugin/test_in_forward.rb
|
555
536
|
- test/plugin/test_in_gc_stat.rb
|
556
537
|
- test/plugin/test_in_http.rb
|
538
|
+
- test/plugin/test_in_monitor_agent.rb
|
557
539
|
- test/plugin/test_in_object_space.rb
|
558
540
|
- test/plugin/test_in_syslog.rb
|
559
541
|
- test/plugin/test_in_tail.rb
|
@@ -702,6 +684,7 @@ test_files:
|
|
702
684
|
- test/plugin/test_in_forward.rb
|
703
685
|
- test/plugin/test_in_gc_stat.rb
|
704
686
|
- test/plugin/test_in_http.rb
|
687
|
+
- test/plugin/test_in_monitor_agent.rb
|
705
688
|
- test/plugin/test_in_object_space.rb
|
706
689
|
- test/plugin/test_in_syslog.rb
|
707
690
|
- test/plugin/test_in_tail.rb
|
@@ -781,3 +764,4 @@ test_files:
|
|
781
764
|
- test/test_supervisor.rb
|
782
765
|
- test/test_time_formatter.rb
|
783
766
|
- test/test_unique_id.rb
|
767
|
+
has_rdoc: false
|