Class ScriptBlockProfiler
- Namespace
- LunyScript.Diagnostics
- Assembly
- LunyScript.dll
Concrete implementation of block-level profiling for LunyScript execution. Tracks execution time for each sequence/block with configurable rolling average. Public methods use [Conditional] attributes - completely stripped in release builds unless DEBUG or LUNYSCRIPT_DEBUG defined.
public sealed class ScriptBlockProfiler
- Inheritance
-
objectScriptBlockProfiler
Constructors
ScriptBlockProfiler()
public ScriptBlockProfiler()
Properties
RollingAverageWindow
public int RollingAverageWindow { get; set; }
Property Value
- int
Methods
BeginBlock(ScriptBlockId)
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
public void BeginBlock(ScriptBlockId scriptBlockId)
Parameters
scriptBlockIdScriptBlockId
EndBlock(ScriptBlockId, Type)
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void EndBlock(ScriptBlockId scriptBlockId, Type blockType)
Parameters
scriptBlockIdScriptBlockIdblockTypeType
RecordError(ScriptBlockId, Exception)
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void RecordError(ScriptBlockId scriptBlockId, Exception ex)
Parameters
scriptBlockIdScriptBlockIdexException
Reset()
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void Reset()
TakeSnapshot()
public ScriptBlockProfilerSnapshot TakeSnapshot()