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");