webmcp
annotate framework/env/trace/__init.lua @ 360:785ff282af16
Changed version string to "2.0.1"
| author | jbe | 
|---|---|
| date | Thu Mar 26 20:51:35 2015 +0100 (2015-03-26) | 
| parents | a3da58aae6ce | 
| children | 
| 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@304 | 8 trace._tree = { type = "root", db_time = 0 } | 
| 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) |