perf: 优化metrics的性能

* 使用自定义的HASH_KEYCMP代替memcmp, 优先比较sf_profile_id
    * 减少sf_metrics_inc函数入参的个数
This commit is contained in:
luwenpeng
2023-11-22 14:49:25 +08:00
parent c3bd2fb939
commit 8b714a5924
4 changed files with 88 additions and 51 deletions

View File

@@ -6,7 +6,21 @@ TEST(SF_METRICS, TEST)
{
struct sf_metrics *metrics = sf_metrics_create("./test_resource/sce.conf");
EXPECT_TRUE(sf_metrics_get_interval(metrics) == 1);
sf_metrics_inc(metrics, 1, 1, 2, 3, 4, 5, 6, 7);
struct sf_metrics_key key1 = {0};
key1.rule_id = 1;
key1.sff_profile_id = 2;
key1.sf_profile_id = 3;
key1.vsys_id = 4;
sf_metrics_inc(metrics, &key1, 4, 5, 6, 7);
struct sf_metrics_key key2 = {0};
key2.rule_id = 1;
key2.sff_profile_id = 2;
key2.sf_profile_id = 3;
key2.vsys_id = 4;
sf_metrics_inc(metrics, &key2, 4, 5, 6, 7);
sf_metrics_send(metrics);
sf_metrics_destory(metrics);
}