diff options
| author | fumingwei <[email protected]> | 2023-03-27 21:39:40 +0800 |
|---|---|---|
| committer | fumingwei <[email protected]> | 2023-03-28 16:13:45 +0800 |
| commit | 1b65cc6b0cabca68f7e731a5d201dc1071bbd48d (patch) | |
| tree | 3db78f66563fcb88734890bec23a2688abe05902 /test/src | |
| parent | 45a6ce34addd9187d7123c03d3badd5fa6d30589 (diff) | |
feature:新增获取dynamic metric value的接口v3.0.0
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/gtest_dynamic_fieldstat.cpp | 51 | ||||
| -rw-r--r-- | test/src/gtest_fieldstat.cpp | 1 |
2 files changed, 50 insertions, 2 deletions
diff --git a/test/src/gtest_dynamic_fieldstat.cpp b/test/src/gtest_dynamic_fieldstat.cpp index 669a980..c58d4f3 100644 --- a/test/src/gtest_dynamic_fieldstat.cpp +++ b/test/src/gtest_dynamic_fieldstat.cpp @@ -1034,7 +1034,6 @@ void parse_telegraf_cjson_output_not_equal(const char *compare) FILE *fp; char line[1024] = {0}; char *cjson_metric_str = NULL; - int ret = 0; fp = fopen(telegraf_output_file, "r"); EXPECT_NE(nullptr, fp); @@ -2579,6 +2578,56 @@ TEST(FeildStatDynamicAPI, FieldStatDynamicInstanceMultiSetMultiMetric) } +TEST(FeildStatDynamicAPI, FieldStatDynamicMetricValueGet) +{ + int n_thread = 48; + int ret = 0; + long long value = 0; + struct fieldstat_dynamic_instance *instance = NULL; + + instance = fieldstat_dynamic_instance_new("firewall", n_thread); + EXPECT_NE(nullptr, instance); + + ret = fieldstat_dynamic_metric_value_incrby(instance, FIELD_TYPE_GAUGE, "Active_sessions", 1000, NULL, 0, 0); + EXPECT_EQ(0, ret); + value = fieldstat_dynamic_metric_value_get(instance, "Active_sessions", NULL, 0, 0); + EXPECT_EQ(1000, value); + fieldstat_dynamic_instance_free(instance); +} + + +TEST(FeildStatDynamicAPI, FieldStatDynamicTableMetricValueGet) +{ + int n_thread = 48; + int ret = 0; + int table_id = -1; + long long value = 0; + + const char *column_name[] = {"packages", "bytes"}; + enum field_type column_type[] = {FIELD_TYPE_COUNTER, FIELD_TYPE_COUNTER}; + unsigned int out_column_ids[2]; + + struct fieldstat_dynamic_instance *instance = NULL; + + instance = fieldstat_dynamic_instance_new("firewall", n_thread); + EXPECT_NE(nullptr, instance); + + table_id = fieldstat_register_dynamic_table(instance, "shaping", column_name, column_type, sizeof(column_name)/sizeof(column_name[0]), out_column_ids); + EXPECT_EQ(0, table_id); + + ret = fieldstat_dynamic_table_metric_value_incrby(instance, table_id, out_column_ids[0], "security_rule_hits", 1000, NULL, 0, 0); + EXPECT_EQ(0, ret); + ret = fieldstat_dynamic_table_metric_value_incrby(instance, table_id, out_column_ids[1], "security_rule_hits", 2000, NULL, 0, 0); + EXPECT_EQ(0, ret); + + value = fieldstat_dynamic_table_metric_value_get(instance, table_id, out_column_ids[0], "security_rule_hits", NULL, 0, 0); + EXPECT_EQ(1000, value); + + value = fieldstat_dynamic_table_metric_value_get(instance, table_id, out_column_ids[1], "security_rule_hits", NULL, 0, 0); + EXPECT_EQ(2000, value); + + fieldstat_dynamic_instance_free(instance); +} int main(int argc, char *argv[]) { diff --git a/test/src/gtest_fieldstat.cpp b/test/src/gtest_fieldstat.cpp index 1435391..609853e 100644 --- a/test/src/gtest_fieldstat.cpp +++ b/test/src/gtest_fieldstat.cpp @@ -252,7 +252,6 @@ TEST(FeildStatAPI, FieldStatLocalOutputFormatJson) TEST(FeildStatAPI, FieldStatLineProtocolOutputTableMetric) { - int metric_id = -1; int ret = 0; int n_loops = 1; struct fieldstat_instance * instance = NULL; |
