diff options
author | Timotej S <6674623+underhood@users.noreply.github.com> | 2020-11-06 10:16:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-06 10:16:20 +0100 |
commit | 144800420e305dfa352aab47ab324af19b320c83 (patch) | |
tree | 2d8c08a6ca4cdea0009b7da122bdacdb7165a6e2 /aclk/aclk_stats.h | |
parent | 767afeeb393698f3a8c3d483f7bce32dd468a911 (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.h | 43 |
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; |