|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
Configuration strategy for performance tuning. More...
#include <performance_strategy.h>


Public Member Functions | |
| performance_strategy (performance_level level) | |
| Constructor with performance level. | |
| std::string | get_name () const override |
| Get the strategy name. | |
| void | apply (logger_config &config) const override |
| Apply this strategy to a logger configuration. | |
| int | priority () const override |
| Get the strategy priority. | |
Public Member Functions inherited from kcenon::logger::config_strategy_interface | |
| virtual | ~config_strategy_interface ()=default |
| virtual bool | is_applicable () const |
| Check if this strategy is applicable in the current context. | |
Static Private Member Functions | |
| static void | apply_low_latency (logger_config &config) |
| static void | apply_balanced (logger_config &config) |
| static void | apply_high_throughput (logger_config &config) |
| static void | apply_minimal_overhead (logger_config &config) |
| static std::string | level_to_string (performance_level level) |
Private Attributes | |
| performance_level | level_ |
Configuration strategy for performance tuning.
Applies performance-optimized settings based on the selected level. Each level is optimized for specific use cases.
Definition at line 44 of file performance_strategy.h.
|
inlineexplicit |
Constructor with performance level.
| level | The performance tuning level to apply |
Definition at line 50 of file performance_strategy.h.
|
inlineoverridevirtual |
Apply this strategy to a logger configuration.
| config | The configuration to modify |
Modifies the provided configuration according to the strategy's rules. Changes are applied in-place.
Implements kcenon::logger::config_strategy_interface.
Definition at line 57 of file performance_strategy.h.
References apply_balanced(), apply_high_throughput(), apply_low_latency(), apply_minimal_overhead(), kcenon::logger::balanced, kcenon::logger::high_throughput, level_, kcenon::logger::low_latency, and kcenon::logger::minimal_overhead.

|
inlinestaticprivate |
Definition at line 92 of file performance_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::buffer_size, kcenon::logger::logger_config::enable_batch_writing, kcenon::logger::logger_config::flush_interval, kcenon::logger::logger_config::max_queue_size, kcenon::logger::logger_config::queue_overflow_policy, and kcenon::logger::logger_config::use_lock_free.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 103 of file performance_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::buffer_size, kcenon::logger::logger_config::enable_batch_writing, kcenon::logger::logger_config::enable_compression, kcenon::logger::logger_config::flush_interval, kcenon::logger::logger_config::max_queue_size, kcenon::logger::logger_config::queue_overflow_policy, kcenon::logger::logger_config::use_lock_free, and kcenon::logger::logger_config::writer_thread_count.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 81 of file performance_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::buffer_size, kcenon::logger::logger_config::enable_batch_writing, kcenon::logger::logger_config::flush_interval, kcenon::logger::logger_config::max_queue_size, kcenon::logger::logger_config::queue_overflow_policy, and kcenon::logger::logger_config::use_lock_free.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 116 of file performance_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::buffer_size, kcenon::logger::logger_config::enable_batch_writing, kcenon::logger::logger_config::enable_color_output, kcenon::logger::logger_config::enable_metrics, kcenon::logger::logger_config::enable_source_location, kcenon::logger::logger_config::enable_structured_logging, and kcenon::logger::logger_config::flush_interval.
Referenced by apply().

|
inlineoverridevirtual |
Get the strategy name.
Implements kcenon::logger::config_strategy_interface.
Definition at line 53 of file performance_strategy.h.
References level_, and level_to_string().

|
inlinestaticprivate |
Definition at line 128 of file performance_strategy.h.
References kcenon::logger::balanced, kcenon::logger::high_throughput, kcenon::logger::low_latency, and kcenon::logger::minimal_overhead.
Referenced by get_name().

|
inlineoverridevirtual |
Get the strategy priority.
When multiple strategies are applied, they are sorted by priority (descending) before application.
Reimplemented from kcenon::logger::config_strategy_interface.
Definition at line 74 of file performance_strategy.h.
|
private |
Definition at line 79 of file performance_strategy.h.
Referenced by apply(), and get_name().