[patch]add maat_compile_state statistics
This commit is contained in:
@@ -33,6 +33,7 @@ enum MAAT_FS_STATUS {
|
||||
STATUS_GROUP_REF_EXCL_NUM, //group reference exclude group num
|
||||
STATUS_COMPILE_RULE_NUM,
|
||||
STATUS_MAAT_STATE_NUM,
|
||||
STATUS_COMPILE_STATE_NUM,
|
||||
STATUS_GARBAGE_QSIZE,
|
||||
STATUS_TOTAL_SCAN_BYTES,
|
||||
STATUS_TOTAL_SCAN_CNT,
|
||||
@@ -98,6 +99,8 @@ void maat_fieldstat_register(struct maat_stat *stat)
|
||||
"garbage_num", NULL, 0);
|
||||
stat->fs_status_id[STATUS_MAAT_STATE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||
"maat_state", NULL, 0);
|
||||
stat->fs_status_id[STATUS_COMPILE_STATE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||
"maat_compile_state", NULL, 0);
|
||||
stat->fs_status_id[STATUS_ZOMBIE_RS_STREAM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||
"z_stream", NULL, 0);
|
||||
stat->fs_status_id[STATUS_NOT_GROUP_HIT] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||
@@ -143,7 +146,7 @@ int maat_fieldstat_table_row_register(struct maat_stat *stat, struct table_manag
|
||||
|
||||
ret = fieldstat_set_metric_ratio_para(stat->fs_handle, stat->total_stat_id[COLUMN_HIT_RATE],
|
||||
stat->total_stat_id[COLUMN_HIT_CNT],
|
||||
stat->total_stat_id[COLUMN_SCAN_CNT], 1000000000);
|
||||
stat->total_stat_id[COLUMN_SCAN_CNT], 1);
|
||||
if (ret < 0) {
|
||||
log_error(stat->logger, MODULE_MAAT_STAT, "fieldstat set hit_rate for Sum failed.");
|
||||
return -1;
|
||||
@@ -186,7 +189,7 @@ int maat_fieldstat_table_row_register(struct maat_stat *stat, struct table_manag
|
||||
|
||||
ret = fieldstat_set_metric_ratio_para(stat->fs_handle, stat->fs_column_id[i][COLUMN_HIT_RATE],
|
||||
stat->fs_column_id[i][COLUMN_HIT_CNT],
|
||||
stat->fs_column_id[i][COLUMN_SCAN_CNT], 1000000000);
|
||||
stat->fs_column_id[i][COLUMN_SCAN_CNT], 1);
|
||||
if (ret < 0) {
|
||||
log_error(stat->logger, MODULE_MAAT_STAT,
|
||||
"fieldstat set hit_rate for %s failed.", table_name);
|
||||
@@ -211,6 +214,7 @@ struct maat_stat *maat_stat_new(const char *stat_file, size_t max_thread_num,
|
||||
stat->hit_cnt = alignment_int64_array_alloc(max_thread_num);
|
||||
stat->not_grp_hit_cnt = alignment_int64_array_alloc(max_thread_num);
|
||||
stat->maat_state_cnt = alignment_int64_array_alloc(max_thread_num);
|
||||
stat->maat_compile_state_cnt = alignment_int64_array_alloc(max_thread_num);
|
||||
|
||||
return stat;
|
||||
}
|
||||
@@ -241,6 +245,11 @@ void maat_stat_free(struct maat_stat *stat)
|
||||
stat->maat_state_cnt = NULL;
|
||||
}
|
||||
|
||||
if (stat->maat_compile_state_cnt != NULL) {
|
||||
alignment_int64_array_free(stat->maat_compile_state_cnt);
|
||||
stat->maat_compile_state_cnt = NULL;
|
||||
}
|
||||
|
||||
if (stat->fs_handle != NULL) {
|
||||
fieldstat_instance_free(stat->fs_handle);
|
||||
stat->fs_handle = NULL;
|
||||
@@ -442,6 +451,8 @@ void maat_stat_output(struct maat_stat *stat, long long maat_version, int perf_o
|
||||
stat->nr_worker_thread);
|
||||
long long maat_state_cnt = alignment_int64_array_sum(stat->maat_state_cnt,
|
||||
stat->nr_worker_thread);
|
||||
long long maat_compile_state_cnt = alignment_int64_array_sum(stat->maat_compile_state_cnt,
|
||||
stat->nr_worker_thread);
|
||||
long long not_grp_hit_cnt = alignment_int64_array_sum(stat->not_grp_hit_cnt,
|
||||
stat->nr_worker_thread);
|
||||
size_t table_cnt = table_manager_table_count(stat->ref_tbl_mgr);
|
||||
@@ -455,6 +466,8 @@ void maat_stat_output(struct maat_stat *stat, long long maat_version, int perf_o
|
||||
table_cnt);
|
||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_MAAT_STATE_NUM],
|
||||
maat_state_cnt);
|
||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_COMPILE_STATE_NUM],
|
||||
maat_compile_state_cnt);
|
||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_NOT_GROUP_HIT],
|
||||
not_grp_hit_cnt);
|
||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_CMD_LINE_NUM],
|
||||
|
||||
Reference in New Issue
Block a user