Table of Contents

Codeunit "Sampling Performance Profiler"

ID 1924
Namespace: System.Tooling

The interface for running performance profiling using sampling.

Properties

Name Value
Access Public
SingleInstance True

Methods

Start

Starts performance profiling.

procedure Start()

Start

Starts performance profiling.

procedure Start(SamplingInterval: Enum "Sampling Interval")

Parameters

Name Type Description
SamplingInterval Enum System.Tooling."Sampling Interval"

Stop

Stops performance profiling.

procedure Stop()

IsRecordingInProgress

Checks if the performance profiler recording is in progress.

procedure IsRecordingInProgress(): Boolean

Returns

Type Description
Boolean

True if the recording is in progress, false otherwise.

GetData

Gets the performance profiling data after the recording (via Start and Stop methods) is finished

procedure GetData(): InStream

Returns

Type Description
InStream

The recorded performance profiling data in JSON format.

SetData

Sets the performance profiling data from stream.

procedure SetData(ProfilingResultsInStream: InStream)

Parameters

Name Type Description
ProfilingResultsInStream InStream

The stream containing performance profiling data.

GetProfilingNodes

Gets the results of performance profiling.

procedure GetProfilingNodes(var ProfilingNode: Record "Profiling Node" temporary)

Parameters

Name Type Description
ProfilingNode Table System.Tooling."Profiling Node"

The results of performance profiling.

Remarks

"Indentation" and "Full Time" fields will not be populated.

GetProfilingCallTree

Gets the results of performance profiling into a call tree structure.

procedure GetProfilingCallTree(var ProfilingNode: Record "Profiling Node" temporary)

Parameters

Name Type Description
ProfilingNode Table System.Tooling."Profiling Node"

The call tree from performance profiling.

Remarks

CPU nodes with multiple parents will be copied for each parent.

See also