Merge 0.10->trunk
[prosody.git] / core / statsmanager.lua
index 62d217ef2a9f2832cadee65a1f46d0ef82afd401..7771a2b325ffcce80d8c90d34ce23f15aa50359b 100644 (file)
@@ -28,6 +28,7 @@ if stats_interval then
 
        function collect()
                local mark_collection_done = mark_collection_start();
+               fire_event("stats-update");
                changed_stats, stats_extra = {}, {};
                for stat_name, getter in pairs(stats.get_stats()) do
                        local type, value, extra = getter();
@@ -48,6 +49,7 @@ if stats_interval then
        end
 
        timer.add_task(stats_interval, collect);
+       prosody.events.add_handler("server-started", function () collect() end, -1);
 else
        log("debug", "Statistics collection is disabled");
        -- nop
@@ -64,4 +66,7 @@ return {
        get_stats = function ()
                return latest_stats, changed_stats, stats_extra;
        end;
+       get = function (name)
+               return latest_stats[name], stats_extra[name];
+       end;
 };