diff --git a/falco.yaml b/falco.yaml index 8d6a3a8f1a8..49bada33384 100644 --- a/falco.yaml +++ b/falco.yaml @@ -306,18 +306,17 @@ outputs: # as a parameter. # However, it will not address the root cause of the event pipe not keeping up. # -# `items`: the maximum number of items allowed in the queue, defaulting to 0. This means that -# the queue is unbounded. +# `capacity`: the maximum number of items allowed in the queue, defaulting to 0. This means that +# the queue remains unbounded aka this setting is disabled. # You can experiment with values greater or smaller than the anchor value 1000000. # # `recovery`: the strategy to follow when the queue becomes filled up. This also applies when # the queue is unbounded, and all available memory on the system is consumed. -# recovery: 0 means continue. -# recovery: 1 means simply exit (default behavior). -# recovery: 2 means empty the queue and then continue. -queue_capacity_outputs: - items: 0 - recovery: 1 +# `exit` is default, `continue` does nothing special and `empty` empties the queue and then +# continues. +outputs_queue: + capacity: 0 + recovery: exit ########################## diff --git a/userspace/falco/app/actions/init_outputs.cpp b/userspace/falco/app/actions/init_outputs.cpp index 13ce1460229..17c41ca7c18 100644 --- a/userspace/falco/app/actions/init_outputs.cpp +++ b/userspace/falco/app/actions/init_outputs.cpp @@ -63,8 +63,8 @@ falco::app::run_result falco::app::actions::init_outputs(falco::app::state& s) s.config->m_json_include_tags_property, s.config->m_output_timeout, s.config->m_buffered_outputs, - s.config->m_queue_capacity_outputs_items, - s.config->m_queue_capacity_outputs_recovery, + s.config->m_outputs_queue_capacity, + s.config->m_outputs_queue_recovery, s.config->m_time_format_iso_8601, hostname)); diff --git a/userspace/falco/configuration.cpp b/userspace/falco/configuration.cpp index 64c42eb4717..9fb18bf0b04 100644 --- a/userspace/falco/configuration.cpp +++ b/userspace/falco/configuration.cpp @@ -40,8 +40,8 @@ falco_configuration::falco_configuration(): m_notifications_max_burst(1000), m_watch_config_files(true), m_buffered_outputs(false), - m_queue_capacity_outputs_items(DEFAULT_ITEMS_QUEUE_CAPAXITY_OUTPUTS), - m_queue_capacity_outputs_recovery(RECOVERY_EXIT), + m_outputs_queue_capacity(DEFAULT_OUTPUTS_QUEUE_CAPACITY), + m_outputs_queue_recovery(RECOVERY_EXIT), m_time_format_iso_8601(false), m_output_timeout(2000), m_grpc_enabled(false), @@ -254,8 +254,8 @@ void falco_configuration::load_yaml(const std::string& config_name, const yaml_h } m_buffered_outputs = config.get_scalar("buffered_outputs", false); - m_queue_capacity_outputs_items = config.get_scalar("queue_capacity_outputs.items", DEFAULT_ITEMS_QUEUE_CAPAXITY_OUTPUTS); - m_queue_capacity_outputs_recovery = config.get_scalar("queue_capacity_outputs.recovery", RECOVERY_EXIT); + m_outputs_queue_capacity = config.get_scalar("outputs_queue.capacity", DEFAULT_OUTPUTS_QUEUE_CAPACITY); + m_outputs_queue_recovery = config.get_scalar("outputs_queue.recovery", RECOVERY_EXIT); m_time_format_iso_8601 = config.get_scalar("time_format_iso_8601", false); falco_logger::log_stderr = config.get_scalar("log_stderr", false); diff --git a/userspace/falco/configuration.h b/userspace/falco/configuration.h index d33e374b89f..24626a939d2 100644 --- a/userspace/falco/configuration.h +++ b/userspace/falco/configuration.h @@ -70,8 +70,8 @@ class falco_configuration bool m_watch_config_files; bool m_buffered_outputs; - size_t m_queue_capacity_outputs_items; - uint32_t m_queue_capacity_outputs_recovery; + size_t m_outputs_queue_capacity; + uint32_t m_outputs_queue_recovery; bool m_time_format_iso_8601; uint32_t m_output_timeout; diff --git a/userspace/falco/configuration_aux.h b/userspace/falco/configuration_aux.h index 31504e30041..35eff90de30 100644 --- a/userspace/falco/configuration_aux.h +++ b/userspace/falco/configuration_aux.h @@ -13,7 +13,7 @@ limitations under the License. #pragma once -#define DEFAULT_ITEMS_QUEUE_CAPAXITY_OUTPUTS 0 +#define DEFAULT_OUTPUTS_QUEUE_CAPACITY 0 enum outputs_recovery_code { RECOVERY_DROP_CURRENT = 0, /* queue_capacity_outputs recovery strategy of continuing on. */ diff --git a/userspace/falco/falco_outputs.cpp b/userspace/falco/falco_outputs.cpp index 889f1b65ed7..4bdf357ca04 100644 --- a/userspace/falco/falco_outputs.cpp +++ b/userspace/falco/falco_outputs.cpp @@ -47,8 +47,8 @@ falco_outputs::falco_outputs( bool json_include_tags_property, uint32_t timeout, bool buffered, - size_t queue_capacity_outputs_items, - uint32_t queue_capacity_outputs_recovery, + size_t outputs_queue_capacity, + uint32_t outputs_queue_recovery, bool time_format_iso_8601, const std::string& hostname) { @@ -68,12 +68,12 @@ falco_outputs::falco_outputs( } m_worker_thread = std::thread(&falco_outputs::worker, this); - if (queue_capacity_outputs_items > 0) + if (outputs_queue_capacity > 0) { - m_queue.set_capacity(queue_capacity_outputs_items); + m_queue.set_capacity(outputs_queue_capacity); } - m_recovery = queue_capacity_outputs_recovery; + m_recovery = outputs_queue_recovery; } falco_outputs::~falco_outputs() diff --git a/userspace/falco/falco_outputs.h b/userspace/falco/falco_outputs.h index cbee55d09fe..fb4513d0b73 100644 --- a/userspace/falco/falco_outputs.h +++ b/userspace/falco/falco_outputs.h @@ -46,8 +46,8 @@ class falco_outputs bool json_include_tags_property, uint32_t timeout, bool buffered, - size_t queue_capacity_outputs_items, - uint32_t queue_capacity_outputs_recovery, + size_t outputs_queue_capacity, + uint32_t outputs_queue_recovery, bool time_format_iso_8601, const std::string& hostname); diff --git a/userspace/falco/stats_writer.cpp b/userspace/falco/stats_writer.cpp index 673b62c71de..d910034f512 100644 --- a/userspace/falco/stats_writer.cpp +++ b/userspace/falco/stats_writer.cpp @@ -86,9 +86,9 @@ stats_writer::stats_writer( m_config = config; // capacity and controls should not be relevant for stats outputs, adopt capacity // for completeness, but do not implement config recovery strategies. - if (config->m_queue_capacity_outputs_items > 0) + if (config->m_outputs_queue_capacity > 0) { - m_queue.set_capacity(config->m_queue_capacity_outputs_items); + m_queue.set_capacity(config->m_outputs_queue_capacity); } if (config->m_metrics_enabled) {