summaryrefslogtreecommitdiff
path: root/src/exporter/cjson_exporter.c
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2023-07-31 18:03:59 +0800
committerchenzizhan <[email protected]>2023-07-31 18:03:59 +0800
commit603a81ae5ab5920cdd92d14e3f397a4416efc4c5 (patch)
tree0a3dbd098b3e1b261ce6a490910287adf5f98095 /src/exporter/cjson_exporter.c
parentf3269add7a259a0f622656172a8e4e00f4bfc9cc (diff)
too many metrics, cell_iter_next_cube
Diffstat (limited to 'src/exporter/cjson_exporter.c')
-rw-r--r--src/exporter/cjson_exporter.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/exporter/cjson_exporter.c b/src/exporter/cjson_exporter.c
index c836dcd..a4154c4 100644
--- a/src/exporter/cjson_exporter.c
+++ b/src/exporter/cjson_exporter.c
@@ -168,7 +168,7 @@ const char *cell_iter_get_name(const struct cell_iter *iter) {
return fieldstat_get_metric_name(iter->instance, iter->cube_ids[iter->curr_cube_idx], iter->curr_metric_id);
}
-int cell_iter_next_nonempty_cube(struct cell_iter *iter) {
+int cell_iter_next_cube(struct cell_iter *iter) {
const struct fieldstat *instance = iter->instance;
while (iter->curr_cube_idx < iter->n_cube - 1) {
int cube_id_next = iter->cube_ids[++iter->curr_cube_idx];
@@ -213,13 +213,20 @@ int cell_iter_next_nonempty_metric(struct cell_iter *iter) {
return 0;
}
+int cell_iter_next_non_empty_cube(struct cell_iter *iter) {
+ while (cell_iter_next_cube(iter)) {
+ if (cell_iter_next_nonempty_metric(iter)) {
+ iter->shared_tag = fieldstat_get_shared_tags(iter->instance, iter->cube_ids[iter->curr_cube_idx]);
+ return 1;
+ }
+ }
+ return 0;
+}
+
int cell_iter_next(struct cell_iter *iter) {
if (iter->curr_cube_idx == -1) { // first time
- while (cell_iter_next_nonempty_cube(iter)) {
- if (cell_iter_next_nonempty_metric(iter)) {
- iter->shared_tag = fieldstat_get_shared_tags(iter->instance, iter->cube_ids[iter->curr_cube_idx]);
- return 1;
- }
+ if (cell_iter_next_non_empty_cube(iter)) {
+ return 1;
}
return 0;
}
@@ -235,11 +242,8 @@ int cell_iter_next(struct cell_iter *iter) {
fieldstat_tag_list_arr_free(iter->shared_tag, 1);
iter->shared_tag = NULL;
- while (cell_iter_next_nonempty_cube(iter)) {
- if (cell_iter_next_nonempty_metric(iter)) {
- iter->shared_tag = fieldstat_get_shared_tags(iter->instance, iter->cube_ids[iter->curr_cube_idx]);
- return 1;
- }
+ if (cell_iter_next_non_empty_cube(iter)) {
+ return 1;
}
return 0;
}