Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
kcenon::logger::metrics Namespace Reference

Classes

struct  logger_performance_stats
 Performance statistics for logger operations. More...
 

Functions

void record_message_logged (uint64_t time_ns)
 Record a logged message.
 
void record_message_dropped ()
 Record a dropped message.
 
void update_queue_size (uint64_t current_size)
 Update queue size metrics.
 
void record_writer_error ()
 Record a writer error.
 
void record_flush_operation ()
 Record a flush operation.
 

Variables

LOGGER_SYSTEM_API logger_performance_stats g_logger_stats
 Global logger metrics instance.
 

Function Documentation

◆ record_flush_operation()

void kcenon::logger::metrics::record_flush_operation ( )
inline

Record a flush operation.

Definition at line 199 of file logger_metrics.h.

199 {
200 g_logger_stats.flush_operations.fetch_add(1);
201}
LOGGER_SYSTEM_API logger_performance_stats g_logger_stats
Global logger metrics instance.
std::atomic< uint64_t > flush_operations
Number of flush operations.

References kcenon::logger::metrics::logger_performance_stats::flush_operations, and g_logger_stats.

◆ record_message_dropped()

void kcenon::logger::metrics::record_message_dropped ( )
inline

Record a dropped message.

Definition at line 169 of file logger_metrics.h.

169 {
170 g_logger_stats.messages_dropped.fetch_add(1);
172}
std::atomic< uint64_t > messages_enqueued
Legacy alias for enqueued messages.
std::atomic< uint64_t > messages_dropped
Messages dropped due to queue full.

References g_logger_stats, kcenon::logger::metrics::logger_performance_stats::messages_dropped, and kcenon::logger::metrics::logger_performance_stats::messages_enqueued.

◆ record_message_logged()

void kcenon::logger::metrics::record_message_logged ( uint64_t time_ns)
inline

◆ record_writer_error()

void kcenon::logger::metrics::record_writer_error ( )
inline

Record a writer error.

Definition at line 192 of file logger_metrics.h.

192 {
193 g_logger_stats.writer_errors.fetch_add(1);
194}
std::atomic< uint64_t > writer_errors
Number of writer errors.

References g_logger_stats, and kcenon::logger::metrics::logger_performance_stats::writer_errors.

◆ update_queue_size()

void kcenon::logger::metrics::update_queue_size ( uint64_t current_size)
inline

Update queue size metrics.

Definition at line 177 of file logger_metrics.h.

177 {
178 g_logger_stats.queue_size.store(current_size);
179
180 // Update max queue size if necessary
181 uint64_t current_max = g_logger_stats.max_queue_size.load();
182 while (current_size > current_max) {
183 if (g_logger_stats.max_queue_size.compare_exchange_weak(current_max, current_size)) {
184 break;
185 }
186 }
187}
std::atomic< uint64_t > queue_size
Current queue size.
std::atomic< uint64_t > max_queue_size
Maximum queue size reached.

References g_logger_stats, kcenon::logger::metrics::logger_performance_stats::max_queue_size, and kcenon::logger::metrics::logger_performance_stats::queue_size.

Variable Documentation

◆ g_logger_stats