Codeunit "Sampling Performance Profiler"
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.