summaryrefslogtreecommitdiff
path: root/src/fieldstat.c
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2024-07-08 10:56:59 +0800
committerchenzizhan <[email protected]>2024-07-08 10:56:59 +0800
commit722993e93a3843a6240a716b2eaead585c103735 (patch)
tree6be5544e6e0670d0218988cc77bb1d9ea141e4db /src/fieldstat.c
parent4083cad56dfeac683832e93b1d8a295304aa8ea1 (diff)
fieldstat_hll_add_tag
Diffstat (limited to 'src/fieldstat.c')
-rw-r--r--src/fieldstat.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/fieldstat.c b/src/fieldstat.c
index e5a5945..cd43128 100644
--- a/src/fieldstat.c
+++ b/src/fieldstat.c
@@ -340,6 +340,21 @@ int fieldstat_hll_add(struct fieldstat *instance, int cube_id, int metric_id, co
}
// cppcheck-suppress [constParameterPointer, unmatchedSuppression]
+int fieldstat_hll_add_tag(struct fieldstat *instance, int cube_id, int metric_id, const struct fieldstat_tag *tags, size_t n_tag, const struct fieldstat_tag *tags_key, size_t n_tag_key)
+{
+ struct cube *cube = cube_manager_get_cube_by_id(instance->cube_manager, cube_id);
+ if (cube == NULL) {
+ return FS_ERR_INVALID_CUBE_ID;
+ }
+ const struct metric_manifest *manifest = metric_manifest_manager_get_by_id(instance->manifest_manager, metric_id);
+ if (manifest == NULL || manifest->type != METRIC_TYPE_HLL) {
+ return FS_ERR_INVALID_METRIC_ID;
+ }
+
+ return cube_hll_add_tag(cube, manifest, tags, n_tag, tags_key, n_tag_key);
+}
+
+// cppcheck-suppress [constParameterPointer, unmatchedSuppression]
int fieldstat_hist_record(struct fieldstat *instance, int cube_id, int metric_id, const struct fieldstat_tag *tags, size_t n_tag, long long value)
{
struct cube *cube = cube_manager_get_cube_by_id(instance->cube_manager, cube_id);