Software /
code /
prosody-modules
Changeset
6188:3e0bce07f66c
mod_measure_client_features: Switch to the more modern statistics API
author | Link Mauve <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 04 Feb 2025 23:02:17 +0100 |
parents | 6187:5aea64434756 |
children | 6189:72b7e0ca71ab |
files | mod_measure_client_features/mod_measure_client_features.lua |
diffstat | 1 files changed, 8 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_measure_client_features/mod_measure_client_features.lua Tue Feb 04 22:38:03 2025 +0100 +++ b/mod_measure_client_features/mod_measure_client_features.lua Tue Feb 04 23:02:17 2025 +0100 @@ -1,13 +1,11 @@ module:set_global(); -local measure = require"core.statsmanager".measure; +local statsmanager = require "prosody.core.statsmanager"; + +local measure_features = module:metric("gauge", "features", "", "Features advertized by clients", {"feature"}); local disco_ns = "http://jabber.org/protocol/disco#info"; -local counters = { - total = measure("amount", "client_features.total"); -}; - module:hook("stats-update", function () local total = 0; local buckets = {}; @@ -26,11 +24,11 @@ total = total + 1; end end + statsmanager.cork(); + measure_features:clear(); for bucket, count in pairs(buckets) do - if counters[bucket] == nil then - counters[bucket] = measure("amount", "client_features."..bucket); - end - counters[bucket](count); + measure_features:with_labels(bucket):add(count); end - counters.total(total); + measure_features:with_labels("total"):add(total); + statsmanager.uncork(); end)