summaryrefslogtreecommitdiffstats
path: root/aclk/aclk_stats.h
diff options
context:
space:
mode:
authorTimotej S <6674623+underhood@users.noreply.github.com>2020-11-06 10:16:20 +0100
committerGitHub <noreply@github.com>2020-11-06 10:16:20 +0100
commit144800420e305dfa352aab47ab324af19b320c83 (patch)
tree2d8c08a6ca4cdea0009b7da122bdacdb7165a6e2 /aclk/aclk_stats.h
parent767afeeb393698f3a8c3d483f7bce32dd468a911 (diff)
Adds metric showing how long Query spent in Queue (#10016)
* implements new ACLK metric * cleans ACLK_stats code a bit
Diffstat (limited to 'aclk/aclk_stats.h')
-rw-r--r--aclk/aclk_stats.h43
1 files changed, 34 insertions, 9 deletions
diff --git a/aclk/aclk_stats.h b/aclk/aclk_stats.h
index 7ef3e337c6..49ea473485 100644
--- a/aclk/aclk_stats.h
+++ b/aclk/aclk_stats.h
@@ -26,6 +26,35 @@ struct aclk_metrics {
volatile uint8_t online;
};
+//mat = max average total
+struct aclk_metric_mat_data {
+ volatile uint32_t total;
+ volatile uint32_t count;
+ volatile uint32_t max;
+};
+
+//mat = max average total
+struct aclk_metric_mat {
+ char *name;
+ char *title;
+ RRDSET *st;
+ RRDDIM *rd_avg;
+ RRDDIM *rd_max;
+ RRDDIM *rd_total;
+ long prio;
+ char *unit;
+};
+
+extern struct aclk_mat_metrics {
+#ifdef NETDATA_INTERNAL_CHECKS
+ struct aclk_metric_mat latency;
+#endif
+ struct aclk_metric_mat cloud_q_db_query_time;
+ struct aclk_metric_mat cloud_q_recvd_to_processed;
+} aclk_mat_metrics;
+
+void aclk_metric_mat_update(struct aclk_metric_mat_data *metric, usec_t measurement);
+
// reset to 0 on every sample
extern struct aclk_metrics_per_sample {
/* in the unlikely event of ACLK disconnecting
@@ -37,12 +66,6 @@ extern struct aclk_metrics_per_sample {
volatile uint32_t queries_queued;
volatile uint32_t queries_dispatched;
-#ifdef NETDATA_INTERNAL_CHECKS
- volatile uint32_t latency_max;
- volatile uint32_t latency_total;
- volatile uint32_t latency_count;
-#endif
-
volatile uint32_t write_q_added;
volatile uint32_t write_q_consumed;
@@ -52,9 +75,11 @@ extern struct aclk_metrics_per_sample {
volatile uint32_t cloud_req_recvd;
volatile uint32_t cloud_req_err;
- volatile uint32_t cloud_q_process_total;
- volatile uint32_t cloud_q_process_count;
- volatile uint32_t cloud_q_process_max;
+#ifdef NETDATA_INTERNAL_CHECKS
+ struct aclk_metric_mat_data latency;
+#endif
+ struct aclk_metric_mat_data cloud_q_db_query_time;
+ struct aclk_metric_mat_data cloud_q_recvd_to_processed;
} aclk_metrics_per_sample;
extern uint32_t *aclk_queries_per_thread;