webmcp

annotate framework/env/trace/__init.lua @ 299:47c5f33e4a6b

Trace real time and CPU time
author jbe
date Sun Mar 22 19:25:38 2015 +0100 (2015-03-22)
parents a9ad9186a922
children a3da58aae6ce
rev   line source
jbe@287 1 local seq = 0
jbe@287 2 local saved_tree
jbe@287 3
jbe@287 4 request.for_each(function()
jbe@287 5 if seq == 0 then
jbe@287 6 -- prepare for configuration/initialization phase
jbe@287 7 trace._disabled = false
jbe@299 8 trace._tree = { type = "root" }
jbe@287 9 trace._stack = { trace._tree }
jbe@287 10 seq = 1
jbe@287 11 elseif seq == 1 then
jbe@287 12 -- save current state before processing first request
jbe@287 13 if not (trace._stack[1] == trace._tree and trace._stack[2] == nil) then
jbe@287 14 error("Trace stack unbalanced after initialization")
jbe@287 15 end
jbe@287 16 if not trace._disabled then
jbe@287 17 saved_tree = table.new(trace._tree)
jbe@287 18 end
jbe@287 19 seq = 2
jbe@287 20 elseif saved_tree then
jbe@287 21 -- restore state before processing next request
jbe@287 22 if saved_tree then
jbe@287 23 trace._disabled = false
jbe@287 24 trace._tree = table.new(saved_tree)
jbe@287 25 trace._stack = { trace._tree }
jbe@287 26 end
jbe@287 27 end
jbe@287 28 end)

Impressum / About Us