summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2024-04-16 15:40:09 +0800
committerchenzizhan <[email protected]>2024-04-16 15:40:09 +0800
commitbab8c29dc98dfa4515fffa077e0f234b541560f3 (patch)
tree0344ea555f48ba2b08f4f9efa9e16b65a5158af2 /test
parentd94c4d5ed20d5a88c03260169b31f0db46ab8c5a (diff)
can enable delta in fse active outputv4.5.6
Diffstat (limited to 'test')
-rw-r--r--test/test_easy_fs.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/test_easy_fs.cpp b/test/test_easy_fs.cpp
index 44dbed9..0595593 100644
--- a/test/test_easy_fs.cpp
+++ b/test/test_easy_fs.cpp
@@ -40,6 +40,33 @@ TEST(test_easy_fieldstat, output_to_buff)
fieldstat_easy_free(fse);
}
+TEST(test_easy_fieldstat, output_to_buff_with_delta)
+{
+ struct fieldstat_easy *fse = fieldstat_easy_new(10, NULL, &TEST_TAG_STRING, 1);
+ fieldstat_easy_enable_delta_in_active_output(fse);
+ fieldstat_easy_register_counter(fse, "metric counter");
+ fieldstat_easy_counter_incrby(fse, 0, 0, &TEST_TAG_INT, 1, 1);
+ char *buff = NULL;
+ size_t buff_len = 0;
+ fieldstat_easy_output(fse, &buff, &buff_len);
+ free(buff);
+ fieldstat_easy_counter_incrby(fse, 0, 0, &TEST_TAG_INT, 1, 1);
+ fieldstat_easy_output(fse, &buff, &buff_len);
+
+ cJSON *root = cJSON_Parse(buff);
+ cJSON *cell = cJSON_GetArrayItem(root, 0);
+ cJSON *metric = cJSON_GetObjectItem(cell, "fields");
+ long long value = cJSON_GetObjectItem(metric, "metric counter")->valueint;
+ EXPECT_EQ(value, 2);
+ cJSON *metric_delta = cJSON_GetObjectItem(cell, "fields_delta");
+ long long value_delta = cJSON_GetObjectItem(metric_delta, "metric counter")->valueint;
+ EXPECT_EQ(value_delta, 1);
+
+ cJSON_Delete(root);
+ free(buff);
+ fieldstat_easy_free(fse);
+}
+
cJSON *read_file()
{
std::ifstream ifs(FILENAME);