Table of Contents

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
Object
ScriptBlockProfiler

Constructors

ScriptBlockProfiler()

public ScriptBlockProfiler()

Properties

RollingAverageWindow

public Int32 RollingAverageWindow { get; set; }

Property Value

Int32

Methods

BeginBlock(ScriptBlockId)

[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
public void BeginBlock(ScriptBlockId scriptBlockId)

Parameters

Type Name Description
ScriptBlockId
scriptBlockId

EndBlock(ScriptBlockId, Type)

[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void EndBlock(ScriptBlockId scriptBlockId, Type blockType)

Parameters

Type Name Description
ScriptBlockId
scriptBlockId
Type
blockType

RecordError(ScriptBlockId, Exception)

[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void RecordError(ScriptBlockId scriptBlockId, Exception ex)

Parameters

Type Name Description
ScriptBlockId
scriptBlockId
Exception
ex

Reset()

[Conditional("DEBUG")]
[Conditional("LUNYSCRIPT_DEBUG")]
[Conditional("LUNYSCRIPT_PROFILE")]
public void Reset()

TakeSnapshot()

public ScriptBlockProfilerSnapshot TakeSnapshot()

Returns

ScriptBlockProfilerSnapshot