mirror of
https://github.com/minetest-mods/technic.git
synced 2025-07-02 00:00:37 +02:00
enable monitoring on technic switching station
This commit is contained in:
@ -12,3 +12,4 @@ intllib?
|
|||||||
unified_inventory?
|
unified_inventory?
|
||||||
vector_extras?
|
vector_extras?
|
||||||
dye?
|
dye?
|
||||||
|
monitoring?
|
||||||
|
@ -4,6 +4,20 @@ technic.networks = {}
|
|||||||
technic.cables = {}
|
technic.cables = {}
|
||||||
technic.redundant_warn = {}
|
technic.redundant_warn = {}
|
||||||
|
|
||||||
|
local has_monitoring = minetest.get_modpath("monitoring")
|
||||||
|
local metric_abm_count
|
||||||
|
local metric_abm_latency
|
||||||
|
|
||||||
|
if has_monitoring then
|
||||||
|
metric_abm_count = monitoring.counter("technic_switching_station_abm_count",
|
||||||
|
"number of technic switch abm calls")
|
||||||
|
|
||||||
|
metric_abm_latency = monitoring.histogram("technic_switching_station_abm_latency",
|
||||||
|
"latency of the technic switch abm calls",
|
||||||
|
{0.001, 0.005, 0.01, 0.02, 0.1, 0.5, 1.0})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local mesecons_path = minetest.get_modpath("mesecons")
|
local mesecons_path = minetest.get_modpath("mesecons")
|
||||||
local digilines_path = minetest.get_modpath("digilines")
|
local digilines_path = minetest.get_modpath("digilines")
|
||||||
|
|
||||||
@ -241,6 +255,14 @@ minetest.register_abm({
|
|||||||
chance = 1,
|
chance = 1,
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
if not technic.powerctrl_state then return end
|
if not technic.powerctrl_state then return end
|
||||||
|
|
||||||
|
local timer
|
||||||
|
if has_monitoring then
|
||||||
|
metric_abm_count.inc()
|
||||||
|
timer = metric_abm_latency.timer()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local t0 = minetest.get_us_time()
|
local t0 = minetest.get_us_time()
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local meta1 = nil
|
local meta1 = nil
|
||||||
@ -423,6 +445,7 @@ minetest.register_abm({
|
|||||||
minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos))
|
minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if timer ~= nil then timer.observe() end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -452,6 +475,8 @@ minetest.register_abm({
|
|||||||
check_timer(pos, meta, diff)
|
check_timer(pos, meta, diff)
|
||||||
minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos))
|
minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if timer ~= nil then timer.observe() end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -477,6 +502,8 @@ minetest.register_abm({
|
|||||||
minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos))
|
minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if timer ~= nil then timer.observe() end
|
||||||
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user