| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | #ifndef NETDATA_JSONWRAP_INTERNAL_H |
| 4 | #define NETDATA_JSONWRAP_INTERNAL_H |
| 5 | |
| 6 | #include "jsonwrap.h" |
| 7 | #include "libnetdata/json/json-keys.h" |
| 8 | |
| 9 | struct summary_total_counts { |
| 10 | size_t selected; |
| 11 | size_t excluded; |
| 12 | size_t queried; |
| 13 | size_t failed; |
| 14 | }; |
| 15 | |
| 16 | |
| 17 | // visualizers |
| 18 | void query_target_total_counts(BUFFER *wb, const char *key, struct summary_total_counts *totals); |
| 19 | void query_target_metric_counts(BUFFER *wb, QUERY_METRICS_COUNTS *metrics); |
| 20 | void query_target_instance_counts(BUFFER *wb, QUERY_INSTANCES_COUNTS *instances); |
| 21 | void query_target_alerts_counts(BUFFER *wb, QUERY_ALERTS_COUNTS *alerts, const char *name, bool array); |
| 22 | void query_target_points_statistics(BUFFER *wb, QUERY_TARGET *qt, STORAGE_POINT *sp); |
| 23 | |
| 24 | // aggregators |
| 25 | void aggregate_metrics_counts(QUERY_METRICS_COUNTS *dst, const QUERY_METRICS_COUNTS *src); |
| 26 | void aggregate_instances_counts(QUERY_INSTANCES_COUNTS *dst, const QUERY_INSTANCES_COUNTS *src); |
| 27 | void aggregate_alerts_counts(QUERY_ALERTS_COUNTS *dst, const QUERY_ALERTS_COUNTS *src); |
| 28 | void aggregate_into_summary_totals(struct summary_total_counts *totals, QUERY_METRICS_COUNTS *metrics); |
| 29 | |
| 30 | |
| 31 | // common library calls |
| 32 | size_t rrdr_dimension_names(BUFFER *wb, const char *key, RRDR *r, RRDR_OPTIONS options); |
| 33 | size_t rrdr_dimension_ids(BUFFER *wb, const char *key, RRDR *r, RRDR_OPTIONS options); |
| 34 | void query_target_functions(BUFFER *wb, const char *key, RRDR *r); |
| 35 | void query_target_info_nodes(BUFFER *wb, const char *key, RRDR_OPTIONS options); |
| 36 | |
| 37 | // summary formatters |
| 38 | void query_target_summary_labels_v12(BUFFER *wb, QUERY_TARGET *qt, const char *key, bool v2, struct summary_total_counts *key_totals, struct summary_total_counts *value_totals); |
| 39 | void query_target_summary_nodes_v2(BUFFER *wb, QUERY_TARGET *qt, const char *key, struct summary_total_counts *totals); |
| 40 | void query_target_summary_instances_v2(BUFFER *wb, QUERY_TARGET *qt, const char *key, struct summary_total_counts *totals); |
| 41 | void query_target_summary_dimensions_v12(BUFFER *wb, QUERY_TARGET *qt, const char *key, bool v2, struct summary_total_counts *totals); |
| 42 | size_t query_target_summary_contexts_v2(BUFFER *wb, QUERY_TARGET *qt, const char *key, struct summary_total_counts *totals); |
| 43 | void query_target_summary_alerts_v2(BUFFER *wb, QUERY_TARGET *qt, const char *key); |
| 44 | |
| 45 | void query_target_summary_instances_v1(BUFFER *wb, QUERY_TARGET *qt, const char *key); |
| 46 | |
| 47 | void jsonwrap_query_plan(RRDR *r, BUFFER *wb, RRDR_OPTIONS options); |
| 48 | void jsonwrap_query_metric_plan(BUFFER *wb, QUERY_METRIC *qm, RRDR_OPTIONS options); |
| 49 | |
| 50 | void query_target_detailed_objects_tree(BUFFER *wb, RRDR *r, RRDR_OPTIONS options); |
| 51 | |
| 52 | #endif //NETDATA_JSONWRAP_INTERNAL_H |