|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
Performance statistics for logger operations. More...
#include <logger_metrics.h>

Classes | |
| struct | writer_stats_compat |
Public Member Functions | |
| logger_performance_stats ()=default | |
| logger_performance_stats (const logger_performance_stats &other) | |
| logger_performance_stats & | operator= (const logger_performance_stats &other) |
| logger_performance_stats (logger_performance_stats &&other) noexcept | |
| double | get_messages_per_second () const |
| Get messages per second. | |
| uint64_t | get_avg_enqueue_time_ns () const |
| Get average enqueue time in nanoseconds. | |
| double | get_queue_utilization_percent () const |
| Get queue utilization percentage. | |
| double | get_drop_rate_percent () const |
| double | get_bytes_per_second () const |
| void | reset () |
| Reset all statistics. | |
Public Attributes | |
| std::atomic< uint64_t > | messages_logged {0} |
| Total messages logged. | |
| std::atomic< uint64_t > | messages_dropped {0} |
| Messages dropped due to queue full. | |
| std::atomic< uint64_t > | total_log_time_ns {0} |
| Total time spent logging (nanoseconds) | |
| std::atomic< uint64_t > | queue_size {0} |
| Current queue size. | |
| std::atomic< uint64_t > | max_queue_size {0} |
| Maximum queue size reached. | |
| std::atomic< uint64_t > | writer_errors {0} |
| Number of writer errors. | |
| std::atomic< uint64_t > | flush_operations {0} |
| Number of flush operations. | |
| std::atomic< uint64_t > | messages_enqueued {0} |
| Legacy alias for enqueued messages. | |
| std::atomic< uint64_t > | messages_processed {0} |
| Legacy alias for processed messages. | |
| std::map< std::string, writer_stats_compat > | writer_stats |
| Legacy per-writer statistics. | |
Performance statistics for logger operations.
Definition at line 25 of file logger_metrics.h.
|
default |
|
inline |
Definition at line 50 of file logger_metrics.h.
|
inlinenoexcept |
Definition at line 79 of file logger_metrics.h.
|
inline |
Get average enqueue time in nanoseconds.
Definition at line 104 of file logger_metrics.h.
References messages_logged, and total_log_time_ns.
Referenced by print_metrics().

|
inline |
Definition at line 130 of file logger_metrics.h.
|
inline |
Definition at line 121 of file logger_metrics.h.
References messages_dropped, and messages_enqueued.
|
inline |
Get messages per second.
Definition at line 94 of file logger_metrics.h.
References messages_logged, and total_log_time_ns.
Referenced by print_metrics().

|
inline |
Get queue utilization percentage.
Definition at line 114 of file logger_metrics.h.
References max_queue_size, and queue_size.
Referenced by print_metrics().

|
inline |
Definition at line 62 of file logger_metrics.h.
References flush_operations, max_queue_size, messages_dropped, messages_enqueued, messages_logged, messages_processed, queue_size, total_log_time_ns, writer_errors, and writer_stats.
|
inline |
Reset all statistics.
Definition at line 137 of file logger_metrics.h.
References flush_operations, max_queue_size, messages_dropped, messages_enqueued, messages_logged, messages_processed, queue_size, total_log_time_ns, writer_errors, and writer_stats.
Referenced by kcenon::logger::logger::enable_metrics_collection().

| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::flush_operations {0} |
Number of flush operations.
Definition at line 32 of file logger_metrics.h.
Referenced by operator=(), print_metrics(), kcenon::logger::metrics::record_flush_operation(), and reset().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::max_queue_size {0} |
Maximum queue size reached.
Definition at line 30 of file logger_metrics.h.
Referenced by get_queue_utilization_percent(), operator=(), reset(), and kcenon::logger::metrics::update_queue_size().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::messages_dropped {0} |
Messages dropped due to queue full.
Definition at line 27 of file logger_metrics.h.
Referenced by get_drop_rate_percent(), operator=(), print_metrics(), kcenon::logger::metrics::record_message_dropped(), and reset().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::messages_enqueued {0} |
Legacy alias for enqueued messages.
Definition at line 35 of file logger_metrics.h.
Referenced by get_drop_rate_percent(), operator=(), kcenon::logger::metrics::record_message_dropped(), kcenon::logger::metrics::record_message_logged(), and reset().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::messages_logged {0} |
Total messages logged.
Definition at line 26 of file logger_metrics.h.
Referenced by get_avg_enqueue_time_ns(), get_messages_per_second(), operator=(), print_metrics(), kcenon::logger::metrics::record_message_logged(), and reset().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::messages_processed {0} |
Legacy alias for processed messages.
Definition at line 36 of file logger_metrics.h.
Referenced by operator=(), kcenon::logger::metrics::record_message_logged(), and reset().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::queue_size {0} |
Current queue size.
Definition at line 29 of file logger_metrics.h.
Referenced by get_queue_utilization_percent(), operator=(), reset(), and kcenon::logger::metrics::update_queue_size().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::total_log_time_ns {0} |
Total time spent logging (nanoseconds)
Definition at line 28 of file logger_metrics.h.
Referenced by get_avg_enqueue_time_ns(), get_messages_per_second(), operator=(), print_metrics(), kcenon::logger::metrics::record_message_logged(), and reset().
| std::atomic<uint64_t> kcenon::logger::metrics::logger_performance_stats::writer_errors {0} |
Number of writer errors.
Definition at line 31 of file logger_metrics.h.
Referenced by operator=(), print_metrics(), kcenon::logger::metrics::record_writer_error(), and reset().
| std::map<std::string, writer_stats_compat> kcenon::logger::metrics::logger_performance_stats::writer_stats |
Legacy per-writer statistics.
Definition at line 46 of file logger_metrics.h.
Referenced by operator=(), and reset().