[PATCH]the number of hit path maximum:4096
This commit is contained in:
@@ -52,6 +52,7 @@ extern "C"
|
|||||||
(type *)( (char *)__mptr - offsetof(type,member) );})
|
(type *)( (char *)__mptr - offsetof(type,member) );})
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define MAX_HIT_PATH_NUM 4096
|
||||||
#define MAX_SCANNER_HIT_COMPILE_NUM 4096
|
#define MAX_SCANNER_HIT_COMPILE_NUM 4096
|
||||||
#define MAX_SCANNER_HIT_GROUP_NUM 4096
|
#define MAX_SCANNER_HIT_GROUP_NUM 4096
|
||||||
#define MAX_SCANNER_HIT_ITEM_NUM 4096
|
#define MAX_SCANNER_HIT_ITEM_NUM 4096
|
||||||
|
|||||||
@@ -1422,6 +1422,10 @@ void maat_compile_state_free(struct maat_compile_state *compile_state,
|
|||||||
static void maat_compile_hit_path_add(UT_array *hit_paths, long long item_id,
|
static void maat_compile_hit_path_add(UT_array *hit_paths, long long item_id,
|
||||||
long long group_id, int vtable_id, int Nth_scan)
|
long long group_id, int vtable_id, int Nth_scan)
|
||||||
{
|
{
|
||||||
|
if (NULL == hit_paths || utarray_len(hit_paths) >= MAX_HIT_PATH_NUM) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
struct maat_internal_hit_path new_path;
|
struct maat_internal_hit_path new_path;
|
||||||
|
|
||||||
new_path.item_id = item_id;
|
new_path.item_id = item_id;
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ enum MAAT_FS_STATUS {
|
|||||||
STATUS_GROUP_REF_NOT_NUM,
|
STATUS_GROUP_REF_NOT_NUM,
|
||||||
STATUS_GROUP_REF_EXCL_NUM, //group reference exclude group num
|
STATUS_GROUP_REF_EXCL_NUM, //group reference exclude group num
|
||||||
STATUS_MAAT_STATE_NUM,
|
STATUS_MAAT_STATE_NUM,
|
||||||
STATUS_MAAT_STATE_FREE_NUM,
|
STATUS_MAAT_PER_STATE_MEM,
|
||||||
STATUS_MAAT_STATE_FREE_BYTES,
|
|
||||||
STATUS_COMPILE_STATE_NUM,
|
STATUS_COMPILE_STATE_NUM,
|
||||||
STATUS_GARBAGE_QSIZE,
|
STATUS_GARBAGE_QSIZE,
|
||||||
STATUS_UPDATE_ERR_CNT,
|
STATUS_UPDATE_ERR_CNT,
|
||||||
@@ -93,13 +92,11 @@ static void maat_fieldstat_register(struct maat_stat *stat)
|
|||||||
stat->fs_status_id[STATUS_GARBAGE_QSIZE] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
stat->fs_status_id[STATUS_GARBAGE_QSIZE] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||||
"garbage_num", NULL, 0);
|
"garbage_num", NULL, 0);
|
||||||
stat->fs_status_id[STATUS_MAAT_STATE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
stat->fs_status_id[STATUS_MAAT_STATE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||||
"maat_state", NULL, 0);
|
"state_num", NULL, 0);
|
||||||
stat->fs_status_id[STATUS_MAAT_STATE_FREE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
stat->fs_status_id[STATUS_MAAT_PER_STATE_MEM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||||
"maat_state_free_cnt", NULL, 0);
|
"per_state_mem(B)", NULL, 0);
|
||||||
stat->fs_status_id[STATUS_MAAT_STATE_FREE_BYTES] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
|
||||||
"maat_state_free_bytes", NULL, 0);
|
|
||||||
stat->fs_status_id[STATUS_COMPILE_STATE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
stat->fs_status_id[STATUS_COMPILE_STATE_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||||
"maat_compile_state", NULL, 0);
|
"compile_state_num", NULL, 0);
|
||||||
stat->fs_status_id[STATUS_STREAM_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
stat->fs_status_id[STATUS_STREAM_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||||
"stream_num", NULL, 0);
|
"stream_num", NULL, 0);
|
||||||
stat->fs_status_id[STATUS_ZOMBIE_STREAM_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
stat->fs_status_id[STATUS_ZOMBIE_STREAM_NUM] = fieldstat_register(stat->fs_handle, FIELD_TYPE_GAUGE,
|
||||||
@@ -472,6 +469,11 @@ void maat_stat_output(struct maat_stat *stat, long long maat_version, int perf_o
|
|||||||
size_t table_cnt = table_manager_table_count(stat->ref_tbl_mgr);
|
size_t table_cnt = table_manager_table_count(stat->ref_tbl_mgr);
|
||||||
size_t garbage_q_len = maat_garbage_bin_get_size(stat->ref_garbage_bin);
|
size_t garbage_q_len = maat_garbage_bin_get_size(stat->ref_garbage_bin);
|
||||||
|
|
||||||
|
long long per_state_mem = 0;
|
||||||
|
if (maat_state_free_cnt != 0) {
|
||||||
|
per_state_mem = maat_state_free_bytes / maat_state_free_cnt;
|
||||||
|
}
|
||||||
|
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_VERSION],
|
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_VERSION],
|
||||||
maat_version);
|
maat_version);
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_THRED_NUM],
|
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_THRED_NUM],
|
||||||
@@ -480,10 +482,8 @@ void maat_stat_output(struct maat_stat *stat, long long maat_version, int perf_o
|
|||||||
table_cnt);
|
table_cnt);
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_MAAT_STATE_NUM],
|
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_MAAT_STATE_NUM],
|
||||||
maat_state_cnt);
|
maat_state_cnt);
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_MAAT_STATE_FREE_NUM],
|
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_MAAT_PER_STATE_MEM],
|
||||||
maat_state_free_cnt);
|
per_state_mem);
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_MAAT_STATE_FREE_BYTES],
|
|
||||||
maat_state_free_bytes);
|
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_COMPILE_STATE_NUM],
|
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_COMPILE_STATE_NUM],
|
||||||
maat_compile_state_cnt);
|
maat_compile_state_cnt);
|
||||||
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_NOT_GROUP_HIT],
|
fieldstat_value_set(stat->fs_handle, stat->fs_status_id[STATUS_NOT_GROUP_HIT],
|
||||||
|
|||||||
@@ -7247,6 +7247,7 @@ TEST_F(MaatCmdTest, CompileDelete_TSG6548) {
|
|||||||
}
|
}
|
||||||
now = time(NULL);
|
now = time(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
//scan hit for at most 1 second (rule updating latency), miss for at least 2 seconds.
|
//scan hit for at most 1 second (rule updating latency), miss for at least 2 seconds.
|
||||||
EXPECT_LE(hit_cnt, miss_cnt);
|
EXPECT_LE(hit_cnt, miss_cnt);
|
||||||
maat_state_free(state);
|
maat_state_free(state);
|
||||||
|
|||||||
Reference in New Issue
Block a user