Ripples 1.0
High Performant Software Architecture For Transaction Processing
Loading...
Searching...
No Matches
Application Log

Detailed Description

Application log logs application status and abnormal conditions. There is a dedicated thread to log messages to file (disk). This ensures that blocking IO operations are isolated from other DNS query processing threads.

Data Structures

struct  app_log_loop_args_s
 

Typedefs

typedef enum app_log_msg_id_e app_log_msg_id_t
 
typedef struct app_log_loop_args_s app_log_loop_args_t
 

Enumerations

enum  app_log_msg_id_e {
  APP_LOG_MSG_CUSTOM = 0 , APP_LOG_MSG_VL_FN_EPOLL , APP_LOG_MSG_VL_FN_TCP_CONN_CLIENT_IP_FAM , APP_LOG_MSG_VL_FN_TCP_CONN_LOCAL_IP_FAM ,
  APP_LOG_MSG_VL_FN_TCP_CONN_GETSOCKNAME , APP_LOG_MSG_VL_RUN_CPU_AFFINITY
}
 

Functions

void * log_app_loop (void *args)
 

Typedef Documentation

◆ app_log_loop_args_t

Structure holds arguments for log_app_loop() function. As log_app_loop function is started via a pthread it can only handle a single argument hence having a structure to hold all the different arguments log_app_loop needs.

◆ app_log_msg_id_t

Enumerated static predefined application log messages. Order matters and MUST match one for app_log_msg_id_txt.

Enumeration Type Documentation

◆ app_log_msg_id_e

Enumerated static predefined application log messages. Order matters and MUST match one for app_log_msg_id_txt.

Function Documentation

◆ log_app_loop()

void * log_app_loop ( void *  args)

Application log loop function. This function is started by pthread.

Parameters
argsArguments passed to application log loop.
Returns
On loop exit returns a NULL pointer only because it needs to abide by pthread API.
Here is the call graph for this function:
Here is the caller graph for this function: