Software /
code /
prosody
Comparison
core/statsmanager.lua @ 11200:bf8f2da84007
Merge 0.11->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 05 Nov 2020 22:31:25 +0100 |
parent | 10884:6992c4be1a19 |
child | 11506:9a3ebdd65f9c |
comparison
equal
deleted
inserted
replaced
11199:6c7c50a4de32 | 11200:bf8f2da84007 |
---|---|
58 local latest_stats = {}; | 58 local latest_stats = {}; |
59 local changed_stats = {}; | 59 local changed_stats = {}; |
60 local stats_extra = {}; | 60 local stats_extra = {}; |
61 | 61 |
62 if stats then | 62 if stats then |
63 function measure(type, name) | 63 function measure(type, name, conf) |
64 local f = assert(stats[type], "unknown stat type: "..type); | 64 local f = assert(stats[type], "unknown stat type: "..type); |
65 return f(name); | 65 return f(name, conf); |
66 end | 66 end |
67 | 67 |
68 if stats_interval then | 68 if stats_interval then |
69 log("debug", "Statistics enabled using %s provider, collecting every %d seconds", stats_provider_name, stats_interval); | 69 log("debug", "Statistics enabled using %s provider, collecting every %d seconds", stats_provider_name, stats_interval); |
70 | 70 |
77 mark_collection_done(); | 77 mark_collection_done(); |
78 | 78 |
79 if stats.get_stats then | 79 if stats.get_stats then |
80 changed_stats, stats_extra = {}, {}; | 80 changed_stats, stats_extra = {}, {}; |
81 for stat_name, getter in pairs(stats.get_stats()) do | 81 for stat_name, getter in pairs(stats.get_stats()) do |
82 -- luacheck: ignore 211/type | |
82 local type, value, extra = getter(); | 83 local type, value, extra = getter(); |
83 local old_value = latest_stats[stat_name]; | 84 local old_value = latest_stats[stat_name]; |
84 latest_stats[stat_name] = value; | 85 latest_stats[stat_name] = value; |
85 if value ~= old_value then | 86 if value ~= old_value then |
86 changed_stats[stat_name] = value; | 87 changed_stats[stat_name] = value; |
95 end | 96 end |
96 return stats_interval; | 97 return stats_interval; |
97 end | 98 end |
98 timer.add_task(stats_interval, collect); | 99 timer.add_task(stats_interval, collect); |
99 prosody.events.add_handler("server-started", function () collect() end, -1); | 100 prosody.events.add_handler("server-started", function () collect() end, -1); |
101 prosody.events.add_handler("server-stopped", function () collect() end, -1); | |
100 else | 102 else |
101 log("debug", "Statistics enabled using %s provider, collection is disabled", stats_provider_name); | 103 log("debug", "Statistics enabled using %s provider, collection is disabled", stats_provider_name); |
102 end | 104 end |
103 else | 105 else |
104 log("debug", "Statistics disabled"); | 106 log("debug", "Statistics disabled"); |