Skip to content

File broker_monitor.c

FileList > broker > broker_monitor.c

Go to the source code of this file

  • #include <inttypes.h>
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <signal.h>
  • #include <time.h>
  • #include <string.h>
  • #include <stdarg.h>
  • #include <assert.h>
  • #include <sys/types.h>
  • #include <regex.h>
  • #include <sys/time.h>
  • #include <fcntl.h>
  • #include <termio.h>
  • #include <dlfcn.h>
  • #include "cubrid_getopt.h"
  • #include "porting.h"
  • #include "cas_common.h"
  • #include "broker_config.h"
  • #include "broker_shm.h"
  • #include "broker_util.h"
  • #include "broker_process_size.h"
  • #include "broker_process_info.h"
  • #include "cas_util.h"
  • #include "shard_shm.h"
  • #include "shard_metadata.h"
  • #include "util_func.h"

Classes

Type Name
struct appl_monitoring_item
struct br_monitoring_item
struct key_stat_item
struct shard_stat_item
struct status_field

Public Types

Type Name
typedef struct appl_monitoring_item APPL_MONITORING_ITEM
typedef struct br_monitoring_item BR_MONITORING_ITEM
enum FIELD_ALIGN
enum FIELD_NAME
enum FIELD_TYPE
typedef struct key_stat_item KEY_STAT_ITEM
enum MONITOR_TYPE
typedef struct shard_stat_item SHARD_STAT_ITEM
typedef int(* tgetent_func_t
typedef int(* tgetnum_func_t
typedef char *(* tgetstr_func_t
typedef char *(* tgoto_func_t
typedef int(* tputs_func_t

Public Attributes

Type Name
int Stdin_timer = 0
void * dl_handle = [**NULL**](freelistheap_8h.md#define-null)
struct status_field fields
struct termios oterm
char * term = [**NULL**](freelistheap_8h.md#define-null)
tgetent_func_t tgetent
tgetnum_func_t tgetnum
tgetstr_func_t tgetstr
tgoto_func_t tgoto
tputs_func_t tputs

Public Static Attributes

Type Name
char * cd = [**NULL**](freelistheap_8h.md#define-null)
char * ce = [**NULL**](freelistheap_8h.md#define-null)
char * cl = [**NULL**](freelistheap_8h.md#define-null)
char * cm = [**NULL**](freelistheap_8h.md#define-null)
int currentY = 0
bool display_job_queue = [**false**](broker__monitor_8c.md#function-timeout)
bool full_info_flag = [**false**](broker__monitor_8c.md#function-timeout)
int last_access_sec = 0
unsigned int monitor_flag = 0
int num_Chars = 0
int refresh_sec = 0
char service_filter_value = SERVICE\_UNKNOWN
T_SHM_BROKER * shm_br
int state_interval = 1
int tty_Cols = 0
int tty_Lines = 0
bool tty_mode = [**false**](broker__monitor_8c.md#function-timeout)

Public Functions

Type Name
int main (int argc, char ** argv)

Public Static Functions

Type Name
void addstr (const char * str)
void appl_info_display (T_SHM_APPL_SERVER * shm_appl, T_APPL_SERVER_INFO * as_info_p, int br_index, int as_index, APPL_MONITORING_ITEM * appl_mnt_old, time_t current_time, double elapsed_time)
int appl_monitor (char * br_vector, double elapsed_time)
int brief_monitor (char * br_vector, MONITOR_TYPE mnt_type, double elapsed_time)
void clear ()
int client_monitor (void)
void clrtobot ()
void clrtoeol ()
void endwin ()
const char * get_access_mode_string (T_ACCESS_MODE_VALUE mode, int replica_only_flag)
int get_args (int argc, char * argv, char * br_vector)
int get_char (void)
void get_cpu_usage_string (char * buf_p, float usage)
int get_num_monitor_items (MONITOR_TYPE mnt_type, T_SHM_PROXY * shm_proxy_p)
const char * get_sql_log_mode_string (T_SQL_LOG_MODE_VALUE mode)
const char * get_status_string (T_APPL_SERVER_INFO * as_info_p, char appl_server)
int get_timeout (void)
int getch ()
void * initscr ()
void ip2str (unsigned char * ip, char * ip_str)
int metadata_monitor (double elapsed_time)
void move (int x, int y)
void noecho ()
int num_newlines (const char * str)
void print_appl_header (bool use_pdh_flag)
void print_job_queue (T_MAX_HEAP_NODE * job_queue)
void print_monitor_header (MONITOR_TYPE mnt_type)
void print_monitor_items (BR_MONITORING_ITEM * mnt_items_cur, BR_MONITORING_ITEM * mnt_items_old, int num_mnt_items, double elapsed_time, T_BROKER_INFO * br_info_p, T_SHM_APPL_SERVER * shm_appl, MONITOR_TYPE mnt_type)
void print_newline ()
int print_title (char * buf_p, int buf_offset, FIELD_NAME name, const char * new_title_p)
void print_usage (void)
void print_value (FIELD_NAME name, const void * value, FIELD_TYPE type)
void refresh ()
void set_monitor_items (BR_MONITORING_ITEM * mnt_items, T_BROKER_INFO * br_info, T_SHM_APPL_SERVER * shm_appl, T_SHM_PROXY * shm_proxy, MONITOR_TYPE mnt_type)
void str_out (const char * fmt, ...)
void str_to_screen (const char * msg)
void time2str (const time_t t, char * str)
void timeout (int delay)
int tty_noblock (void)
int unusable_databases_monitor (void)

Macros

Type Name
define BROKER_MONITOR_FLAG_MASK 0x01
define CLIENT_MONITOR_FLAG_MASK 0x10
define DEFAULT_CHECK_PERIOD 300 /\* [**seconds**](broker__monitor_8c.md#function-timeout) \*/
define FIELD_DELIMITER ' '
define FIELD_WIDTH_AS_ID 10
define FIELD_WIDTH_BROKER_NAME 20
define MAX_APPL_NUM 100
define METADATA_MONITOR_FLAG_MASK 0x08
define PROXY_MONITOR_FLAG_MASK 0x04
define SHARDDB_MONITOR_FLAG_MASK 0x02
define TINFO_HIGH_VERSION 10
define TINFO_LOW_VERSION 5
define UNUSABLE_DATABASES_FLAG_MASK 0x20
define __STDC_FORMAT_MACROS

Public Types Documentation

typedef APPL_MONITORING_ITEM

typedef struct appl_monitoring_item APPL_MONITORING_ITEM;

typedef BR_MONITORING_ITEM

typedef struct br_monitoring_item BR_MONITORING_ITEM;

enum FIELD_ALIGN

enum FIELD_ALIGN {
    FIELD_LEFT_ALIGN = 0,
    FIELD_RIGHT_ALIGN
};

enum FIELD_NAME

enum FIELD_NAME {
    FIELD_BROKER_NAME = 0,
    FIELD_PID,
    FIELD_PSIZE,
    FIELD_PORT,
    FIELD_APPL_SERVER_NUM_TOTAL,
    FIELD_APPL_SERVER_NUM_CLIENT_WAIT,
    FIELD_APPL_SERVER_NUM_BUSY,
    FIELD_APPL_SERVER_NUM_CLIENT_WAIT_IN_SEC,
    FIELD_APPL_SERVER_NUM_BUSY_IN_SEC,
    FIELD_JOB_QUEUE_ID,
    FIELD_THREAD,
    FIELD_CPU_USAGE,
    FIELD_CPU_TIME,
    FIELD_TPS,
    FIELD_QPS,
    FIELD_NUM_OF_SELECT_QUERIES,
    FIELD_NUM_OF_INSERT_QUERIES,
    FIELD_NUM_OF_UPDATE_QUERIES,
    FIELD_NUM_OF_DELETE_QUERIES,
    FIELD_NUM_OF_OTHERS_QUERIES,
    FIELD_LONG_TRANSACTION,
    FIELD_LONG_QUERY,
    FIELD_ERROR_QUERIES,
    FIELD_UNIQUE_ERROR_QUERIES,
    FIELD_CANCELED,
    FIELD_ACCESS_MODE,
    FIELD_SQL_LOG,
    FIELD_NUMBER_OF_CONNECTION,
    FIELD_ID,
    FIELD_LQS,
    FIELD_STATUS,
    FIELD_LAST_ACCESS_TIME,
    FIELD_DB_NAME,
    FIELD_HOST,
    FIELD_LAST_CONNECT_TIME,
    FIELD_CLIENT_IP,
    FIELD_CLIENT_VERSION,
    FIELD_SQL_LOG_MODE,
    FIELD_TRANSACTION_STIME,
    FIELD_CONNECT,
    FIELD_RESTART,
    FIELD_REQUEST,
    FIELD_SHARD_ID,
    FIELD_PROXY_ID,
    FIELD_SHARD_Q_SIZE,
    FIELD_STMT_POOL_RATIO,
    FIELD_NUMBER_OF_CONNECTION_REJECTED,
    FIELD_UNUSABLE_DATABASES,
    FIELD_LAST = FIELD_UNUSABLE_DATABASES
};

enum FIELD_TYPE

enum FIELD_TYPE {
    FIELD_T_STRING = 0,
    FIELD_T_INT,
    FIELD_T_FLOAT,
    FIELD_T_UINT64,
    FIELD_T_INT64,
    FIELD_T_TIME
};

typedef KEY_STAT_ITEM

typedef struct key_stat_item KEY_STAT_ITEM;

enum MONITOR_TYPE

enum MONITOR_TYPE {
    MONITOR_T_BROKER = 0,
    MONITOR_T_SHARDDB,
    MONITOR_T_PROXY,
    MONITOR_T_LAST = MONITOR_T_PROXY
};

typedef SHARD_STAT_ITEM

typedef struct shard_stat_item SHARD_STAT_ITEM;

typedef tgetent_func_t

typedef int(* tgetent_func_t) (char *bp, const char *name);

typedef tgetnum_func_t

typedef int(* tgetnum_func_t) (char *id);

typedef tgetstr_func_t

typedef char *(* tgetstr_func_t) (char *id, char **area);

typedef tgoto_func_t

typedef char *(* tgoto_func_t) (const char *cap, int col, int row);

typedef tputs_func_t

typedef int(* tputs_func_t) (const char *str, int affcnt, int(*putc)(int));

Public Attributes Documentation

variable Stdin_timer

int Stdin_timer;

variable dl_handle

void* dl_handle;

variable fields

struct status_field fields[FIELD_LAST+1];

variable oterm

struct termios oterm;

variable term

char* term;

variable tgetent

tgetent_func_t tgetent;

variable tgetnum

tgetnum_func_t tgetnum;

variable tgetstr

tgetstr_func_t tgetstr;

variable tgoto

tgoto_func_t tgoto;

variable tputs

tputs_func_t tputs;

Public Static Attributes Documentation

variable cd

char* cd;

variable ce

char* ce;

variable cl

char* cl;

variable cm

char* cm;

variable currentY

int currentY;

variable display_job_queue

bool display_job_queue;

variable full_info_flag

bool full_info_flag;

variable last_access_sec

int last_access_sec;

variable monitor_flag

unsigned int monitor_flag;

variable num_Chars

int num_Chars;

variable refresh_sec

int refresh_sec;

variable service_filter_value

char service_filter_value;

variable shm_br

T_SHM_BROKER* shm_br;

variable state_interval

int state_interval;

variable tty_Cols

int tty_Cols;

variable tty_Lines

int tty_Lines;

variable tty_mode

bool tty_mode;

Public Functions Documentation

function main

int main (
    int argc,
    char ** argv
) 

Public Static Functions Documentation

function addstr

static void addstr (
    const  char * str
) 

function appl_info_display

static void appl_info_display (
    T_SHM_APPL_SERVER * shm_appl,
    T_APPL_SERVER_INFO * as_info_p,
    int br_index,
    int as_index,
    APPL_MONITORING_ITEM * appl_mnt_old,
    time_t current_time,
    double elapsed_time
) 

function appl_monitor

static int appl_monitor (
    char * br_vector,
    double elapsed_time
) 

function brief_monitor

static int brief_monitor (
    char * br_vector,
    MONITOR_TYPE mnt_type,
    double elapsed_time
) 

function clear

static void clear () 

function client_monitor

static int client_monitor (
    void
) 

function clrtobot

static void clrtobot () 

function clrtoeol

static void clrtoeol () 

function endwin

static void endwin () 

function get_access_mode_string

static const  char * get_access_mode_string (
    T_ACCESS_MODE_VALUE mode,
    int replica_only_flag
) 

function get_args

static int get_args (
    int argc,
    char * argv,
    char * br_vector
) 

function get_char

static int get_char (
    void
) 

function get_cpu_usage_string

static void get_cpu_usage_string (
    char * buf_p,
    float usage
) 

function get_num_monitor_items

static int get_num_monitor_items (
    MONITOR_TYPE mnt_type,
    T_SHM_PROXY * shm_proxy_p
) 

function get_sql_log_mode_string

static const  char * get_sql_log_mode_string (
    T_SQL_LOG_MODE_VALUE mode
) 

function get_status_string

static const  char * get_status_string (
    T_APPL_SERVER_INFO * as_info_p,
    char appl_server
) 

function get_timeout

static int get_timeout (
    void
) 

function getch

static int getch () 

function initscr

static void * initscr () 

function ip2str

static void ip2str (
    unsigned  char * ip,
    char * ip_str
) 

function metadata_monitor

static int metadata_monitor (
    double elapsed_time
) 

function move

static void move (
    int x,
    int y
) 

function noecho

static void noecho () 

function num_newlines

static int num_newlines (
    const  char * str
) 

function print_appl_header

static void print_appl_header (
    bool use_pdh_flag
) 

function print_job_queue

static void print_job_queue (
    T_MAX_HEAP_NODE * job_queue
) 

function print_monitor_header

static void print_monitor_header (
    MONITOR_TYPE mnt_type
) 

function print_monitor_items

static void print_monitor_items (
    BR_MONITORING_ITEM * mnt_items_cur,
    BR_MONITORING_ITEM * mnt_items_old,
    int num_mnt_items,
    double elapsed_time,
    T_BROKER_INFO * br_info_p,
    T_SHM_APPL_SERVER * shm_appl,
    MONITOR_TYPE mnt_type
) 

function print_newline

static void print_newline () 

function print_title

static int print_title (
    char * buf_p,
    int buf_offset,
    FIELD_NAME name,
    const  char * new_title_p
) 

function print_usage

static void print_usage (
    void
) 

function print_value

static void print_value (
    FIELD_NAME name,
    const  void * value,
    FIELD_TYPE type
) 

function refresh

static void refresh () 

function set_monitor_items

static void set_monitor_items (
    BR_MONITORING_ITEM * mnt_items,
    T_BROKER_INFO * br_info,
    T_SHM_APPL_SERVER * shm_appl,
    T_SHM_PROXY * shm_proxy,
    MONITOR_TYPE mnt_type
) 

function str_out

static void str_out (
    const  char * fmt,
    ...
) 

function str_to_screen

static void str_to_screen (
    const  char * msg
) 

function time2str

static void time2str (
    const  time_t t,
    char * str
) 

function timeout

static void timeout (
    int delay
) 

function tty_noblock

static int tty_noblock (
    void
) 

function unusable_databases_monitor

static int unusable_databases_monitor (
    void
) 

Macro Definition Documentation

define BROKER_MONITOR_FLAG_MASK

#define BROKER_MONITOR_FLAG_MASK `0x01`

define CLIENT_MONITOR_FLAG_MASK

#define CLIENT_MONITOR_FLAG_MASK `0x10`

define DEFAULT_CHECK_PERIOD

#define DEFAULT_CHECK_PERIOD `300   /* seconds */`

define FIELD_DELIMITER

#define FIELD_DELIMITER `' '`

define FIELD_WIDTH_AS_ID

#define FIELD_WIDTH_AS_ID `10`

define FIELD_WIDTH_BROKER_NAME

#define FIELD_WIDTH_BROKER_NAME `20`

define MAX_APPL_NUM

#define MAX_APPL_NUM `100`

define METADATA_MONITOR_FLAG_MASK

#define METADATA_MONITOR_FLAG_MASK `0x08`

define PROXY_MONITOR_FLAG_MASK

#define PROXY_MONITOR_FLAG_MASK `0x04`

define SHARDDB_MONITOR_FLAG_MASK

#define SHARDDB_MONITOR_FLAG_MASK `0x02`

define TINFO_HIGH_VERSION

#define TINFO_HIGH_VERSION `10`

define TINFO_LOW_VERSION

#define TINFO_LOW_VERSION `5`

define UNUSABLE_DATABASES_FLAG_MASK

#define UNUSABLE_DATABASES_FLAG_MASK `0x20`

define __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS 


The documentation for this class was generated from the following file cubrid/src/broker/broker_monitor.c