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
Expand Details ...
- Inheritance
-
ObjectScriptBlockProfiler
Constructors
ScriptBlockProfiler()
public ScriptBlockProfiler()
Properties
RollingAverageWindow
public Int32 RollingAverageWindow { get; set; }
Property Value
Methods
BeginBlock(ScriptBlockId)
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
public void BeginBlock(ScriptBlockId scriptBlockId)
Parameters
| Type | Name | Description |
|---|---|---|
scriptBlockId |
EndBlock(ScriptBlockId, Type)
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void EndBlock(ScriptBlockId scriptBlockId, Type blockType)
Parameters
| Type | Name | Description |
|---|---|---|
scriptBlockId |
||
blockType |
RecordError(ScriptBlockId, Exception)
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void RecordError(ScriptBlockId scriptBlockId, Exception ex)
Parameters
| Type | Name | Description |
|---|---|---|
scriptBlockId |
||
ex |
Reset()
[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void Reset()
TakeSnapshot()
public ScriptBlockProfilerSnapshot TakeSnapshot()