diff options
Diffstat (limited to 'context.lua')
-rw-r--r-- | context.lua | 53 |
1 files changed, 1 insertions, 52 deletions
diff --git a/context.lua b/context.lua index 7e70c1c..cf9b343 100644 --- a/context.lua +++ b/context.lua @@ -1,12 +1,5 @@ -local has_monitoring = minetest.get_modpath("monitoring") - -local mapblock_count, penalized_mapblock_count - -if has_monitoring then - mapblock_count = monitoring.gauge("mesecons_debug_mapblock_count", "count of tracked mapblocks") - penalized_mapblock_count = monitoring.gauge("mesecons_debug_penalized_mapblock_count", "count of penalized mapblocks") -end +-- returns the context data for the node-position mesecons_debug.get_context = function(pos) local blockpos = mesecons_debug.get_blockpos(pos) local hash = minetest.hash_node_position(blockpos) @@ -35,47 +28,3 @@ mesecons_debug.get_context = function(pos) return ctx end - -local timer = 0 -minetest.register_globalstep(function(dtime) - timer = timer + dtime - if timer < 1 then return end - timer=0 - - local penalized_count = 0 - local now = minetest.get_us_time() - local cleanup_time_micros = 300 * 1000 * 1000 - - mesecons_debug.context_store_size = 0 - for hash, ctx in pairs(mesecons_debug.context_store) do - local time_diff = now - ctx.mtime - if time_diff > cleanup_time_micros then - -- remove item - mesecons_debug.context_store[hash] = nil - - else - -- calculate stuff - ctx.avg_micros = math.floor((ctx.avg_micros * 0.9) + (ctx.micros * 0.1)) - ctx.micros = 0 - if ctx.avg_micros > mesecons_debug.max_usage_micros then - -- add penalty - ctx.penalty = math.min(ctx.penalty + 0.1, 20) - elseif ctx.penalty > 0 then - -- remove penalty (slowly) - ctx.penalty = math.max(ctx.penalty - 0.01, 0) - end - - mesecons_debug.context_store_size = mesecons_debug.context_store_size + 1 - if ctx.penalty > 0 then - penalized_count = penalized_count + 1 - end - - end - end - - if has_monitoring then - mapblock_count.set(mesecons_debug.context_store_size) - penalized_mapblock_count.set(penalized_count) - end - -end) |