[PATCH]add expr_matcher hit pattern statistics

This commit is contained in:
liuwentan
2023-12-27 12:04:15 +08:00
parent 102c8ac0f8
commit 6d5fea298a
36 changed files with 1643 additions and 1080 deletions

View File

@@ -40,7 +40,7 @@ struct fqdn_plugin_runtime {
long long rule_num;
long long update_err_cnt;
long long *scan_cnt;
long long *scan_times;
};
void *fqdn_plugin_schema_new(cJSON *json, struct table_manager *tbl_mgr,
@@ -198,7 +198,7 @@ void *fqdn_plugin_runtime_new(void *fqdn_plugin_schema, size_t max_thread_num,
fqdn_plugin_rt->n_worker_thread = max_thread_num;
fqdn_plugin_rt->ref_garbage_bin = garbage_bin;
fqdn_plugin_rt->logger = logger;
fqdn_plugin_rt->scan_cnt = alignment_int64_array_alloc(max_thread_num);
fqdn_plugin_rt->scan_times = alignment_int64_array_alloc(max_thread_num);
return fqdn_plugin_rt;
}
@@ -220,9 +220,9 @@ void fqdn_plugin_runtime_free(void *fqdn_plugin_runtime)
fqdn_plugin_rt->ex_data_rt = NULL;
}
if (fqdn_plugin_rt->scan_cnt != NULL) {
alignment_int64_array_free(fqdn_plugin_rt->scan_cnt);
fqdn_plugin_rt->scan_cnt = NULL;
if (fqdn_plugin_rt->scan_times != NULL) {
alignment_int64_array_free(fqdn_plugin_rt->scan_times);
fqdn_plugin_rt->scan_times = NULL;
}
FREE(fqdn_plugin_rt);
@@ -596,26 +596,27 @@ long long fqdn_plugin_runtime_update_err_count(void *fqdn_plugin_runtime)
return fqdn_plugin_rt->update_err_cnt;
}
void fqdn_plugin_runtime_scan_inc(void *fqdn_plugin_runtime, int thread_id)
void fqdn_plugin_runtime_scan_times_inc(void *fqdn_plugin_runtime, int thread_id)
{
if (NULL == fqdn_plugin_runtime || thread_id < 0) {
return;
}
struct fqdn_plugin_runtime *fqdn_plugin_rt = (struct fqdn_plugin_runtime *)fqdn_plugin_runtime;
alignment_int64_array_add(fqdn_plugin_rt->scan_cnt, thread_id, 1);
alignment_int64_array_add(fqdn_plugin_rt->scan_times, thread_id, 1);
}
long long fqdn_plugin_runtime_scan_count(void *fqdn_plugin_runtime)
long long fqdn_plugin_runtime_scan_times(void *fqdn_plugin_runtime)
{
if (NULL == fqdn_plugin_runtime) {
return 0;
}
struct fqdn_plugin_runtime *fqdn_plugin_rt = (struct fqdn_plugin_runtime *)fqdn_plugin_runtime;
long long sum = alignment_int64_array_sum(fqdn_plugin_rt->scan_cnt,
long long sum = alignment_int64_array_sum(fqdn_plugin_rt->scan_times,
fqdn_plugin_rt->n_worker_thread);
alignment_int64_array_reset(fqdn_plugin_rt->scan_cnt, fqdn_plugin_rt->n_worker_thread);
alignment_int64_array_reset(fqdn_plugin_rt->scan_times,
fqdn_plugin_rt->n_worker_thread);
return sum;
}