summaryrefslogtreecommitdiffstats
path: root/exporting/exporting_engine.h
diff options
context:
space:
mode:
authorVladimir Kobal <vlad@prokk.net>2020-04-10 12:26:36 +0300
committerGitHub <noreply@github.com>2020-04-10 12:26:36 +0300
commit231d19351d0ea20aa66fd204215cbb24f34d7575 (patch)
treee3ed26be7d8ea4ba3b07a29c77bf05bc67b73a43 /exporting/exporting_engine.h
parent764a0676e82c89b4a4516a31a7782ea606071fa5 (diff)
Show internal stats for the exporting engine (#8635)
* Add a print function for internal exporting statistics * Send statistics for simple connectors * Flush sending buffers on failures * Send statistics for the Kinesis connector * Send statistics for the MongoDB connector * Add unit tests
Diffstat (limited to 'exporting/exporting_engine.h')
-rw-r--r--exporting/exporting_engine.h53
1 files changed, 40 insertions, 13 deletions
diff --git a/exporting/exporting_engine.h b/exporting/exporting_engine.h
index 8a46dd5d3d..94daf98e05 100644
--- a/exporting/exporting_engine.h
+++ b/exporting/exporting_engine.h
@@ -99,18 +99,42 @@ struct engine_config {
};
struct stats {
- collected_number chart_buffered_metrics;
- collected_number chart_lost_metrics;
- collected_number chart_sent_metrics;
- collected_number chart_buffered_bytes;
- collected_number chart_received_bytes;
- collected_number chart_sent_bytes;
- collected_number chart_receptions;
- collected_number chart_transmission_successes;
- collected_number chart_transmission_failures;
- collected_number chart_data_lost_events;
- collected_number chart_lost_bytes;
- collected_number chart_reconnects;
+ collected_number buffered_metrics;
+ collected_number lost_metrics;
+ collected_number sent_metrics;
+ collected_number buffered_bytes;
+ collected_number lost_bytes;
+ collected_number sent_bytes;
+ collected_number received_bytes;
+ collected_number transmission_successes;
+ collected_number data_lost_events;
+ collected_number reconnects;
+ collected_number transmission_failures;
+ collected_number receptions;
+
+ int initialized;
+
+ RRDSET *st_metrics;
+ RRDDIM *rd_buffered_metrics;
+ RRDDIM *rd_lost_metrics;
+ RRDDIM *rd_sent_metrics;
+
+ RRDSET *st_bytes;
+ RRDDIM *rd_buffered_bytes;
+ RRDDIM *rd_lost_bytes;
+ RRDDIM *rd_sent_bytes;
+ RRDDIM *rd_received_bytes;
+
+ RRDSET *st_ops;
+ RRDDIM *rd_transmission_successes;
+ RRDDIM *rd_data_lost_events;
+ RRDDIM *rd_reconnects;
+ RRDDIM *rd_transmission_failures;
+ RRDDIM *rd_receptions;
+
+ RRDSET *st_rusage;
+ RRDDIM *rd_user;
+ RRDDIM *rd_system;
};
struct instance {
@@ -193,13 +217,16 @@ int end_chart_formatting(struct engine *engine, RRDSET *st);
int end_host_formatting(struct engine *engine, RRDHOST *host);
int end_batch_formatting(struct engine *engine);
int flush_host_labels(struct instance *instance, RRDHOST *host);
+int simple_connector_update_buffered_bytes(struct instance *instance);
int exporting_discard_response(BUFFER *buffer, struct instance *instance);
void simple_connector_receive_response(int *sock, struct instance *instance);
void simple_connector_send_buffer(int *sock, int *failures, struct instance *instance);
void simple_connector_worker(void *instance_p);
-int send_internal_metrics(struct engine *engine);
+void create_main_rusage_chart(RRDSET **st_rusage, RRDDIM **rd_user, RRDDIM **rd_system);
+void send_main_rusage(RRDSET *st_rusage, RRDDIM *rd_user, RRDDIM *rd_system);
+void send_internal_metrics(struct instance *instance);
#include "exporting/prometheus/prometheus.h"