From 7ccaafd2c6b2527ac9b98c4c376ce29a8c5e5cb9 Mon Sep 17 00:00:00 2001 From: chenzizhan Date: Mon, 12 Aug 2024 14:03:02 +0800 Subject: TSG-22150 --- test/test_register_and_reset.cpp | 102 ++++++++++++++++++++++++++++++--------- 1 file changed, 79 insertions(+), 23 deletions(-) (limited to 'test/test_register_and_reset.cpp') diff --git a/test/test_register_and_reset.cpp b/test/test_register_and_reset.cpp index f3afcc7..7f2772c 100644 --- a/test/test_register_and_reset.cpp +++ b/test/test_register_and_reset.cpp @@ -95,7 +95,48 @@ TEST(test_register, reset_and_try_to_query_cell_comprehensive) fieldstat_free(instance); } -TEST(test_register, reset_and_try_to_query_metric) +TEST(test_register, reset_and_try_to_query_cell_topk) +{ + struct fieldstat *instance = fieldstat_new(); + int cube_id = fieldstat_cube_create(instance, &TEST_SHARED_TAG, 1); + int metric_id = fieldstat_register_counter(instance, cube_id, "counter"); + fieldstat_cube_set_sampling(instance, cube_id, SAMPLING_MODE_TOPK, 10, metric_id); + + fieldstat_counter_incrby(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, 1); + + fieldstat_reset(instance); + long long value; + EXPECT_EQ(fieldstat_counter_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_id, &value), FS_ERR_INVALID_DIMENSION); + + size_t n_cell; + struct field_list *tag_list; + fieldstat_cube_get_cells(instance, cube_id, &tag_list, &n_cell); + EXPECT_EQ(n_cell, 0); + + fieldstat_free(instance); +} + +TEST(test_register, reset_and_try_to_query_cell_spreadsketch) +{ + struct fieldstat *instance = fieldstat_new(); + int cube_id = fieldstat_cube_create(instance, &TEST_SHARED_TAG, 1); + int metric_id = fieldstat_register_hll(instance, cube_id, "hll", 5); + fieldstat_cube_set_sampling(instance, cube_id, SAMPLING_MODE_TOP_CARDINALITY, 10, metric_id); + fieldstat_hll_add(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, "12abc", 5); + + fieldstat_reset(instance); + double value; + EXPECT_EQ(fieldstat_hll_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_id, &value), FS_ERR_INVALID_DIMENSION); + + size_t n_cell; + struct field_list *tag_list; + fieldstat_cube_get_cells(instance, cube_id, &tag_list, &n_cell); + EXPECT_EQ(n_cell, 0); + + fieldstat_free(instance); +} + +TEST(test_register, reset_and_try_to_query_metric_comprehensive) { struct fieldstat *instance = fieldstat_new(); int cube_id = test_fieldstat_cube_create(instance, &TEST_SHARED_TAG, 1, SAMPLING_MODE_COMPREHENSIVE, 10); @@ -105,7 +146,7 @@ TEST(test_register, reset_and_try_to_query_metric) int metric_operated_after_reset = fieldstat_register_counter(instance, cube_id, "counter_after_reset"); fieldstat_counter_incrby(instance, cube_id, metric_counter, &TEST_FIELD_INT, 1, 1); - fieldstat_hll_add(instance, cube_id, metric_counter, &TEST_FIELD_INT, 1, "1", 1); + fieldstat_hll_add(instance, cube_id, metric_hll, &TEST_FIELD_INT, 1, "1", 1); fieldstat_histogram_record(instance, cube_id, metric_hist, &TEST_FIELD_INT, 1, 1000); fieldstat_reset(instance); @@ -121,43 +162,58 @@ TEST(test_register, reset_and_try_to_query_metric) fieldstat_free(instance); } -TEST(test_register, reset_and_try_to_query_cell_topk) +TEST(test_register, reset_and_try_to_query_primary_metric_topk) { struct fieldstat *instance = fieldstat_new(); int cube_id = fieldstat_cube_create(instance, &TEST_SHARED_TAG, 1); - int metric_id = fieldstat_register_counter(instance, cube_id, "counter"); - fieldstat_cube_set_sampling(instance, cube_id, SAMPLING_MODE_TOPK, 10, metric_id); + int metric_counter_primary = fieldstat_register_counter(instance, cube_id, "counter"); + int metric_hll = fieldstat_register_hll(instance, cube_id, "hll", 5); + int metric_operated_after_reset = fieldstat_register_counter(instance, cube_id, "counter_after_reset"); + fieldstat_cube_set_sampling(instance, cube_id, SAMPLING_MODE_TOPK, 1, metric_counter_primary); - fieldstat_counter_incrby(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, 1); + fieldstat_counter_incrby(instance, cube_id, metric_counter_primary, &TEST_FIELD_INT, 1, 1); + fieldstat_hll_add(instance, cube_id, metric_hll, &TEST_FIELD_INT, 1, "1", 1); fieldstat_reset(instance); - long long value; - EXPECT_EQ(fieldstat_counter_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_id, &value), FS_ERR_INVALID_DIMENSION); + fieldstat_counter_incrby(instance, cube_id, metric_operated_after_reset, &TEST_FIELD_INT, 1, 1); - size_t n_cell; - struct field_list *tag_list; - fieldstat_cube_get_cells(instance, cube_id, &tag_list, &n_cell); - EXPECT_EQ(n_cell, 0); + long long value; + double value_hll; + char *value_hll_base64; + size_t value_hll_base64_len; + EXPECT_EQ(fieldstat_counter_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_counter_primary, &value), FS_ERR_INVALID_METRIC_ID); + EXPECT_EQ(fieldstat_hll_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_hll, &value_hll), FS_ERR_INVALID_METRIC_ID); + fieldstat_metric_get_serialization_as_base64(instance, cube_id,metric_hll, &TEST_FIELD_LIST_INT,&value_hll_base64, &value_hll_base64_len); + EXPECT_EQ(value_hll_base64, nullptr); + EXPECT_EQ(fieldstat_counter_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_operated_after_reset, &value), FS_OK); fieldstat_free(instance); } -TEST(test_register, reset_and_try_to_query_cell_spreadsketch) +TEST(test_register, reset_and_try_to_query_primary_metric_spreadsketch) { struct fieldstat *instance = fieldstat_new(); int cube_id = fieldstat_cube_create(instance, &TEST_SHARED_TAG, 1); - int metric_id = fieldstat_register_hll(instance, cube_id, "hll", 5); - fieldstat_cube_set_sampling(instance, cube_id, SAMPLING_MODE_TOP_CARDINALITY, 10, metric_id); - fieldstat_hll_add(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, "12abc", 5); + int metric_counter = fieldstat_register_counter(instance, cube_id, "counter"); + int metric_hll_primary = fieldstat_register_hll(instance, cube_id, "hll", 5); + int metric_operated_after_reset = fieldstat_register_counter(instance, cube_id, "counter_after_reset"); + fieldstat_cube_set_sampling(instance, cube_id, SAMPLING_MODE_TOP_CARDINALITY, 1, metric_hll_primary); + + fieldstat_counter_incrby(instance, cube_id, metric_counter, &TEST_FIELD_INT, 1, 1); + fieldstat_hll_add(instance, cube_id, metric_hll_primary, &TEST_FIELD_INT, 1, "1", 1); fieldstat_reset(instance); - double value; - EXPECT_EQ(fieldstat_hll_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_id, &value), FS_ERR_INVALID_DIMENSION); + fieldstat_counter_incrby(instance, cube_id, metric_operated_after_reset, &TEST_FIELD_INT, 1, 1); - size_t n_cell; - struct field_list *tag_list; - fieldstat_cube_get_cells(instance, cube_id, &tag_list, &n_cell); - EXPECT_EQ(n_cell, 0); + long long value; + double value_hll; + char *value_hll_base64; + size_t value_hll_base64_len; + EXPECT_EQ(fieldstat_counter_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_counter, &value), FS_ERR_INVALID_METRIC_ID); + EXPECT_EQ(fieldstat_hll_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_hll_primary, &value_hll), FS_ERR_INVALID_METRIC_ID); + EXPECT_EQ(fieldstat_counter_get(instance, cube_id, &TEST_FIELD_LIST_INT, metric_operated_after_reset, &value), FS_OK); + fieldstat_metric_get_serialization_as_base64(instance, cube_id,metric_hll_primary, &TEST_FIELD_LIST_INT,&value_hll_base64, &value_hll_base64_len); + EXPECT_EQ(value_hll_base64, nullptr); fieldstat_free(instance); } @@ -830,6 +886,6 @@ TEST(calibrate, delete_first_cube) int main(int argc, char *argv[]) { testing::InitGoogleTest(&argc, argv); - // testing::GTEST_FLAG(filter) = "test_register.reset_and_new_cell_spreadsketch"; + testing::GTEST_FLAG(filter) = "test_register.reset_and_try_to_query_primary*"; return RUN_ALL_TESTS(); } \ No newline at end of file -- cgit v1.2.3