diff options
| author | root <[email protected]> | 2024-07-29 06:42:39 +0000 |
|---|---|---|
| committer | root <[email protected]> | 2024-07-29 06:42:39 +0000 |
| commit | 9f31dd1065332f36382383564abe2734beba6ce8 (patch) | |
| tree | 0203c40d55062d9727a2d47650d1e37732322876 | |
| parent | 9a9a03f7a9a5ec6acd6356a6e0143b1cd1e17892 (diff) | |
adapt latest version of fieldstat4
| -rw-r--r-- | shaping/src/shaper_global_stat.cpp | 4 | ||||
| -rw-r--r-- | shaping/src/shaper_stat.cpp | 24 | ||||
| -rw-r--r-- | shaping/test/gtest_shaper.cpp | 29 |
3 files changed, 24 insertions, 33 deletions
diff --git a/shaping/src/shaper_global_stat.cpp b/shaping/src/shaper_global_stat.cpp index 1080033..1fb3764 100644 --- a/shaping/src/shaper_global_stat.cpp +++ b/shaping/src/shaper_global_stat.cpp @@ -75,7 +75,7 @@ struct shaping_global_stat* shaper_global_stat_init(int work_thread_num) { struct shaping_global_stat *stat = NULL; struct shping_global_stat_conf conf; - struct fieldstat_tag tag; + struct field tag; stat = (struct shaping_global_stat*)calloc(1, sizeof(struct shaping_global_stat)); @@ -85,7 +85,7 @@ struct shaping_global_stat* shaper_global_stat_init(int work_thread_num) } tag.key = "shaping_global"; - tag.type = TAG_CSTRING; + tag.type = FIELD_VALUE_CSTRING; tag.value_str = "shaping_global"; stat->instance = fieldstat_easy_new(work_thread_num, "shaping_global", &tag, 1); if (stat->instance == NULL) { diff --git a/shaping/src/shaper_stat.cpp b/shaping/src/shaper_stat.cpp index feb1406..efc7322 100644 --- a/shaping/src/shaper_stat.cpp +++ b/shaping/src/shaper_stat.cpp @@ -24,13 +24,13 @@ struct shaper_stat_conf { char kafka_brokers[256]; }; -thread_local struct fieldstat_tag tags[TAG_IDX_MAX] = +thread_local struct field tags[TAG_IDX_MAX] = { - [TAG_VSYS_ID_IDX] = {.key = "vsys_id", .type = TAG_INTEGER}, - [TAG_RULE_ID_IDX] = {.key = "rule_id", .type = TAG_INTEGER}, - [TAG_PROFILE_ID_IDX] = {.key = "profile_id", .type = TAG_INTEGER}, - [TAG_PRIORITY_IDX] = {.key = "priority", .type = TAG_INTEGER}, - [TAG_PROFILE_TYPE_IDX] = {.key = "profile_type", .type = TAG_CSTRING} + [TAG_VSYS_ID_IDX] = {.key = "vsys_id", .type = FIELD_VALUE_INTEGER}, + [TAG_RULE_ID_IDX] = {.key = "rule_id", .type = FIELD_VALUE_INTEGER}, + [TAG_PROFILE_ID_IDX] = {.key = "profile_id", .type = FIELD_VALUE_INTEGER}, + [TAG_PRIORITY_IDX] = {.key = "priority", .type = FIELD_VALUE_INTEGER}, + [TAG_PROFILE_TYPE_IDX] = {.key = "profile_type", .type = FIELD_VALUE_CSTRING} }; char *output_json_buf = NULL; @@ -100,7 +100,7 @@ static int shaper_stat_conf_load(struct shaping_stat *stat, struct shaper_stat_c struct shaping_stat* shaper_stat_init(int thread_num) { - struct fieldstat_tag global_tags[5]; + struct field global_tags[5]; struct shaper_stat_conf conf; struct shaping_stat *stat = (struct shaping_stat *)calloc(1, sizeof(struct shaping_stat)); @@ -112,23 +112,23 @@ struct shaping_stat* shaper_stat_init(int thread_num) shaper_stat_kafka_init(stat, &conf); global_tags[0].key = "app_name"; - global_tags[0].type = TAG_CSTRING; + global_tags[0].type = FIELD_VALUE_CSTRING; global_tags[0].value_str = "shaping_engine"; global_tags[1].key = "device_group"; - global_tags[1].type = TAG_CSTRING; + global_tags[1].type = FIELD_VALUE_CSTRING; global_tags[1].value_str = conf.device_group; global_tags[2].key = "device_id"; - global_tags[2].type = TAG_CSTRING; + global_tags[2].type = FIELD_VALUE_CSTRING; global_tags[2].value_str = conf.device_id; global_tags[3].key = "data_center"; - global_tags[3].type = TAG_CSTRING; + global_tags[3].type = FIELD_VALUE_CSTRING; global_tags[3].value_str = conf.data_center; global_tags[4].key = "table_name"; - global_tags[4].type = TAG_CSTRING; + global_tags[4].type = FIELD_VALUE_CSTRING; global_tags[4].value_str = "shaping_metric"; stat->instance = fieldstat_easy_new(thread_num, "shaping_stat", global_tags, 5); diff --git a/shaping/test/gtest_shaper.cpp b/shaping/test/gtest_shaper.cpp index 97f71ee..50c5e90 100644 --- a/shaping/test/gtest_shaper.cpp +++ b/shaping/test/gtest_shaper.cpp @@ -106,8 +106,6 @@ static void shaping_stat_judge(char *file_line, int json_array_idx, int rule_id, { cJSON *json = NULL; cJSON *json_array_element = NULL; - cJSON *fields_json = NULL; - cJSON *tags_json = NULL; cJSON *tmp_obj = NULL; char attr_name[32] = {0}; @@ -124,45 +122,41 @@ static void shaping_stat_judge(char *file_line, int json_array_idx, int rule_id, EXPECT_STREQ("shaping_stat", tmp_obj->valuestring); /******************parse tags***********************************/ - tags_json = cJSON_GetObjectItem(json_array_element, "tags"); - ASSERT_TRUE(tags_json != NULL); - tmp_obj = cJSON_GetObjectItem(tags_json, "vsys_id"); + tmp_obj = cJSON_GetObjectItem(json_array_element, "vsys_id"); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(tmp_obj->valueint, STUB_TEST_VSYS_ID); - tmp_obj = cJSON_GetObjectItem(tags_json, "rule_id"); + tmp_obj = cJSON_GetObjectItem(json_array_element, "rule_id"); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(rule_id, tmp_obj->valueint); - tmp_obj = cJSON_GetObjectItem(tags_json, "profile_id"); + tmp_obj = cJSON_GetObjectItem(json_array_element, "profile_id"); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(profile_id, tmp_obj->valueint); - tmp_obj = cJSON_GetObjectItem(tags_json, "priority"); + tmp_obj = cJSON_GetObjectItem(json_array_element, "priority"); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(priority, tmp_obj->valueint); - tmp_obj = cJSON_GetObjectItem(tags_json, "profile_type"); + tmp_obj = cJSON_GetObjectItem(json_array_element, "profile_type"); ASSERT_TRUE(tmp_obj != NULL); EXPECT_STREQ(tmp_obj->valuestring, profile_type); /******************parse fields**********************************/ - fields_json = cJSON_GetObjectItem(json_array_element, "fields"); - ASSERT_TRUE(fields_json != NULL); snprintf(attr_name, sizeof(attr_name), "%s_pkts", direction == SHAPING_DIR_OUT ? "out" : "in"); - tmp_obj = cJSON_GetObjectItem(fields_json, attr_name); + tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(tx_pkts, tmp_obj->valueint); snprintf(attr_name, sizeof(attr_name), "%s_bytes", direction == SHAPING_DIR_OUT ? "out" : "in"); - tmp_obj = cJSON_GetObjectItem(fields_json, attr_name); + tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(tx_bytes, tmp_obj->valueint); snprintf(attr_name, sizeof(attr_name), "%s_drop_pkts", direction == SHAPING_DIR_OUT ? "out" : "in"); - tmp_obj = cJSON_GetObjectItem(fields_json, attr_name); + tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name); ASSERT_TRUE(tmp_obj != NULL); EXPECT_EQ(drop_pkts, tmp_obj->valueint); @@ -175,7 +169,7 @@ static void shaping_stat_judge(char *file_line, int json_array_idx, int rule_id, }*/ snprintf(attr_name, sizeof(attr_name), "%s_queue_len", direction == SHAPING_DIR_OUT ? "out" : "in"); - tmp_obj = cJSON_GetObjectItem(fields_json, attr_name); + tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name); if (tmp_obj != NULL) { EXPECT_EQ(queue_len, tmp_obj->valueint); } @@ -200,12 +194,9 @@ static int shaping_global_stat_field_get(cJSON *metrics, const char *field_name) static void shaping_global_stat_judge(char *file_line, int tx_pkts, int tx_bytes, int drop_pkts, int drop_bytes, int queueing_pkts, int queueing_bytes) { cJSON *metrics = NULL; - cJSON *json_array_element = NULL; cJSON *json = cJSON_Parse(file_line); - json_array_element = cJSON_GetArrayItem(json, 0); - - metrics = cJSON_GetObjectItem(json_array_element, "fields"); + metrics = cJSON_GetArrayItem(json, 0); EXPECT_EQ(tx_pkts, shaping_global_stat_field_get(metrics, "all_tx_pkts")); EXPECT_EQ(tx_bytes, shaping_global_stat_field_get(metrics, "all_tx_bytes")); |
