summaryrefslogtreecommitdiffstats
path: root/web/api/queries/rrdr.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:08:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:08:18 +0000
commit5da14042f70711ea5cf66e034699730335462f66 (patch)
tree0f6354ccac934ed87a2d555f45be4c831cf92f4a /web/api/queries/rrdr.c
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-5da14042f70711ea5cf66e034699730335462f66.tar.xz
netdata-5da14042f70711ea5cf66e034699730335462f66.zip
Merging upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/api/queries/rrdr.c')
-rw-r--r--web/api/queries/rrdr.c146
1 files changed, 0 insertions, 146 deletions
diff --git a/web/api/queries/rrdr.c b/web/api/queries/rrdr.c
deleted file mode 100644
index 2a0016891..000000000
--- a/web/api/queries/rrdr.c
+++ /dev/null
@@ -1,146 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#include "rrdr.h"
-
-/*
-static void rrdr_dump(RRDR *r)
-{
- long c, i;
- RRDDIM *d;
-
- fprintf(stderr, "\nCHART %s (%s)\n", r->st->id, r->st->name);
-
- for(c = 0, d = r->st->dimensions; d ;c++, d = d->next) {
- fprintf(stderr, "DIMENSION %s (%s), %s%s%s%s\n"
- , d->id
- , d->name
- , (r->od[c] & RRDR_EMPTY)?"EMPTY ":""
- , (r->od[c] & RRDR_RESET)?"RESET ":""
- , (r->od[c] & RRDR_DIMENSION_HIDDEN)?"HIDDEN ":""
- , (r->od[c] & RRDR_DIMENSION_NONZERO)?"NONZERO ":""
- );
- }
-
- if(r->rows <= 0) {
- fprintf(stderr, "RRDR does not have any values in it.\n");
- return;
- }
-
- fprintf(stderr, "RRDR includes %d values in it:\n", r->rows);
-
- // for each line in the array
- for(i = 0; i < r->rows ;i++) {
- NETDATA_DOUBLE *cn = &r->v[ i * r->d ];
- RRDR_DIMENSION_FLAGS *co = &r->o[ i * r->d ];
-
- // print the id and the timestamp of the line
- fprintf(stderr, "%ld %ld ", i + 1, r->t[i]);
-
- // for each dimension
- for(c = 0, d = r->st->dimensions; d ;c++, d = d->next) {
- if(unlikely(r->od[c] & RRDR_DIMENSION_HIDDEN)) continue;
- if(unlikely(!(r->od[c] & RRDR_DIMENSION_NONZERO))) continue;
-
- if(co[c] & RRDR_EMPTY)
- fprintf(stderr, "null ");
- else
- fprintf(stderr, NETDATA_DOUBLE_FORMAT " %s%s%s%s "
- , cn[c]
- , (co[c] & RRDR_EMPTY)?"E":" "
- , (co[c] & RRDR_RESET)?"R":" "
- , (co[c] & RRDR_DIMENSION_HIDDEN)?"H":" "
- , (co[c] & RRDR_DIMENSION_NONZERO)?"N":" "
- );
- }
-
- fprintf(stderr, "\n");
- }
-}
-*/
-
-inline void rrdr_free(ONEWAYALLOC *owa, RRDR *r) {
- if(unlikely(!r)) return;
-
- for(size_t d = 0; d < r->d ;d++) {
- string_freez(r->di[d]);
- string_freez(r->dn[d]);
- string_freez(r->du[d]);
- }
-
- query_target_release(r->internal.release_with_rrdr_qt);
-
- onewayalloc_freez(owa, r->t);
- onewayalloc_freez(owa, r->v);
- onewayalloc_freez(owa, r->vh);
- onewayalloc_freez(owa, r->o);
- onewayalloc_freez(owa, r->od);
- onewayalloc_freez(owa, r->di);
- onewayalloc_freez(owa, r->dn);
- onewayalloc_freez(owa, r->du);
- onewayalloc_freez(owa, r->dp);
- onewayalloc_freez(owa, r->dview);
- onewayalloc_freez(owa, r->dqp);
- onewayalloc_freez(owa, r->ar);
- onewayalloc_freez(owa, r->gbc);
- onewayalloc_freez(owa, r->dgbc);
- onewayalloc_freez(owa, r->dgbs);
-
- if(r->dl) {
- for(size_t d = 0; d < r->d ;d++)
- dictionary_destroy(r->dl[d]);
-
- onewayalloc_freez(owa, r->dl);
- }
-
- dictionary_destroy(r->label_keys);
-
- if(r->group_by.r) {
- // prevent accidental infinite recursion
- r->group_by.r->group_by.r = NULL;
-
- // do not release qt twice
- r->group_by.r->internal.qt = NULL;
-
- rrdr_free(owa, r->group_by.r);
- }
-
- onewayalloc_freez(owa, r);
-}
-
-RRDR *rrdr_create(ONEWAYALLOC *owa, QUERY_TARGET *qt, size_t dimensions, size_t points) {
- if(unlikely(!qt))
- return NULL;
-
- // create the rrdr
- RRDR *r = onewayalloc_callocz(owa, 1, sizeof(RRDR));
- r->internal.owa = owa;
- r->internal.qt = qt;
-
- r->view.before = qt->window.before;
- r->view.after = qt->window.after;
- r->time_grouping.points_wanted = points;
- r->d = (int)dimensions;
- r->n = (int)points;
-
- if(points && dimensions) {
- r->v = onewayalloc_mallocz(owa, points * dimensions * sizeof(NETDATA_DOUBLE));
- r->o = onewayalloc_mallocz(owa, points * dimensions * sizeof(RRDR_VALUE_FLAGS));
- r->ar = onewayalloc_mallocz(owa, points * dimensions * sizeof(NETDATA_DOUBLE));
- }
-
- if(points) {
- r->t = onewayalloc_callocz(owa, points, sizeof(time_t));
- }
-
- if(dimensions) {
- r->od = onewayalloc_mallocz(owa, dimensions * sizeof(RRDR_DIMENSION_FLAGS));
- r->di = onewayalloc_callocz(owa, dimensions, sizeof(STRING *));
- r->dn = onewayalloc_callocz(owa, dimensions, sizeof(STRING *));
- r->du = onewayalloc_callocz(owa, dimensions, sizeof(STRING *));
- }
-
- r->view.group = 1;
- r->view.update_every = 1;
-
- return r;
-}