diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 11:19:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:07:37 +0000 |
commit | b485aab7e71c1625cfc27e0f92c9509f42378458 (patch) | |
tree | ae9abe108601079d1679194de237c9a435ae5b55 /web/api/queries/rrdr.c | |
parent | Adding upstream version 1.44.3. (diff) | |
download | netdata-b485aab7e71c1625cfc27e0f92c9509f42378458.tar.xz netdata-b485aab7e71c1625cfc27e0f92c9509f42378458.zip |
Adding 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.c | 146 |
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; -} |