From 9232bfb6a072155388578dc4e1338c6002afb515 Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Fri, 20 Jan 2023 00:50:42 +0200 Subject: track memory footprint of Netdata (#14294) * track memory footprint of Netdata * track db modes alloc/ram/save/map * track system info; track sender and receiver * fixes * more fixes * track workers memory, onewayalloc memory; unify judyhs size estimation * track replication structures and buffers * Properly clear host RRDHOST_FLAG_METADATA_UPDATE flag * flush the replication buffer every 1000 times the circular buffer is found empty * dont take timestamp too frequently in sender loop * sender buffers are not used by the same thread as the sender, so they were never recreated - fixed it * free sender thread buffer on replication threads when replication is idle * use the last sender flag as a timestamp of the last buffer recreation * free cbuffer before reconnecting * recreate cbuffer on every flush * timings for journal v2 loading * inlining of metric and cache functions * aral likely/unlikely * free left-over thread buffers * fix NULL pointer dereference in replication * free sender thread buffer on sender thread too * mark ctx as used before flushing * better logging on ctx datafiles closing Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> --- streaming/receiver.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'streaming/receiver.c') diff --git a/streaming/receiver.c b/streaming/receiver.c index 6d2810cd60..562107da8e 100644 --- a/streaming/receiver.c +++ b/streaming/receiver.c @@ -44,6 +44,8 @@ void receiver_state_free(struct receiver_state *rpt) { if(rpt->system_info) rrdhost_system_info_free(rpt->system_info); + __atomic_sub_fetch(&netdata_buffers_statistics.rrdhost_receivers, sizeof(*rpt), __ATOMIC_RELAXED); + freez(rpt); } -- cgit v1.2.3