Mercurial > prosody-hg
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 |
| parents | 6992c4be1a19 |
| children | 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"); |
