fluentd 1.13.0 → 1.14.0.rc

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.yaml +69 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.yaml +38 -0
  4. data/.github/workflows/linux-test.yaml +1 -1
  5. data/.github/workflows/windows-test.yaml +1 -1
  6. data/.gitlab-ci.yml +0 -22
  7. data/CHANGELOG.md +87 -0
  8. data/README.md +2 -2
  9. data/example/v0_12_filter.conf +2 -2
  10. data/fluentd.gemspec +1 -1
  11. data/lib/fluent/command/fluentd.rb +8 -0
  12. data/lib/fluent/command/plugin_generator.rb +15 -5
  13. data/lib/fluent/compat/output.rb +9 -6
  14. data/lib/fluent/config.rb +1 -1
  15. data/lib/fluent/config/section.rb +5 -0
  16. data/lib/fluent/config/types.rb +15 -0
  17. data/lib/fluent/config/v1_parser.rb +3 -2
  18. data/lib/fluent/env.rb +2 -1
  19. data/lib/fluent/event_router.rb +28 -1
  20. data/lib/fluent/oj_options.rb +62 -0
  21. data/lib/fluent/plugin.rb +10 -1
  22. data/lib/fluent/plugin/bare_output.rb +49 -8
  23. data/lib/fluent/plugin/buffer.rb +84 -22
  24. data/lib/fluent/plugin/file_wrapper.rb +22 -0
  25. data/lib/fluent/plugin/filter.rb +35 -1
  26. data/lib/fluent/plugin/formatter.rb +1 -0
  27. data/lib/fluent/plugin/formatter_json.rb +9 -7
  28. data/lib/fluent/plugin/in_monitor_agent.rb +4 -2
  29. data/lib/fluent/plugin/in_syslog.rb +13 -1
  30. data/lib/fluent/plugin/in_tail.rb +45 -4
  31. data/lib/fluent/plugin/in_tail/position_file.rb +20 -18
  32. data/lib/fluent/plugin/input.rb +39 -1
  33. data/lib/fluent/plugin/metrics.rb +119 -0
  34. data/lib/fluent/plugin/metrics_local.rb +96 -0
  35. data/lib/fluent/plugin/multi_output.rb +43 -6
  36. data/lib/fluent/plugin/out_forward.rb +1 -3
  37. data/lib/fluent/plugin/output.rb +74 -33
  38. data/lib/fluent/plugin/parser_json.rb +2 -3
  39. data/lib/fluent/plugin/service_discovery.rb +0 -15
  40. data/lib/fluent/plugin_helper.rb +1 -0
  41. data/lib/fluent/plugin_helper/event_emitter.rb +8 -1
  42. data/lib/fluent/plugin_helper/http_server/router.rb +1 -1
  43. data/lib/fluent/plugin_helper/metrics.rb +129 -0
  44. data/lib/fluent/plugin_helper/server.rb +4 -2
  45. data/lib/fluent/root_agent.rb +6 -0
  46. data/lib/fluent/supervisor.rb +2 -0
  47. data/lib/fluent/system_config.rb +9 -1
  48. data/lib/fluent/test/driver/storage.rb +30 -0
  49. data/lib/fluent/version.rb +1 -1
  50. data/templates/new_gem/lib/fluent/plugin/storage.rb.erb +40 -0
  51. data/templates/new_gem/test/plugin/test_storage.rb.erb +18 -0
  52. data/test/command/test_cat.rb +11 -8
  53. data/test/command/test_plugin_generator.rb +2 -1
  54. data/test/config/test_section.rb +9 -0
  55. data/test/config/test_system_config.rb +6 -0
  56. data/test/config/test_types.rb +7 -0
  57. data/test/plugin/in_tail/test_position_file.rb +48 -8
  58. data/test/plugin/test_bare_output.rb +13 -0
  59. data/test/plugin/test_buffer.rb +8 -2
  60. data/test/plugin/test_file_wrapper.rb +11 -0
  61. data/test/plugin/test_filter.rb +11 -0
  62. data/test/plugin/test_in_forward.rb +59 -83
  63. data/test/plugin/test_in_http.rb +46 -43
  64. data/test/plugin/test_in_monitor_agent.rb +214 -8
  65. data/test/plugin/test_in_syslog.rb +101 -56
  66. data/test/plugin/test_in_tail.rb +149 -48
  67. data/test/plugin/test_in_tcp.rb +45 -32
  68. data/test/plugin/test_in_udp.rb +47 -33
  69. data/test/plugin/test_input.rb +11 -0
  70. data/test/plugin/test_metrics.rb +294 -0
  71. data/test/plugin/test_metrics_local.rb +96 -0
  72. data/test/plugin/test_multi_output.rb +25 -1
  73. data/test/plugin/test_out_forward.rb +103 -89
  74. data/test/plugin/test_out_stream.rb +18 -8
  75. data/test/plugin/test_output.rb +16 -0
  76. data/test/plugin_helper/http_server/test_route.rb +1 -1
  77. data/test/plugin_helper/test_child_process.rb +1 -1
  78. data/test/plugin_helper/test_event_emitter.rb +29 -0
  79. data/test/plugin_helper/test_http_server_helper.rb +33 -26
  80. data/test/plugin_helper/test_metrics.rb +137 -0
  81. data/test/plugin_helper/test_server.rb +137 -138
  82. data/test/plugin_helper/test_socket.rb +16 -9
  83. data/test/test_event_time.rb +2 -2
  84. data/test/test_oj_options.rb +55 -0
  85. data/test/test_plugin_classes.rb +102 -0
  86. data/test/test_root_agent.rb +30 -1
  87. metadata +27 -12
  88. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  89. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -23
@@ -6,17 +6,24 @@ require 'socket'
6
6
  require 'openssl'
7
7
 
8
8
  class SocketHelperTest < Test::Unit::TestCase
9
- PORT = unused_port
10
9
  CERT_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/without_ca')
11
10
  CA_CERT_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/with_ca')
12
11
  CERT_CHAINS_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/cert_chains')
13
12
 
13
+ def setup
14
+ @port = unused_port
15
+ end
16
+
17
+ def teardown
18
+ @port = nil
19
+ end
20
+
14
21
  class SocketHelperTestPlugin < Fluent::Plugin::TestBase
15
22
  helpers :socket
16
23
  end
17
24
 
18
25
  class EchoTLSServer
19
- def initialize(host = '127.0.0.1', port = PORT, cert_path: nil, private_key_path: nil, ca_path: nil)
26
+ def initialize(port, host: '127.0.0.1', cert_path: nil, private_key_path: nil, ca_path: nil)
20
27
  server = TCPServer.open(host, port)
21
28
  ctx = OpenSSL::SSL::SSLContext.new
22
29
  ctx.cert = OpenSSL::X509::Certificate.new(File.open(cert_path)) if cert_path
@@ -91,8 +98,8 @@ class SocketHelperTest < Test::Unit::TestCase
91
98
  cert_path = File.join(CERT_DIR, 'cert.pem')
92
99
  private_key_path = File.join(CERT_DIR, 'cert-key.pem')
93
100
 
94
- EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path).start do
95
- client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, verify_fqdn: false, cert_paths: [cert_path])
101
+ EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path).start do
102
+ client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_paths: [cert_path])
96
103
  client.write('hello')
97
104
  assert_equal 'hello', client.readpartial(100)
98
105
  client.close
@@ -105,8 +112,8 @@ class SocketHelperTest < Test::Unit::TestCase
105
112
 
106
113
  ca_cert_path = File.join(CA_CERT_DIR, 'ca-cert.pem')
107
114
 
108
- EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path).start do
109
- client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, verify_fqdn: false, cert_paths: [ca_cert_path])
115
+ EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path).start do
116
+ client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_paths: [ca_cert_path])
110
117
  client.write('hello')
111
118
  assert_equal 'hello', client.readpartial(100)
112
119
  client.close
@@ -121,8 +128,8 @@ class SocketHelperTest < Test::Unit::TestCase
121
128
  client_cert_path = File.join(CERT_CHAINS_DIR, 'cert.pem')
122
129
  client_private_key_path = File.join(CERT_CHAINS_DIR, 'cert-key.pem')
123
130
 
124
- EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path, ca_path: client_ca_cert_path).start do
125
- client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, verify_fqdn: false, cert_path: client_cert_path, private_key_path: client_private_key_path, cert_paths: [cert_path])
131
+ EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path, ca_path: client_ca_cert_path).start do
132
+ client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_path: client_cert_path, private_key_path: client_private_key_path, cert_paths: [cert_path])
126
133
  client.write('hello')
127
134
  assert_equal 'hello', client.readpartial(100)
128
135
  client.close
@@ -133,7 +140,7 @@ class SocketHelperTest < Test::Unit::TestCase
133
140
  cert_path = File.expand_path(File.dirname(__FILE__) + '/data/cert/empty.pem')
134
141
 
135
142
  assert_raise Fluent::ConfigError do
136
- SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, cert_path: cert_path)
143
+ SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, cert_path: cert_path)
137
144
  end
138
145
  end
139
146
  end
@@ -64,8 +64,8 @@ class EventTimeTest < Test::Unit::TestCase
64
64
 
65
65
  test 'Oj.dump' do
66
66
  time = Fluent::EventTime.new(100)
67
- require 'fluent/env'
68
- Oj.default_options = Fluent::DEFAULT_OJ_OPTIONS
67
+ require 'fluent/oj_options'
68
+ Fluent::OjOptions.load_env
69
69
  assert_equal('{"time":100}', Oj.dump({'time' => time}))
70
70
  assert_equal('["tag",100,{"key":"value"}]', Oj.dump(["tag", time, {"key" => "value"}], mode: :compat))
71
71
  end
@@ -0,0 +1,55 @@
1
+ require_relative 'helper'
2
+ require 'fluent/test'
3
+ require 'fluent/oj_options'
4
+
5
+ class OjOptionsTest < ::Test::Unit::TestCase
6
+ begin
7
+ require 'oj'
8
+ @@oj_is_avaibale = true
9
+ rescue LoadError
10
+ @@oj_is_avaibale = false
11
+ end
12
+
13
+ setup do
14
+ @orig_env = {}
15
+ ENV.each do |key, value|
16
+ @orig_env[key] = value if key.start_with?("FLUENT_OJ_OPTION_")
17
+ end
18
+ end
19
+
20
+ teardown do
21
+ ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
22
+ @orig_env.each { |key, value| ENV[key] = value }
23
+ end
24
+
25
+ test "available?" do
26
+ assert_equal(@@oj_is_avaibale, Fluent::OjOptions.available?)
27
+ end
28
+
29
+ sub_test_case "set by environment variable" do
30
+ test "when no env vars set, returns default options" do
31
+ ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
32
+ defaults = Fluent::OjOptions::DEFAULTS
33
+ assert_equal(defaults, Fluent::OjOptions.load_env)
34
+ assert_equal(defaults, Oj.default_options.slice(*defaults.keys)) if @@oj_is_avaibale
35
+ end
36
+
37
+ test "valid env var passed with valid value, default is overridden" do
38
+ ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":bigdecimal"
39
+ assert_equal(:bigdecimal, Fluent::OjOptions.load_env[:bigdecimal_load])
40
+ assert_equal(:bigdecimal, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
41
+ end
42
+
43
+ test "valid env var passed with invalid value, default is not overriden" do
44
+ ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":conor"
45
+ assert_equal(:float, Fluent::OjOptions.load_env[:bigdecimal_load])
46
+ assert_equal(:float, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
47
+ end
48
+
49
+ test "invalid env var passed, nothing done with it" do
50
+ ENV["FLUENT_OJ_OPTION_CONOR"] = ":conor"
51
+ assert_equal(nil, Fluent::OjOptions.load_env[:conor])
52
+ assert_equal(nil, Oj.default_options[:conor]) if @@oj_is_avaibale
53
+ end
54
+ end
55
+ end
@@ -5,11 +5,78 @@ require 'fluent/plugin/bare_output'
5
5
  require 'fluent/plugin/filter'
6
6
 
7
7
  module FluentTest
8
+ class FluentTestCounterMetrics < Fluent::Plugin::Metrics
9
+ Fluent::Plugin.register_metrics('test_counter', self)
10
+
11
+ attr_reader :data
12
+
13
+ def initialize
14
+ super
15
+ @data = 0
16
+ end
17
+ def get
18
+ @data
19
+ end
20
+ def inc
21
+ @data +=1
22
+ end
23
+ def add(value)
24
+ @data += value
25
+ end
26
+ def set(value)
27
+ @data = value
28
+ end
29
+ def close
30
+ @data = 0
31
+ super
32
+ end
33
+ end
34
+
35
+ class FluentTestGaugeMetrics < Fluent::Plugin::Metrics
36
+ Fluent::Plugin.register_metrics('test_gauge', self)
37
+
38
+ attr_reader :data
39
+
40
+ def initialize
41
+ super
42
+ @data = 0
43
+ end
44
+ def get
45
+ @data
46
+ end
47
+ def inc
48
+ @data += 1
49
+ end
50
+ def dec
51
+ @data -=1
52
+ end
53
+ def add(value)
54
+ @data += value
55
+ end
56
+ def sub(value)
57
+ @data -= value
58
+ end
59
+ def set(value)
60
+ @data = value
61
+ end
62
+ def close
63
+ @data = 0
64
+ super
65
+ end
66
+ end
67
+
8
68
  class FluentTestInput < ::Fluent::Plugin::Input
9
69
  ::Fluent::Plugin.register_input('test_in', self)
10
70
 
11
71
  attr_reader :started
12
72
 
73
+ def initialize
74
+ super
75
+ # stub metrics instances
76
+ @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
77
+ @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
78
+ end
79
+
13
80
  def start
14
81
  super
15
82
  @started = true
@@ -28,6 +95,13 @@ module FluentTest
28
95
 
29
96
  config_param :num, :integer, default: 10000
30
97
 
98
+ def initialize
99
+ super
100
+ # stub metrics instances
101
+ @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
102
+ @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
103
+ end
104
+
31
105
  def start
32
106
  super
33
107
  @started = true
@@ -49,6 +123,15 @@ module FluentTest
49
123
  def initialize
50
124
  super
51
125
  @events = Hash.new { |h, k| h[k] = [] }
126
+ # stub metrics instances
127
+ @num_errors_metrics = FluentTest::FluentTestCounterMetrics.new
128
+ @emit_count_metrics = FluentTest::FluentTestCounterMetrics.new
129
+ @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
130
+ @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
131
+ @write_count_metrics = FluentTest::FluentTestCounterMetrics.new
132
+ @rollback_count_metrics = FluentTest::FluentTestCounterMetrics.new
133
+ @flush_time_count_metrics = FluentTest::FluentTestCounterMetrics.new
134
+ @slow_flush_count_metrics = FluentTest::FluentTestCounterMetrics.new
52
135
  end
53
136
 
54
137
  attr_reader :events
@@ -168,6 +251,19 @@ module FluentTest
168
251
  class FluentTestErrorOutput < ::Fluent::Plugin::Output
169
252
  ::Fluent::Plugin.register_output('test_out_error', self)
170
253
 
254
+ def initialize
255
+ super
256
+ # stub metrics instances
257
+ @num_errors_metrics = FluentTest::FluentTestCounterMetrics.new
258
+ @emit_count_metrics = FluentTest::FluentTestCounterMetrics.new
259
+ @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
260
+ @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
261
+ @write_count_metrics = FluentTest::FluentTestCounterMetrics.new
262
+ @rollback_count_metrics = FluentTest::FluentTestCounterMetrics.new
263
+ @flush_time_count_metrics = FluentTest::FluentTestCounterMetrics.new
264
+ @slow_flush_count_metrics = FluentTest::FluentTestCounterMetrics.new
265
+ end
266
+
171
267
  def format(tag, time, record)
172
268
  raise "emit error!"
173
269
  end
@@ -184,6 +280,9 @@ module FluentTest
184
280
  super()
185
281
  @num = 0
186
282
  @field = field
283
+ # stub metrics instances
284
+ @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
285
+ @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
187
286
  end
188
287
 
189
288
  attr_reader :num
@@ -213,6 +312,9 @@ module FluentTest
213
312
  super()
214
313
  @num = 0
215
314
  @field = field
315
+ # stub metrics instances
316
+ @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
317
+ @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
216
318
  end
217
319
 
218
320
  attr_reader :num
@@ -16,7 +16,8 @@ class RootAgentTest < ::Test::Unit::TestCase
16
16
 
17
17
  data(
18
18
  'suppress interval' => [{'emit_error_log_interval' => 30}, {:@suppress_emit_error_log_interval => 30}],
19
- 'without source' => [{'without_source' => true}, {:@without_source => true}]
19
+ 'without source' => [{'without_source' => true}, {:@without_source => true}],
20
+ 'enable input metrics' => [{'enable_input_metrics' => true}, {:@enable_input_metrics => true}],
20
21
  )
21
22
  def test_initialize_with_opt(data)
22
23
  opt, expected = data
@@ -109,6 +110,34 @@ EOC
109
110
  end
110
111
  end
111
112
 
113
+ test 'raises configuration error for label without name' do
114
+ conf = <<-EOC
115
+ <label>
116
+ @type test_out
117
+ </label>
118
+ EOC
119
+ errmsg = "Missing symbol argument on <label> directive"
120
+ assert_raise Fluent::ConfigError.new(errmsg) do
121
+ configure_ra(conf)
122
+ end
123
+ end
124
+
125
+ test 'raises configuration error for <label @ROOT>' do
126
+ conf = <<-EOC
127
+ <source>
128
+ @type test_in
129
+ @label @ROOT
130
+ </source>
131
+ <label @ROOT>
132
+ @type test_out
133
+ </label>
134
+ EOC
135
+ errmsg = "@ROOT for <label> is not permitted, reserved for getting root router"
136
+ assert_raise Fluent::ConfigError.new(errmsg) do
137
+ configure_ra(conf)
138
+ end
139
+ end
140
+
112
141
  test 'raises configuration error if there are not match sections in label section' do
113
142
  conf = <<-EOC
114
143
  <source>
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: 1.13.0
4
+ version: 1.14.0.rc
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-29 00:00:00.000000000 Z
11
+ date: 2021-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,7 +107,7 @@ dependencies:
107
107
  version: 0.5.1
108
108
  - - "<"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.7.0
110
+ version: 0.8.0
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ dependencies:
117
117
  version: 0.5.1
118
118
  - - "<"
119
119
  - !ruby/object:Gem::Version
120
- version: 0.7.0
120
+ version: 0.8.0
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: sigdump
123
123
  requirement: !ruby/object:Gem::Requirement
@@ -373,9 +373,9 @@ files:
373
373
  - ".deepsource.toml"
374
374
  - ".drone.yml"
375
375
  - ".github/ISSUE_TEMPLATE.md"
376
- - ".github/ISSUE_TEMPLATE/bug_report.md"
376
+ - ".github/ISSUE_TEMPLATE/bug_report.yaml"
377
377
  - ".github/ISSUE_TEMPLATE/config.yml"
378
- - ".github/ISSUE_TEMPLATE/feature_request.md"
378
+ - ".github/ISSUE_TEMPLATE/feature_request.yaml"
379
379
  - ".github/PULL_REQUEST_TEMPLATE.md"
380
380
  - ".github/workflows/issue-auto-closer.yml"
381
381
  - ".github/workflows/linux-test.yaml"
@@ -519,6 +519,7 @@ files:
519
519
  - lib/fluent/match.rb
520
520
  - lib/fluent/mixin.rb
521
521
  - lib/fluent/msgpack_factory.rb
522
+ - lib/fluent/oj_options.rb
522
523
  - lib/fluent/output.rb
523
524
  - lib/fluent/output_chain.rb
524
525
  - lib/fluent/parser.rb
@@ -568,6 +569,8 @@ files:
568
569
  - lib/fluent/plugin/in_udp.rb
569
570
  - lib/fluent/plugin/in_unix.rb
570
571
  - lib/fluent/plugin/input.rb
572
+ - lib/fluent/plugin/metrics.rb
573
+ - lib/fluent/plugin/metrics_local.rb
571
574
  - lib/fluent/plugin/multi_output.rb
572
575
  - lib/fluent/plugin/out_copy.rb
573
576
  - lib/fluent/plugin/out_exec.rb
@@ -632,6 +635,7 @@ files:
632
635
  - lib/fluent/plugin_helper/http_server/server.rb
633
636
  - lib/fluent/plugin_helper/http_server/ssl_context_builder.rb
634
637
  - lib/fluent/plugin_helper/inject.rb
638
+ - lib/fluent/plugin_helper/metrics.rb
635
639
  - lib/fluent/plugin_helper/parser.rb
636
640
  - lib/fluent/plugin_helper/record_accessor.rb
637
641
  - lib/fluent/plugin_helper/retry_state.rb
@@ -664,6 +668,7 @@ files:
664
668
  - lib/fluent/test/driver/multi_output.rb
665
669
  - lib/fluent/test/driver/output.rb
666
670
  - lib/fluent/test/driver/parser.rb
671
+ - lib/fluent/test/driver/storage.rb
667
672
  - lib/fluent/test/driver/test_event_router.rb
668
673
  - lib/fluent/test/filter_test.rb
669
674
  - lib/fluent/test/formatter_test.rb
@@ -689,12 +694,14 @@ files:
689
694
  - templates/new_gem/lib/fluent/plugin/input.rb.erb
690
695
  - templates/new_gem/lib/fluent/plugin/output.rb.erb
691
696
  - templates/new_gem/lib/fluent/plugin/parser.rb.erb
697
+ - templates/new_gem/lib/fluent/plugin/storage.rb.erb
692
698
  - templates/new_gem/test/helper.rb.erb
693
699
  - templates/new_gem/test/plugin/test_filter.rb.erb
694
700
  - templates/new_gem/test/plugin/test_formatter.rb.erb
695
701
  - templates/new_gem/test/plugin/test_input.rb.erb
696
702
  - templates/new_gem/test/plugin/test_output.rb.erb
697
703
  - templates/new_gem/test/plugin/test_parser.rb.erb
704
+ - templates/new_gem/test/plugin/test_storage.rb.erb
698
705
  - templates/plugin_config_formatter/param.md-compact.erb
699
706
  - templates/plugin_config_formatter/param.md-table.erb
700
707
  - templates/plugin_config_formatter/param.md.erb
@@ -790,6 +797,8 @@ files:
790
797
  - test/plugin/test_in_unix.rb
791
798
  - test/plugin/test_input.rb
792
799
  - test/plugin/test_metadata.rb
800
+ - test/plugin/test_metrics.rb
801
+ - test/plugin/test_metrics_local.rb
793
802
  - test/plugin/test_multi_output.rb
794
803
  - test/plugin/test_out_copy.rb
795
804
  - test/plugin/test_out_exec.rb
@@ -865,6 +874,7 @@ files:
865
874
  - test/plugin_helper/test_formatter.rb
866
875
  - test/plugin_helper/test_http_server_helper.rb
867
876
  - test/plugin_helper/test_inject.rb
877
+ - test/plugin_helper/test_metrics.rb
868
878
  - test/plugin_helper/test_parser.rb
869
879
  - test/plugin_helper/test_record_accessor.rb
870
880
  - test/plugin_helper/test_retry_state.rb
@@ -899,6 +909,7 @@ files:
899
909
  - test/test_match.rb
900
910
  - test/test_mixin.rb
901
911
  - test/test_msgpack_factory.rb
912
+ - test/test_oj_options.rb
902
913
  - test/test_output.rb
903
914
  - test/test_plugin.rb
904
915
  - test/test_plugin_classes.rb
@@ -918,7 +929,7 @@ homepage: https://www.fluentd.org/
918
929
  licenses:
919
930
  - Apache-2.0
920
931
  metadata: {}
921
- post_install_message:
932
+ post_install_message:
922
933
  rdoc_options: []
923
934
  require_paths:
924
935
  - lib
@@ -929,12 +940,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
929
940
  version: '2.4'
930
941
  required_rubygems_version: !ruby/object:Gem::Requirement
931
942
  requirements:
932
- - - ">="
943
+ - - ">"
933
944
  - !ruby/object:Gem::Version
934
- version: '0'
945
+ version: 1.3.1
935
946
  requirements: []
936
- rubygems_version: 3.2.5
937
- signing_key:
947
+ rubygems_version: 3.2.3
948
+ signing_key:
938
949
  specification_version: 4
939
950
  summary: Fluentd event collector
940
951
  test_files:
@@ -1029,6 +1040,8 @@ test_files:
1029
1040
  - test/plugin/test_in_unix.rb
1030
1041
  - test/plugin/test_input.rb
1031
1042
  - test/plugin/test_metadata.rb
1043
+ - test/plugin/test_metrics.rb
1044
+ - test/plugin/test_metrics_local.rb
1032
1045
  - test/plugin/test_multi_output.rb
1033
1046
  - test/plugin/test_out_copy.rb
1034
1047
  - test/plugin/test_out_exec.rb
@@ -1104,6 +1117,7 @@ test_files:
1104
1117
  - test/plugin_helper/test_formatter.rb
1105
1118
  - test/plugin_helper/test_http_server_helper.rb
1106
1119
  - test/plugin_helper/test_inject.rb
1120
+ - test/plugin_helper/test_metrics.rb
1107
1121
  - test/plugin_helper/test_parser.rb
1108
1122
  - test/plugin_helper/test_record_accessor.rb
1109
1123
  - test/plugin_helper/test_retry_state.rb
@@ -1138,6 +1152,7 @@ test_files:
1138
1152
  - test/test_match.rb
1139
1153
  - test/test_mixin.rb
1140
1154
  - test/test_msgpack_factory.rb
1155
+ - test/test_oj_options.rb
1141
1156
  - test/test_output.rb
1142
1157
  - test/test_plugin.rb
1143
1158
  - test/test_plugin_classes.rb