epic/monitoring.lua

50 lines
1.5 KiB
Lua

local current_epics_metric = monitoring.gauge("epic_current_running", "count of currently running epics")
local current_epics = 0
local executed_blocks_enter = monitoring.counter("epic_executed_block_enter", "count of executed block_enter")
local executed_blocks_check = monitoring.counter("epic_executed_block_check", "count of executed block_check")
local executed_blocks_exit = monitoring.counter("epic_executed_block_exit", "count of executed block_exit")
local time_budget = monitoring.counter("epic_time_budget", "count of microseconds used in cpu time")
local epic_starts = monitoring.counter("epic_started", "count of started epics")
local exited_normally = monitoring.counter("epic_exited", "count of normally exited epics")
local exited_abort = monitoring.counter("epic_aborted", "count of aborted epics")
epic.register_hook({
on_execute_epic = function()
epic_starts.inc()
current_epics = current_epics + 1
current_epics_metric.set(current_epics)
end,
on_before_node_enter = function()
executed_blocks_enter.inc()
end,
on_before_node_check = function()
executed_blocks_check.inc()
end,
on_before_node_exit = function()
executed_blocks_exit.inc()
end,
on_epic_exit = function()
exited_normally.inc()
current_epics = current_epics - 1
current_epics_metric.set(current_epics)
end,
on_epic_abort = function()
exited_abort.inc()
current_epics = current_epics - 1
current_epics_metric.set(current_epics)
end,
globalstep_stats = function(stats)
time_budget.inc(stats.time)
end
})