summaryrefslogtreecommitdiff
path: root/test/test_metric_histogram.cpp
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2023-09-15 18:32:09 +0800
committerchenzizhan <[email protected]>2023-09-15 18:32:09 +0800
commit0e9f950e0a16d38326efe3dac707cd3563d2dc5a (patch)
treec45530f5a007e58dc6fc89362a5a343b78618f35 /test/test_metric_histogram.cpp
parent6e5d010519ac5b2512367e1582f253bc0cc53297 (diff)
allow record 0v4.2.2
Diffstat (limited to 'test/test_metric_histogram.cpp')
-rw-r--r--test/test_metric_histogram.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_metric_histogram.cpp b/test/test_metric_histogram.cpp
index fca014a..3f94245 100644
--- a/test/test_metric_histogram.cpp
+++ b/test/test_metric_histogram.cpp
@@ -161,6 +161,24 @@ TEST(metric_test_histogram, add_with_wrong_metric_id_expecting_fail)
fieldstat_free(instance);
}
+TEST(metric_test_histogram, can_add_0value) // histogram only allow min_val > 0, but it can accept value == 0
+{
+ struct fieldstat *instance = fieldstat_new();
+ int cube_id = fieldstat_register_cube(instance, &TEST_TAG_INT_collided, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
+ int metric_id = fieldstat_register_hist(instance, cube_id, "czz_test", 1, 600000, 3);
+ int cell_id = fieldstat_cube_add(instance, cube_id, &TEST_TAG_INT_collided, 1, 1);
+
+ int ret = fieldstat_hist_record(instance, cube_id, metric_id, cell_id, 0);
+ EXPECT_EQ(ret, 0);
+ ret = fieldstat_hist_record(instance, cube_id, metric_id, cell_id, 0);
+ EXPECT_EQ(ret, 0);
+ ret = fieldstat_hist_record(instance, cube_id, metric_id, cell_id, 500);
+
+ EXPECT_EQ(fieldstat_hist_value_at_percentile(instance, cube_id, metric_id, cell_id, 60.0), 0);
+
+ fieldstat_free(instance);
+}
+
int main(int argc, char *argv[])
{
testing::InitGoogleTest(&argc, argv);