fluentd 1.11.1-x64-mingw32 → 1.12.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd might be problematic. Click here for more details.

Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  3. data/.github/ISSUE_TEMPLATE/config.yml +5 -0
  4. data/.github/workflows/stale-actions.yml +22 -0
  5. data/.travis.yml +22 -2
  6. data/CHANGELOG.md +111 -0
  7. data/README.md +1 -1
  8. data/appveyor.yml +3 -0
  9. data/bin/fluent-cap-ctl +7 -0
  10. data/bin/fluent-ctl +7 -0
  11. data/example/copy_roundrobin.conf +3 -3
  12. data/example/counter.conf +1 -1
  13. data/example/filter_stdout.conf +2 -2
  14. data/example/{in_dummy_blocks.conf → in_sample_blocks.conf} +4 -4
  15. data/example/{in_dummy_with_compression.conf → in_sample_with_compression.conf} +3 -3
  16. data/example/logevents.conf +5 -5
  17. data/example/multi_filters.conf +1 -1
  18. data/example/out_exec_filter.conf +2 -2
  19. data/example/out_forward.conf +1 -1
  20. data/example/out_forward_buf_file.conf +1 -1
  21. data/example/out_forward_client.conf +5 -5
  22. data/example/out_forward_heartbeat_none.conf +1 -1
  23. data/example/out_forward_sd.conf +1 -1
  24. data/example/out_forward_shared_key.conf +2 -2
  25. data/example/out_forward_tls.conf +1 -1
  26. data/example/out_forward_users.conf +3 -3
  27. data/example/out_null.conf +4 -4
  28. data/example/secondary_file.conf +1 -1
  29. data/fluentd.gemspec +7 -6
  30. data/lib/fluent/capability.rb +87 -0
  31. data/lib/fluent/command/cap_ctl.rb +174 -0
  32. data/lib/fluent/command/ctl.rb +177 -0
  33. data/lib/fluent/command/plugin_config_formatter.rb +2 -1
  34. data/lib/fluent/env.rb +4 -0
  35. data/lib/fluent/log.rb +33 -3
  36. data/lib/fluent/match.rb +9 -0
  37. data/lib/fluent/plugin.rb +5 -0
  38. data/lib/fluent/plugin/buffer.rb +32 -42
  39. data/lib/fluent/plugin/buffer/chunk.rb +2 -1
  40. data/lib/fluent/plugin/formatter.rb +24 -0
  41. data/lib/fluent/plugin/formatter_csv.rb +1 -1
  42. data/lib/fluent/plugin/formatter_hash.rb +3 -1
  43. data/lib/fluent/plugin/formatter_json.rb +3 -1
  44. data/lib/fluent/plugin/formatter_ltsv.rb +5 -3
  45. data/lib/fluent/plugin/formatter_out_file.rb +6 -4
  46. data/lib/fluent/plugin/formatter_single_value.rb +4 -2
  47. data/lib/fluent/plugin/formatter_tsv.rb +4 -2
  48. data/lib/fluent/plugin/in_dummy.rb +2 -123
  49. data/lib/fluent/plugin/in_exec.rb +4 -2
  50. data/lib/fluent/plugin/in_http.rb +25 -4
  51. data/lib/fluent/plugin/in_sample.rb +141 -0
  52. data/lib/fluent/plugin/in_tail.rb +109 -41
  53. data/lib/fluent/plugin/in_tail/position_file.rb +39 -14
  54. data/lib/fluent/plugin/in_tcp.rb +1 -0
  55. data/lib/fluent/plugin/out_http.rb +20 -2
  56. data/lib/fluent/plugin/output.rb +15 -6
  57. data/lib/fluent/plugin/parser_json.rb +5 -2
  58. data/lib/fluent/plugin_helper/cert_option.rb +5 -8
  59. data/lib/fluent/plugin_helper/http_server/compat/server.rb +1 -1
  60. data/lib/fluent/plugin_helper/inject.rb +4 -1
  61. data/lib/fluent/plugin_helper/retry_state.rb +4 -0
  62. data/lib/fluent/plugin_helper/socket.rb +1 -1
  63. data/lib/fluent/supervisor.rb +151 -48
  64. data/lib/fluent/system_config.rb +2 -1
  65. data/lib/fluent/time.rb +1 -0
  66. data/lib/fluent/version.rb +1 -1
  67. data/lib/fluent/winsvc.rb +22 -4
  68. data/test/command/test_binlog_reader.rb +22 -6
  69. data/test/command/test_cap_ctl.rb +100 -0
  70. data/test/command/test_ctl.rb +57 -0
  71. data/test/command/test_plugin_config_formatter.rb +57 -2
  72. data/test/plugin/in_tail/test_position_file.rb +45 -25
  73. data/test/plugin/test_buffer.rb +4 -0
  74. data/test/plugin/test_filter_stdout.rb +6 -1
  75. data/test/plugin/test_formatter_hash.rb +6 -3
  76. data/test/plugin/test_formatter_json.rb +14 -4
  77. data/test/plugin/test_formatter_ltsv.rb +13 -5
  78. data/test/plugin/test_formatter_out_file.rb +35 -14
  79. data/test/plugin/test_formatter_single_value.rb +12 -6
  80. data/test/plugin/test_formatter_tsv.rb +12 -4
  81. data/test/plugin/test_in_exec.rb +18 -0
  82. data/test/plugin/test_in_http.rb +25 -0
  83. data/test/plugin/{test_in_dummy.rb → test_in_sample.rb} +25 -25
  84. data/test/plugin/test_in_tail.rb +433 -30
  85. data/test/plugin/test_out_file.rb +23 -18
  86. data/test/plugin/test_output.rb +12 -0
  87. data/test/plugin/test_parser_syslog.rb +2 -2
  88. data/test/plugin_helper/data/cert/empty.pem +0 -0
  89. data/test/plugin_helper/test_cert_option.rb +7 -0
  90. data/test/plugin_helper/test_compat_parameters.rb +7 -2
  91. data/test/plugin_helper/test_http_server_helper.rb +5 -0
  92. data/test/plugin_helper/test_inject.rb +42 -0
  93. data/test/plugin_helper/test_server.rb +34 -0
  94. data/test/plugin_helper/test_socket.rb +8 -0
  95. data/test/test_capability.rb +74 -0
  96. data/test/test_formatter.rb +34 -10
  97. data/test/test_log.rb +44 -0
  98. data/test/test_match.rb +11 -0
  99. data/test/test_output.rb +6 -1
  100. data/test/test_static_config_analysis.rb +2 -2
  101. data/test/test_supervisor.rb +119 -1
  102. metadata +50 -18
@@ -411,6 +411,50 @@ class LogTest < Test::Unit::TestCase
411
411
  end
412
412
  end
413
413
 
414
+ sub_test_case "ignore_same_log_interval" do
415
+ teardown do
416
+ Thread.current[:last_same_log] = nil
417
+ end
418
+
419
+ def test_same_message
420
+ message = "This is test"
421
+ logger = ServerEngine::DaemonLogger.new(@log_device, {log_level: ServerEngine::DaemonLogger::INFO})
422
+ log = Fluent::Log.new(logger, {ignore_same_log_interval: 5})
423
+
424
+ log.error message
425
+ 10.times { |i|
426
+ Timecop.freeze(@timestamp + i + 1)
427
+ log.error message
428
+ }
429
+
430
+ expected = [
431
+ "2016-04-21 02:58:41 +0000 [error]: This is test\n",
432
+ "2016-04-21 02:58:47 +0000 [error]: This is test\n"
433
+ ]
434
+ assert_equal(expected, log.out.logs)
435
+ end
436
+
437
+ def test_different_message
438
+ message = "This is test"
439
+ logger = ServerEngine::DaemonLogger.new(@log_device, {log_level: ServerEngine::DaemonLogger::INFO})
440
+ log = Fluent::Log.new(logger, {ignore_same_log_interval: 10})
441
+
442
+ log.error message
443
+ 3.times { |i|
444
+ Timecop.freeze(@timestamp + i)
445
+ log.error message
446
+ log.error message
447
+ log.info "Hello! " + message
448
+ }
449
+
450
+ expected = [
451
+ "2016-04-21 02:58:41 +0000 [error]: This is test\n",
452
+ "2016-04-21 02:58:41 +0000 [info]: Hello! This is test\n",
453
+ ]
454
+ assert_equal(expected, log.out.logs)
455
+ end
456
+ end
457
+
414
458
  def test_dup
415
459
  dl_opts = {}
416
460
  dl_opts[:log_level] = ServerEngine::DaemonLogger::TRACE
@@ -101,6 +101,17 @@ class MatchTest < Test::Unit::TestCase
101
101
  assert_or_not_match('a.b.** a.c', 'a.c.d')
102
102
  end
103
103
 
104
+ def test_regex_pattern
105
+ assert_glob_match('/a/', 'a')
106
+ assert_glob_not_match('/a/', 'abc')
107
+ assert_glob_match('/a.*/', 'abc')
108
+ assert_glob_not_match('/b.*/', 'abc')
109
+ assert_glob_match('/a\..*/', 'a.b.c')
110
+ assert_glob_not_match('/(?!a\.).*/', 'a.b.c')
111
+ assert_glob_not_match('/a\..*/', 'b.b.c')
112
+ assert_glob_match('/(?!a\.).*/', 'b.b.c')
113
+ end
114
+
104
115
  #def test_character_class
105
116
  # assert_match('[a]', 'a')
106
117
  # assert_match('[ab]', 'a')
@@ -230,6 +230,11 @@ module FluentOutputTest
230
230
  setup do
231
231
  @time = Time.parse("2011-01-02 13:14:15 UTC")
232
232
  Timecop.freeze(@time)
233
+ @newline = if Fluent.windows?
234
+ "\r\n"
235
+ else
236
+ "\n"
237
+ end
233
238
  end
234
239
 
235
240
  teardown do
@@ -265,7 +270,7 @@ module FluentOutputTest
265
270
  ])
266
271
  time = Time.parse("2016-11-08 12:00:00 UTC").to_i
267
272
  d.emit({"a" => 1}, time)
268
- d.expect_format %[2016-11-08T12:00:00Z\ttest\t{"a":1,"time":"2016-11-08T12:00:00Z"}\n]
273
+ d.expect_format %[2016-11-08T12:00:00Z\ttest\t{"a":1,"time":"2016-11-08T12:00:00Z"}#{@newline}]
269
274
  d.run
270
275
  end
271
276
  end
@@ -6,7 +6,7 @@ require 'fluent/plugin/out_forward'
6
6
  require 'fluent/plugin/out_stdout'
7
7
  require 'fluent/plugin/out_exec'
8
8
  require 'fluent/plugin/in_forward'
9
- require 'fluent/plugin/in_dummy'
9
+ require 'fluent/plugin/in_sample'
10
10
  require 'fluent/plugin/filter_grep'
11
11
  require 'fluent/plugin/filter_stdout'
12
12
  require 'fluent/plugin/filter_parser'
@@ -74,7 +74,7 @@ class StaticConfigAnalysisTest < ::Test::Unit::TestCase
74
74
  c = Fluent::Config.parse(conf_data, '(test)', '(test_dir)', true)
75
75
  ret = Fluent::StaticConfigAnalysis.call(c)
76
76
  assert_equal [Fluent::Plugin::ExecOutput, Fluent::Plugin::StdoutOutput, Fluent::Plugin::ForwardOutput], ret.outputs.map(&:plugin).map(&:class)
77
- assert_equal [Fluent::Plugin::DummyInput, Fluent::Plugin::ForwardInput], ret.inputs.map(&:plugin).map(&:class)
77
+ assert_equal [Fluent::Plugin::SampleInput, Fluent::Plugin::ForwardInput], ret.inputs.map(&:plugin).map(&:class)
78
78
  assert_equal [Fluent::Plugin::ParserFilter, Fluent::Plugin::StdoutFilter, Fluent::Plugin::GrepFilter], ret.filters.map(&:plugin).map(&:class)
79
79
  assert_equal 1, ret.labels.size
80
80
  assert_equal '@test', ret.labels[0].name
@@ -8,6 +8,10 @@ require 'net/http'
8
8
  require 'uri'
9
9
  require 'fileutils'
10
10
 
11
+ if Fluent.windows?
12
+ require 'win32/event'
13
+ end
14
+
11
15
  class SupervisorTest < ::Test::Unit::TestCase
12
16
  class DummyServer
13
17
  include Fluent::ServerModule
@@ -107,6 +111,32 @@ class SupervisorTest < ::Test::Unit::TestCase
107
111
  $log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
108
112
  end
109
113
 
114
+ def test_main_process_command_handlers
115
+ omit "Only for Windows, alternative to UNIX signals" unless Fluent.windows?
116
+
117
+ create_info_dummy_logger
118
+
119
+ opts = Fluent::Supervisor.default_options
120
+ sv = Fluent::Supervisor.new(opts)
121
+ r, w = IO.pipe
122
+ $stdin = r
123
+ sv.send(:install_main_process_signal_handlers)
124
+
125
+ begin
126
+ w.write("GRACEFUL_RESTART\n")
127
+ w.flush
128
+ ensure
129
+ $stdin = STDIN
130
+ end
131
+
132
+ sleep 1
133
+
134
+ info_msg = '[info]: force flushing buffered events' + "\n"
135
+ assert{ $log.out.logs.first.end_with?(info_msg) }
136
+ ensure
137
+ $log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
138
+ end
139
+
110
140
  def test_supervisor_signal_handler
111
141
  omit "Windows cannot handle signals" if Fluent.windows?
112
142
 
@@ -128,6 +158,60 @@ class SupervisorTest < ::Test::Unit::TestCase
128
158
  $log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
129
159
  end
130
160
 
161
+ def test_windows_shutdown_event
162
+ omit "Only for Windows platform" unless Fluent.windows?
163
+
164
+ server = DummyServer.new
165
+ def server.config
166
+ {:signame => "TestFluentdEvent"}
167
+ end
168
+
169
+ mock(server).stop(true)
170
+ stub(Process).kill.times(0)
171
+
172
+ server.install_windows_event_handler
173
+ begin
174
+ sleep 0.1 # Wait for starting windows event thread
175
+ event = Win32::Event.open("TestFluentdEvent")
176
+ event.set
177
+ event.close
178
+ ensure
179
+ server.stop_windows_event_thread
180
+ end
181
+
182
+ debug_msg = '[debug]: Got Win32 event "TestFluentdEvent"'
183
+ logs = $log.out.logs
184
+ assert{ logs.any?{|log| log.include?(debug_msg) } }
185
+ ensure
186
+ $log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
187
+ end
188
+
189
+ def test_supervisor_event_handler
190
+ omit "Only for Windows, alternative to UNIX signals" unless Fluent.windows?
191
+
192
+ create_debug_dummy_logger
193
+
194
+ server = DummyServer.new
195
+ def server.config
196
+ {:signame => "TestFluentdEvent"}
197
+ end
198
+ server.install_windows_event_handler
199
+ begin
200
+ sleep 0.1 # Wait for starting windows event thread
201
+ event = Win32::Event.open("TestFluentdEvent_USR1")
202
+ event.set
203
+ event.close
204
+ ensure
205
+ server.stop_windows_event_thread
206
+ end
207
+
208
+ debug_msg = '[debug]: Got Win32 event "TestFluentdEvent_USR1"'
209
+ logs = $log.out.logs
210
+ assert{ logs.any?{|log| log.include?(debug_msg) } }
211
+ ensure
212
+ $log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
213
+ end
214
+
131
215
  def test_rpc_server
132
216
  omit "Windows cannot handle signals" if Fluent.windows?
133
217
 
@@ -150,7 +234,7 @@ class SupervisorTest < ::Test::Unit::TestCase
150
234
  server.run_rpc_server
151
235
 
152
236
  sv.send(:install_main_process_signal_handlers)
153
- Net::HTTP.get URI.parse('http://0.0.0.0:24447/api/plugins.flushBuffers')
237
+ response = Net::HTTP.get(URI.parse('http://127.0.0.1:24447/api/plugins.flushBuffers'))
154
238
  info_msg = '[info]: force flushing buffered events' + "\n"
155
239
 
156
240
  server.stop_rpc_server
@@ -159,11 +243,45 @@ class SupervisorTest < ::Test::Unit::TestCase
159
243
  # This test will be passed in such environment.
160
244
  pend unless $log.out.logs.first
161
245
 
246
+ assert_equal('{"ok":true}', response)
162
247
  assert{ $log.out.logs.first.end_with?(info_msg) }
163
248
  ensure
164
249
  $log.out.reset if $log.out.is_a?(Fluent::Test::DummyLogDevice)
165
250
  end
166
251
 
252
+ def test_rpc_server_windows
253
+ omit "Only for windows platform" unless Fluent.windows?
254
+
255
+ create_info_dummy_logger
256
+
257
+ opts = Fluent::Supervisor.default_options
258
+ sv = Fluent::Supervisor.new(opts)
259
+ conf_data = <<-EOC
260
+ <system>
261
+ rpc_endpoint 0.0.0.0:24447
262
+ </system>
263
+ EOC
264
+ conf = Fluent::Config.parse(conf_data, "(test)", "(test_dir)", true)
265
+ sys_conf = sv.__send__(:build_system_config, conf)
266
+
267
+ server = DummyServer.new
268
+ def server.config
269
+ {
270
+ :signame => "TestFluentdEvent",
271
+ :worker_pid => 5963,
272
+ }
273
+ end
274
+ server.rpc_endpoint = sys_conf.rpc_endpoint
275
+
276
+ server.run_rpc_server
277
+
278
+ mock(server).restart(true) { nil }
279
+ response = Net::HTTP.get(URI.parse('http://127.0.0.1:24447/api/plugins.flushBuffers'))
280
+
281
+ server.stop_rpc_server
282
+ assert_equal('{"ok":true}', response)
283
+ end
284
+
167
285
  def test_load_config
168
286
  tmp_dir = "#{TMP_DIR}/dir/test_load_config.conf"
169
287
  conf_info_str = %[
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.1
4
+ version: 1.12.0
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-22 00:00:00.000000000 Z
11
+ date: 2021-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: msgpack
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,7 +84,7 @@ dependencies:
70
84
  requirements:
71
85
  - - ">="
72
86
  - !ruby/object:Gem::Version
73
- version: 2.0.4
87
+ version: 2.2.2
74
88
  - - "<"
75
89
  - !ruby/object:Gem::Version
76
90
  version: 3.0.0
@@ -80,7 +94,7 @@ dependencies:
80
94
  requirements:
81
95
  - - ">="
82
96
  - !ruby/object:Gem::Version
83
- version: 2.0.4
97
+ version: 2.2.2
84
98
  - - "<"
85
99
  - !ruby/object:Gem::Version
86
100
  version: 3.0.0
@@ -178,70 +192,70 @@ dependencies:
178
192
  requirements:
179
193
  - - "~>"
180
194
  - !ruby/object:Gem::Version
181
- version: 0.8.3
195
+ version: 2.1.5
182
196
  type: :runtime
183
197
  prerelease: false
184
198
  version_requirements: !ruby/object:Gem::Requirement
185
199
  requirements:
186
200
  - - "~>"
187
201
  - !ruby/object:Gem::Version
188
- version: 0.8.3
202
+ version: 2.1.5
189
203
  - !ruby/object:Gem::Dependency
190
204
  name: win32-ipc
191
205
  requirement: !ruby/object:Gem::Requirement
192
206
  requirements:
193
207
  - - "~>"
194
208
  - !ruby/object:Gem::Version
195
- version: 0.6.1
209
+ version: 0.7.0
196
210
  type: :runtime
197
211
  prerelease: false
198
212
  version_requirements: !ruby/object:Gem::Requirement
199
213
  requirements:
200
214
  - - "~>"
201
215
  - !ruby/object:Gem::Version
202
- version: 0.6.1
216
+ version: 0.7.0
203
217
  - !ruby/object:Gem::Dependency
204
218
  name: win32-event
205
219
  requirement: !ruby/object:Gem::Requirement
206
220
  requirements:
207
221
  - - "~>"
208
222
  - !ruby/object:Gem::Version
209
- version: 0.6.1
223
+ version: 0.6.3
210
224
  type: :runtime
211
225
  prerelease: false
212
226
  version_requirements: !ruby/object:Gem::Requirement
213
227
  requirements:
214
228
  - - "~>"
215
229
  - !ruby/object:Gem::Version
216
- version: 0.6.1
230
+ version: 0.6.3
217
231
  - !ruby/object:Gem::Dependency
218
232
  name: windows-pr
219
233
  requirement: !ruby/object:Gem::Requirement
220
234
  requirements:
221
235
  - - "~>"
222
236
  - !ruby/object:Gem::Version
223
- version: 1.2.5
237
+ version: 1.2.6
224
238
  type: :runtime
225
239
  prerelease: false
226
240
  version_requirements: !ruby/object:Gem::Requirement
227
241
  requirements:
228
242
  - - "~>"
229
243
  - !ruby/object:Gem::Version
230
- version: 1.2.5
244
+ version: 1.2.6
231
245
  - !ruby/object:Gem::Dependency
232
246
  name: certstore_c
233
247
  requirement: !ruby/object:Gem::Requirement
234
248
  requirements:
235
249
  - - "~>"
236
250
  - !ruby/object:Gem::Version
237
- version: 0.1.2
251
+ version: 0.1.7
238
252
  type: :runtime
239
253
  prerelease: false
240
254
  version_requirements: !ruby/object:Gem::Requirement
241
255
  requirements:
242
256
  - - "~>"
243
257
  - !ruby/object:Gem::Version
244
- version: 0.1.2
258
+ version: 0.1.7
245
259
  - !ruby/object:Gem::Dependency
246
260
  name: rake
247
261
  requirement: !ruby/object:Gem::Requirement
@@ -415,7 +429,9 @@ email:
415
429
  executables:
416
430
  - fluent-binlog-reader
417
431
  - fluent-ca-generate
432
+ - fluent-cap-ctl
418
433
  - fluent-cat
434
+ - fluent-ctl
419
435
  - fluent-debug
420
436
  - fluent-gem
421
437
  - fluent-plugin-config-format
@@ -427,9 +443,11 @@ files:
427
443
  - ".drone.yml"
428
444
  - ".github/ISSUE_TEMPLATE.md"
429
445
  - ".github/ISSUE_TEMPLATE/bug_report.md"
446
+ - ".github/ISSUE_TEMPLATE/config.yml"
430
447
  - ".github/ISSUE_TEMPLATE/feature_request.md"
431
448
  - ".github/PULL_REQUEST_TEMPLATE.md"
432
449
  - ".github/workflows/issue-auto-closer.yml"
450
+ - ".github/workflows/stale-actions.yml"
433
451
  - ".gitignore"
434
452
  - ".gitlab-ci.yml"
435
453
  - ".travis.yml"
@@ -447,7 +465,9 @@ files:
447
465
  - appveyor.yml
448
466
  - bin/fluent-binlog-reader
449
467
  - bin/fluent-ca-generate
468
+ - bin/fluent-cap-ctl
450
469
  - bin/fluent-cat
470
+ - bin/fluent-ctl
451
471
  - bin/fluent-debug
452
472
  - bin/fluent-gem
453
473
  - bin/fluent-plugin-config-format
@@ -458,8 +478,6 @@ files:
458
478
  - example/copy_roundrobin.conf
459
479
  - example/counter.conf
460
480
  - example/filter_stdout.conf
461
- - example/in_dummy_blocks.conf
462
- - example/in_dummy_with_compression.conf
463
481
  - example/in_forward.conf
464
482
  - example/in_forward_client.conf
465
483
  - example/in_forward_shared_key.conf
@@ -468,6 +486,8 @@ files:
468
486
  - example/in_forward_workers.conf
469
487
  - example/in_http.conf
470
488
  - example/in_out_forward.conf
489
+ - example/in_sample_blocks.conf
490
+ - example/in_sample_with_compression.conf
471
491
  - example/in_syslog.conf
472
492
  - example/in_tail.conf
473
493
  - example/in_tcp.conf
@@ -495,11 +515,14 @@ files:
495
515
  - fluent.conf
496
516
  - fluentd.gemspec
497
517
  - lib/fluent/agent.rb
518
+ - lib/fluent/capability.rb
498
519
  - lib/fluent/clock.rb
499
520
  - lib/fluent/command/binlog_reader.rb
500
521
  - lib/fluent/command/bundler_injection.rb
501
522
  - lib/fluent/command/ca_generate.rb
523
+ - lib/fluent/command/cap_ctl.rb
502
524
  - lib/fluent/command/cat.rb
525
+ - lib/fluent/command/ctl.rb
503
526
  - lib/fluent/command/debug.rb
504
527
  - lib/fluent/command/fluentd.rb
505
528
  - lib/fluent/command/plugin_config_formatter.rb
@@ -605,6 +628,7 @@ files:
605
628
  - lib/fluent/plugin/in_http.rb
606
629
  - lib/fluent/plugin/in_monitor_agent.rb
607
630
  - lib/fluent/plugin/in_object_space.rb
631
+ - lib/fluent/plugin/in_sample.rb
608
632
  - lib/fluent/plugin/in_syslog.rb
609
633
  - lib/fluent/plugin/in_tail.rb
610
634
  - lib/fluent/plugin/in_tail/position_file.rb
@@ -744,6 +768,8 @@ files:
744
768
  - templates/plugin_config_formatter/section.md.erb
745
769
  - test/command/test_binlog_reader.rb
746
770
  - test/command/test_ca_generate.rb
771
+ - test/command/test_cap_ctl.rb
772
+ - test/command/test_ctl.rb
747
773
  - test/command/test_fluentd.rb
748
774
  - test/command/test_plugin_config_formatter.rb
749
775
  - test/command/test_plugin_generator.rb
@@ -815,13 +841,13 @@ files:
815
841
  - test/plugin/test_formatter_single_value.rb
816
842
  - test/plugin/test_formatter_tsv.rb
817
843
  - test/plugin/test_in_debug_agent.rb
818
- - test/plugin/test_in_dummy.rb
819
844
  - test/plugin/test_in_exec.rb
820
845
  - test/plugin/test_in_forward.rb
821
846
  - test/plugin/test_in_gc_stat.rb
822
847
  - test/plugin/test_in_http.rb
823
848
  - test/plugin/test_in_monitor_agent.rb
824
849
  - test/plugin/test_in_object_space.rb
850
+ - test/plugin/test_in_sample.rb
825
851
  - test/plugin/test_in_syslog.rb
826
852
  - test/plugin/test_in_tail.rb
827
853
  - test/plugin/test_in_tcp.rb
@@ -877,6 +903,7 @@ files:
877
903
  - test/plugin_helper/data/cert/cert_chains/ca-cert.pem
878
904
  - test/plugin_helper/data/cert/cert_chains/cert-key.pem
879
905
  - test/plugin_helper/data/cert/cert_chains/cert.pem
906
+ - test/plugin_helper/data/cert/empty.pem
880
907
  - test/plugin_helper/data/cert/generate_cert.rb
881
908
  - test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem
882
909
  - test/plugin_helper/data/cert/with_ca/ca-cert-key.pem
@@ -919,6 +946,7 @@ files:
919
946
  - test/scripts/fluent/plugin/out_test.rb
920
947
  - test/scripts/fluent/plugin/out_test2.rb
921
948
  - test/scripts/fluent/plugin/parser_known.rb
949
+ - test/test_capability.rb
922
950
  - test/test_clock.rb
923
951
  - test/test_config.rb
924
952
  - test/test_configdsl.rb
@@ -977,6 +1005,8 @@ summary: Fluentd event collector
977
1005
  test_files:
978
1006
  - test/command/test_binlog_reader.rb
979
1007
  - test/command/test_ca_generate.rb
1008
+ - test/command/test_cap_ctl.rb
1009
+ - test/command/test_ctl.rb
980
1010
  - test/command/test_fluentd.rb
981
1011
  - test/command/test_plugin_config_formatter.rb
982
1012
  - test/command/test_plugin_generator.rb
@@ -1048,13 +1078,13 @@ test_files:
1048
1078
  - test/plugin/test_formatter_single_value.rb
1049
1079
  - test/plugin/test_formatter_tsv.rb
1050
1080
  - test/plugin/test_in_debug_agent.rb
1051
- - test/plugin/test_in_dummy.rb
1052
1081
  - test/plugin/test_in_exec.rb
1053
1082
  - test/plugin/test_in_forward.rb
1054
1083
  - test/plugin/test_in_gc_stat.rb
1055
1084
  - test/plugin/test_in_http.rb
1056
1085
  - test/plugin/test_in_monitor_agent.rb
1057
1086
  - test/plugin/test_in_object_space.rb
1087
+ - test/plugin/test_in_sample.rb
1058
1088
  - test/plugin/test_in_syslog.rb
1059
1089
  - test/plugin/test_in_tail.rb
1060
1090
  - test/plugin/test_in_tcp.rb
@@ -1110,6 +1140,7 @@ test_files:
1110
1140
  - test/plugin_helper/data/cert/cert_chains/ca-cert.pem
1111
1141
  - test/plugin_helper/data/cert/cert_chains/cert-key.pem
1112
1142
  - test/plugin_helper/data/cert/cert_chains/cert.pem
1143
+ - test/plugin_helper/data/cert/empty.pem
1113
1144
  - test/plugin_helper/data/cert/generate_cert.rb
1114
1145
  - test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem
1115
1146
  - test/plugin_helper/data/cert/with_ca/ca-cert-key.pem
@@ -1152,6 +1183,7 @@ test_files:
1152
1183
  - test/scripts/fluent/plugin/out_test.rb
1153
1184
  - test/scripts/fluent/plugin/out_test2.rb
1154
1185
  - test/scripts/fluent/plugin/parser_known.rb
1186
+ - test/test_capability.rb
1155
1187
  - test/test_clock.rb
1156
1188
  - test/test_config.rb
1157
1189
  - test/test_configdsl.rb