From 17915aa4c5d17ccdbc2f1d68e98d66cd0a945092 Mon Sep 17 00:00:00 2001 From: BuckarooBanzay Date: Mon, 4 May 2020 10:03:45 +0200 Subject: modernize a bit --- overrides.lua | 83 ----------------------------------------------------------- 1 file changed, 83 deletions(-) (limited to 'overrides.lua') diff --git a/overrides.lua b/overrides.lua index a87b64a..d68fce3 100644 --- a/overrides.lua +++ b/overrides.lua @@ -1,44 +1,3 @@ -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 - - -local function get_blockpos(pos) - return {x = math.floor(pos.x / 16), - y = math.floor(pos.y / 16), - z = math.floor(pos.z / 16)} -end - --- blockpos-hash => context -local context_store = {} - -mesecons_debug.get_context = function(pos) - local blockpos = get_blockpos(pos) - local hash = minetest.hash_node_position(blockpos) - - local ctx = context_store[hash] - if not ctx then - ctx = { - -- usage in us - micros = 0, - -- average micros per second - avg_micros = 0, - -- time penalty - penalty = 0, - - -- mtime - mtime = minetest.get_us_time(), - } - context_store[hash] = ctx - end - - return ctx -end -- execute() local old_execute = mesecon.queue.execute @@ -58,48 +17,6 @@ mesecon.queue.execute = function(self, action) 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(context_store) do - local time_diff = now - ctx.mtime - if time_diff > cleanup_time_micros then - -- remove item - 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 - - mapblock_count.set(mesecons_debug.context_store_size) - penalized_mapblock_count.set(penalized_count) - -end) - -- add_action() local old_add_action = mesecon.queue.add_action mesecon.queue.add_action = function(self, pos, func, params, time, overwritecheck, priority) -- cgit v1.2.3