From 1b65fc9bddc5de23a76c0df6844786efd81e64f3 Mon Sep 17 00:00:00 2001 From: pitchum Date: Sat, 4 Jun 2022 10:01:51 +0200 Subject: [PATCH] Add stats about MAM data: row count and total data size --- metrology/collectd_exec_xmpp.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/metrology/collectd_exec_xmpp.sh b/metrology/collectd_exec_xmpp.sh index 2e6f549..8f0e8e6 100755 --- a/metrology/collectd_exec_xmpp.sh +++ b/metrology/collectd_exec_xmpp.sh @@ -27,6 +27,8 @@ ejabberdctl_stats() { echo "PUTVAL \"${HOSTNAME}/xmpp_accounts_created_lastday/count\" interval=$INTERVAL $(date +%s):$(_count_accounts_created_lastday)" echo "PUTVAL \"${HOSTNAME}/xmpp_accounts_created_lasthour/count\" interval=$INTERVAL $(date +%s):$(_count_accounts_created_lasthour)" + echo "PUTVAL \"${HOSTNAME}/xmpp_total_mam_rows/count\" interval=$INTERVAL $(date +%s):$(_count_mam_rows)" + echo "PUTVAL \"${HOSTNAME}/xmpp_total_mam_size/count\" interval=$INTERVAL $(date +%s):$(_estimate_mam_size)" echo -n "PUTVAL \"${HOSTNAME}/xmpp_public_rooms_occupants/count\" interval=$INTERVAL $(date +%s):" ; _xmpp_public_rooms_total_occupants } @@ -58,6 +60,18 @@ _count_accounts_created_lasthour() { " } +_count_mam_rows() { + _sql_ejabberd "SELECT reltuples::bigint AS estimate FROM pg_class WHERE relname = 'archive'" +} + +_estimate_mam_size() { + _sql_ejabberd " + select pg_relation_size(relid) as mam_size + from pg_catalog.pg_statio_user_tables + where relname = 'archive' +" +} + _xmpp_public_rooms_total_occupants() { # keep results in a cache file for 5 minutes local cache_file=/var/tmp/cache_collectd_xmpp_rooms.data