From: Alan T. DeKok Date: Tue, 17 Dec 2019 14:17:41 +0000 (-0500) Subject: API to dump stats to a log X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10d38bb04e6ba78c7e6180d56abbe7469eb2a2fc;p=thirdparty%2Ffreeradius-server.git API to dump stats to a log --- diff --git a/src/lib/io/network.c b/src/lib/io/network.c index 25a8f6108a2..c26debd01d9 100644 --- a/src/lib/io/network.c +++ b/src/lib/io/network.c @@ -1461,6 +1461,20 @@ int fr_network_stats(fr_network_t const *nr, int num, uint64_t *stats) return 5; } +void fr_network_stats_log(fr_network_t const *nr, fr_log_t const *log) +{ + int i; + + /* + * Dump all of the channel statistics. + */ + for (i = 0; i < nr->max_workers; i++) { + if (!nr->workers[i]) continue; + + fr_channel_stats_log(nr->workers[i]->channel, log, __FILE__, __LINE__); + } +} + static int cmd_stats_self(FILE *fp, UNUSED FILE *fp_err, void *ctx, UNUSED fr_cmd_info_t const *info) { fr_network_t const *nr = ctx; diff --git a/src/lib/io/network.h b/src/lib/io/network.h index 6c9652de47c..ed6616359e2 100644 --- a/src/lib/io/network.h +++ b/src/lib/io/network.h @@ -54,6 +54,8 @@ int fr_network_worker_add(fr_network_t *nr, fr_worker_t *worker) CC_HINT(nonnull void fr_network_listen_read(fr_network_t *nr, fr_listen_t *li) CC_HINT(nonnull); int fr_network_listen_inject(fr_network_t *nr, fr_listen_t *li, uint8_t const *packet, size_t packet_len, fr_time_t recv_time); int fr_network_stats(fr_network_t const *nr, int num, uint64_t *stats) CC_HINT(nonnull); +void fr_network_stats_log(fr_network_t const *nr, fr_log_t const *log) CC_HINT(nonnull); + extern fr_cmd_table_t cmd_network_table[]; #ifdef __cplusplus