diff options
author | Vladimir Kobal <vlad@prokk.net> | 2020-04-10 12:26:36 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-10 12:26:36 +0300 |
commit | 231d19351d0ea20aa66fd204215cbb24f34d7575 (patch) | |
tree | e3ed26be7d8ea4ba3b07a29c77bf05bc67b73a43 /exporting/exporting_engine.h | |
parent | 764a0676e82c89b4a4516a31a7782ea606071fa5 (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.h | 53 |
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" |