diff --git a/lib/fluent/command/fluentd.rb b/lib/fluent/command/fluentd.rb index c5c4684089..a2039988f0 100644 --- a/lib/fluent/command/fluentd.rb +++ b/lib/fluent/command/fluentd.rb @@ -155,7 +155,11 @@ cmd_opts[:strict_config_value] = b } -op.on('--enable-input-metrics', "Enable input plugin metrics on fluentd", TrueClass) {|b| +op.on('--enable-input-metrics', "[DEPRECATED] Enable input plugin metrics on fluentd", TrueClass) {|b| + cmd_opts[:enable_input_metrics] = b +} + +op.on('--disable-input-metrics', "Disable input plugin metrics on fluentd", FalseClass) {|b| cmd_opts[:enable_input_metrics] = b } diff --git a/lib/fluent/root_agent.rb b/lib/fluent/root_agent.rb index 6cb60916f5..6c19e9af59 100644 --- a/lib/fluent/root_agent.rb +++ b/lib/fluent/root_agent.rb @@ -86,7 +86,7 @@ def initialize(log:, system_config: SystemConfig.new, start_in_parallel: false) @without_source = system_config.without_source || false @source_only_mode = SourceOnlyMode.new(system_config.with_source_only, start_in_parallel) @source_only_buffer_agent = nil - @enable_input_metrics = system_config.enable_input_metrics || false + @enable_input_metrics = system_config.enable_input_metrics suppress_interval(system_config.emit_error_log_interval) unless system_config.emit_error_log_interval.nil? end diff --git a/lib/fluent/supervisor.rb b/lib/fluent/supervisor.rb index 34d9dadceb..528b984687 100644 --- a/lib/fluent/supervisor.rb +++ b/lib/fluent/supervisor.rb @@ -631,7 +631,7 @@ def self.default_options ignore_repeated_log_interval: nil, without_source: nil, with_source_only: nil, - enable_input_metrics: nil, + enable_input_metrics: true, enable_size_metrics: nil, use_v1_config: true, strict_config_value: nil, diff --git a/lib/fluent/system_config.rb b/lib/fluent/system_config.rb index 630a8ae28f..9a83fd1e3e 100644 --- a/lib/fluent/system_config.rb +++ b/lib/fluent/system_config.rb @@ -51,7 +51,7 @@ class SystemConfig config_param :strict_config_value, :bool, default: nil config_param :enable_msgpack_time_support, :bool, default: nil config_param :disable_shared_socket, :bool, default: nil - config_param :enable_input_metrics, :bool, default: nil + config_param :enable_input_metrics, :bool, default: true config_param :enable_size_metrics, :bool, default: nil config_param :enable_jit, :bool, default: false config_param :file_permission, default: nil do |v| diff --git a/test/command/test_fluentd.rb b/test/command/test_fluentd.rb index ec280e7253..d02c27ca29 100644 --- a/test/command/test_fluentd.rb +++ b/test/command/test_fluentd.rb @@ -1608,4 +1608,12 @@ def create_config_include_dir_configuration(config_path, config_dir, yaml_format "[info]: loading additional configuration file path=\"#{conf_dir}/child.yml\"") end end + + test "allow --disable-input-metrics option" do + conf_path = create_conf_file('empty.conf', '') + assert_log_matches( + create_cmdline(conf_path, '--disable-input-metrics'), + "#0 fluentd worker is now running worker=0" + ) + end end diff --git a/test/config/test_system_config.rb b/test/config/test_system_config.rb index 9a37a3d272..16a93788be 100644 --- a/test/config/test_system_config.rb +++ b/test/config/test_system_config.rb @@ -75,7 +75,7 @@ def parse_text(text) assert_nil(sc.suppress_config_dump) assert_nil(sc.without_source) assert_nil(sc.with_source_only) - assert_nil(sc.enable_input_metrics) + assert_true(sc.enable_input_metrics) assert_nil(sc.enable_size_metrics) assert_nil(sc.enable_msgpack_time_support) assert(!sc.enable_jit) @@ -97,7 +97,7 @@ def parse_text(text) 'with_source_only' => ['with_source_only', true], 'strict_config_value' => ['strict_config_value', true], 'enable_msgpack_time_support' => ['enable_msgpack_time_support', true], - 'enable_input_metrics' => ['enable_input_metrics', true], + 'enable_input_metrics' => ['enable_input_metrics', false], 'enable_size_metrics' => ['enable_size_metrics', true], 'enable_jit' => ['enable_jit', true], ) diff --git a/test/test_root_agent.rb b/test/test_root_agent.rb index 8b44b68699..7e2a07f7cd 100644 --- a/test/test_root_agent.rb +++ b/test/test_root_agent.rb @@ -18,6 +18,7 @@ def test_initialize 'suppress interval' => [{'emit_error_log_interval' => 30}, {:@suppress_emit_error_log_interval => 30}], 'without source' => [{'without_source' => true}, {:@without_source => true}], 'enable input metrics' => [{'enable_input_metrics' => true}, {:@enable_input_metrics => true}], + 'disable input metrics' => [{'enable_input_metrics' => false}, {:@enable_input_metrics => false}], ) def test_initialize_with_opt(data) opt, expected = data diff --git a/test/test_supervisor.rb b/test/test_supervisor.rb index fd89ca8ce4..dea35df33b 100644 --- a/test/test_supervisor.rb +++ b/test/test_supervisor.rb @@ -64,6 +64,7 @@ def test_system_config without_source true with_source_only true enable_get_dump true + enable_input_metrics false process_name "process_name" log_level info root_dir #{@tmp_root_dir} @@ -103,6 +104,7 @@ def test_system_config assert_equal true, sys_conf.without_source assert_equal true, sys_conf.with_source_only assert_equal true, sys_conf.enable_get_dump + assert_equal false, sys_conf.enable_input_metrics assert_equal "process_name", sys_conf.process_name assert_equal 2, sys_conf.log_level assert_equal @tmp_root_dir, sys_conf.root_dir