summaryrefslogtreecommitdiff
path: root/test/test_metric_histogram.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_metric_histogram.cpp')
-rw-r--r--test/test_metric_histogram.cpp87
1 files changed, 51 insertions, 36 deletions
diff --git a/test/test_metric_histogram.cpp b/test/test_metric_histogram.cpp
index 6983d02..c99a565 100644
--- a/test/test_metric_histogram.cpp
+++ b/test/test_metric_histogram.cpp
@@ -6,13 +6,21 @@
#include "hdr/hdr_histogram.h"
#include "histogram_encoder.h"
+int test_fieldstat_cube_create(struct fieldstat *instance, const struct field *dimensions, size_t n_dimensions, enum sampling_mode mode, int k)
+{
+ assert(mode == SAMPLING_MODE_COMPREHENSIVE);
+ int ret = fieldstat_cube_create(instance, dimensions, n_dimensions);
+ fieldstat_cube_set_sampling(instance, ret, mode, k, 0);
+ return ret;
+}
+
struct fieldstat *test_init_standard_instance_one_cube_one_metric_one_cell_hdr()
{
struct fieldstat *instance = fieldstat_new();
- int cube_id = fieldstat_create_cube(instance, &TEST_SHARED_TAG, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
+ int cube_id = test_fieldstat_cube_create(instance, &TEST_SHARED_TAG, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
EXPECT_EQ(cube_id, 0);
- int metric_id = fieldstat_register_hist(instance, "czz_test hdr metric", 1, 600000, 3);
+ int metric_id = fieldstat_register_histogram(instance, cube_id, "czz_test hdr metric", 1, 600000, 3);
EXPECT_EQ(metric_id, 0);
return instance;
@@ -27,31 +35,38 @@ void test_assert_standard_instance(const struct fieldstat *instance)
int ret_cell_id = ret_cube_id_arr[0];
free(ret_cube_id_arr);
EXPECT_EQ(ret_cell_id, 0);
- const char *name = fieldstat_get_metric_name(instance, 0);
+ const char *name = fieldstat_get_metric_name(instance, ret_cell_id, 0);
EXPECT_STREQ(name, "czz_test hdr metric");
- struct fieldstat_tag_list *tag_list = NULL;
+ struct field_list *tag_list = NULL;
size_t n_cell = 0;
- fieldstat_get_cells_used_by_metric(instance, 0, 0, &tag_list, &n_cell);
+ fieldstat_cube_get_cells(instance, 0, &tag_list, &n_cell);
EXPECT_EQ(n_cell, 1);
- EXPECT_EQ(tag_list->n_tag, 1);
- EXPECT_STREQ(tag_list->tag[0].key, TEST_TAG_STRING.key);
+ EXPECT_EQ(tag_list->n_field, 1);
+ EXPECT_STREQ(tag_list->field[0].key, TEST_FIELD_STRING.key);
+
+ int *metric_id = NULL;
+ size_t n_metric = 0;
+ fieldstat_get_metric_in_cell(instance, 0, &tag_list[0], &metric_id, &n_metric);
+ EXPECT_EQ(n_metric, 1);
+ EXPECT_EQ(metric_id[0], 0);
+ free(metric_id);
- fieldstat_tag_list_arr_free(tag_list, n_cell);
+ fieldstat_field_list_arr_free(tag_list, n_cell);
}
TEST(metric_test_histogram, simple_register_and_query)
{
struct fieldstat *instance = test_init_standard_instance_one_cube_one_metric_one_cell_hdr();
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 1234);
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 1234);
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 123);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 1234);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 1234);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 123);
test_assert_standard_instance(instance);
- EXPECT_EQ(fieldstat_hist_value_at_percentile(instance, 0, 0, &TEST_TAG_LIST_STRING, 50.0), 1234);
- EXPECT_EQ(fieldstat_hist_count_le_value(instance, 0, 0, &TEST_TAG_LIST_STRING, 1000), 1);
+ EXPECT_EQ(fieldstat_histogram_value_at_percentile(instance, 0, &TEST_FIELD_LIST_STRING, 0, 50.0), 1234);
+ EXPECT_EQ(fieldstat_histogram_count_le_value(instance, 0, &TEST_FIELD_LIST_STRING, 0, 1000), 1);
fieldstat_free(instance);
}
@@ -59,9 +74,9 @@ TEST(metric_test_histogram, simple_register_and_query)
TEST(metric_test_histogram, merge)
{
struct fieldstat *instance = test_init_standard_instance_one_cube_one_metric_one_cell_hdr();
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 1234);
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 1234);
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 123);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 1234);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 1234);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 123);
struct fieldstat *instance_total = fieldstat_new();
fieldstat_merge(instance_total, instance);
@@ -69,8 +84,8 @@ TEST(metric_test_histogram, merge)
// query
test_assert_standard_instance(instance_total);
- EXPECT_EQ(fieldstat_hist_value_at_percentile(instance_total, 0, 0, &TEST_TAG_LIST_STRING, 50.0), 1234);
- EXPECT_EQ(fieldstat_hist_count_le_value(instance, 0, 0, &TEST_TAG_LIST_STRING, 1000), 1);
+ EXPECT_EQ(fieldstat_histogram_value_at_percentile(instance_total, 0, &TEST_FIELD_LIST_STRING, 0, 50.0), 1234);
+ EXPECT_EQ(fieldstat_histogram_count_le_value(instance, 0, &TEST_FIELD_LIST_STRING, 0, 1000), 1);
fieldstat_free(instance);
fieldstat_free(instance_total);
@@ -79,19 +94,19 @@ TEST(metric_test_histogram, merge)
TEST(metric_test_histogram, merge_twice_with_reset)
{
struct fieldstat *instance = test_init_standard_instance_one_cube_one_metric_one_cell_hdr();
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 1234);
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 123);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 1234);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 123);
struct fieldstat *instance_total = fieldstat_new();
fieldstat_merge(instance_total, instance);
fieldstat_reset(instance);
- fieldstat_hist_record(instance, 0, 0, &TEST_TAG_STRING, 1, 1234);
+ fieldstat_histogram_record(instance, 0, 0, &TEST_FIELD_STRING, 1, 1234);
fieldstat_merge(instance_total, instance);
test_assert_standard_instance(instance_total);
- EXPECT_EQ(fieldstat_hist_value_at_percentile(instance_total, 0, 0, &TEST_TAG_LIST_STRING, 50.0), 1234);
- EXPECT_EQ(fieldstat_hist_count_le_value(instance_total, 0, 0, &TEST_TAG_LIST_STRING, 1000), 1);
+ EXPECT_EQ(fieldstat_histogram_value_at_percentile(instance_total, 0, &TEST_FIELD_LIST_STRING, 0, 50.0), 1234);
+ EXPECT_EQ(fieldstat_histogram_count_le_value(instance_total, 0, &TEST_FIELD_LIST_STRING, 0, 1000), 1);
fieldstat_free(instance);
fieldstat_free(instance_total);
@@ -100,11 +115,11 @@ TEST(metric_test_histogram, merge_twice_with_reset)
TEST(metric_test_histogram, add_with_wrong_cube_id_expecting_fail)
{
struct fieldstat *instance = fieldstat_new();
- int cube_id = fieldstat_create_cube(instance, &TEST_TAG_INT_collided, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
+ int cube_id = test_fieldstat_cube_create(instance, &TEST_FIELD_INT_2, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
- int ret = fieldstat_hist_record(instance, cube_id + 1, 0, &TEST_TAG_INT, 1, 1);
+ int ret = fieldstat_histogram_record(instance, cube_id + 1, 0, &TEST_FIELD_INT, 1, 1);
EXPECT_EQ(ret, FS_ERR_INVALID_CUBE_ID);
- ret = fieldstat_hist_record(instance, -1, 0, &TEST_TAG_INT, 1, 1);
+ ret = fieldstat_histogram_record(instance, -1, 0, &TEST_FIELD_INT, 1, 1);
EXPECT_EQ(ret, FS_ERR_INVALID_CUBE_ID);
fieldstat_free(instance);
@@ -113,12 +128,12 @@ TEST(metric_test_histogram, add_with_wrong_cube_id_expecting_fail)
TEST(metric_test_histogram, add_with_wrong_metric_id_expecting_fail)
{
struct fieldstat *instance = fieldstat_new();
- int cube_id = fieldstat_create_cube(instance, &TEST_TAG_INT_collided, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
- int metric_id = fieldstat_register_hist(instance, "czz_test", 1, 600000, 3);
+ int cube_id = test_fieldstat_cube_create(instance, &TEST_FIELD_INT_2, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
+ int metric_id = fieldstat_register_histogram(instance, cube_id, "czz_test", 1, 600000, 3);
- int ret = fieldstat_hist_record(instance, cube_id, metric_id + 1, &TEST_TAG_INT, 1, 1);
+ int ret = fieldstat_histogram_record(instance, cube_id, metric_id + 1, &TEST_FIELD_INT, 1, 1);
EXPECT_EQ(ret, FS_ERR_INVALID_METRIC_ID);
- ret = fieldstat_hist_record(instance, cube_id, -1, &TEST_TAG_INT, 1, 1);
+ ret = fieldstat_histogram_record(instance, cube_id, -1, &TEST_FIELD_INT, 1, 1);
EXPECT_EQ(ret, FS_ERR_INVALID_METRIC_ID);
fieldstat_free(instance);
@@ -162,16 +177,16 @@ TEST(metric_test_histogram, encode_decode_b64)
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_create_cube(instance, &TEST_TAG_INT_collided, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
- int metric_id = fieldstat_register_hist(instance, "czz_test", 1, 600000, 3);
+ int cube_id = test_fieldstat_cube_create(instance, &TEST_FIELD_INT_2, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
+ int metric_id = fieldstat_register_histogram(instance, cube_id, "czz_test", 1, 600000, 3);
- int ret = fieldstat_hist_record(instance, cube_id, metric_id, &TEST_TAG_INT, 1, 0);
+ int ret = fieldstat_histogram_record(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, 0);
EXPECT_EQ(ret, 0);
- ret = fieldstat_hist_record(instance, cube_id, metric_id, &TEST_TAG_INT, 1, 0);
+ ret = fieldstat_histogram_record(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, 0);
EXPECT_EQ(ret, 0);
- ret = fieldstat_hist_record(instance, cube_id, metric_id, &TEST_TAG_INT, 1, 500);
+ ret = fieldstat_histogram_record(instance, cube_id, metric_id, &TEST_FIELD_INT, 1, 500);
- EXPECT_EQ(fieldstat_hist_value_at_percentile(instance, cube_id, metric_id, &TEST_TAG_LIST_INT, 60.0), 0);
+ EXPECT_EQ(fieldstat_histogram_value_at_percentile(instance, cube_id, &TEST_FIELD_LIST_INT, metric_id, 60.0), 0);
fieldstat_free(instance);
}