Sergei Mozhaisky d77159f537 add monitoring
2019-12-10 17:03:29 +00:00

56 lines
1.3 KiB
Lua

if not minetest.get_modpath("technic") then
print("[monitoring] technic extension not loaded")
return
else
print("[monitoring] technic extension loaded")
end
local max_time_metric = monitoring.gauge(
"technic_switching_station_abm_time_max",
"max time of technic switch abm calls",
{ autoflush=true }
)
for _, abm in ipairs(minetest.registered_abms) do
if abm.label == "Switching Station" then
print("[monitoring] wrapping switching station abm")
-- max time peaks for switching stations
local old_action = abm.action
abm.action = function(...)
local t0 = minetest.get_us_time()
old_action(...)
local t1 = minetest.get_us_time()
local diff = t1 -t0
max_time_metric.setmax(diff)
end
abm.action = monitoring
.counter("technic_switching_station_abm_count", "number of technic switch abm calls")
.wrap(abm.action)
abm.action = monitoring
.counter("technic_switching_station_abm_time", "time of technic switch abm calls")
.wraptime(abm.action)
end
end
local quarry_node = minetest.registered_nodes["technic:quarry"]
if quarry_node ~= nil then
print("[monitoring] wrapping quarry.technic_run")
quarry_node.technic_run = monitoring
.counter("technic_quarry_dig_count", "number of technic quarry digs")
.wrap(quarry_node.technic_run)
end