UAutomationPerformaceHelper

Class for use with functional tests which provides various performance measuring features.

Windows
MacOS
Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UAutomationPerformaceHelper

References

Module

FunctionalTesting

Header

/Engine/Source/Developer/FunctionalTesting/Classes/FunctionalTest.h

Include

#include "FunctionalTest.h"

Syntax

class UAutomationPerformaceHelper : public UObject

Remarks

Class for use with functional tests which provides various performance measuring features. Recording of basic, unintrusive performance stats. Automatic captures using external CPU and GPU profilers. Triggering and ending of writing full stats to a file.

Variables

Name Description

Public variable

FFunctionalTest...

 

ExternalProfiler

Public variable

FString

 

OutputFileBase

The path and base name for all output files.

Public variable

FString

 

StartOfTestingTime

Constructors

Functions

Name Description

Public function

void

 

BeginRecording

(
    FString RecordName,
    float InGPUBudget,
    float InRenderThreadBudget,
    float InGameThreadBudget
)

Begins recording a new named performance stats record. We start by recording the baseline.

Public function

void

 

BeginRecordingBaseline

(
    FString RecordName
)

Begins recording a new named performance stats record. We start by recording the baseline

Public function

void

 

BeginStatsFile

(
    const FString& RecordName
)

Begins recording stats to a file.

Public function

void

 

EndRecording()

Stops recording performance stats.

Public function

void

 

EndRecordingBaseline()

Stops recording the baseline and moves to the main record.

Public function

void

 

EndStatsFile()

Ends recording stats to a file.

Public function Const

const FPerfS...

 

GetCurrentRecord()

Public function

FPerfStatsRe...

 

GetCurrentRecord()

Public function Virtual Const

UWorld *

 

GetWorld()

Public function Const

bool

 

IsCurrentRecordWithinGameThreadBudget()

Public function Const

bool

 

IsCurrentRecordWithinGPUBudget()

Public function Const

bool

 

IsCurrentRecordWithinRenderThreadBudget()

Public function Const

bool

 

IsRecording()

Returns true if this stats tracker is currently recording performance stats.

Public function

void

 

OnAllTestsComplete()

Does any final work needed as all tests are complete.

Public function

void

 

OnBeginTests()

Does any init work across all tests..

Public function

void

 

Sample

(
    float DeltaSeconds
)

Adds a sample to the stats counters for the current performance stats record.

Public function

void

 

StartCPUProfiling()

Communicates with external profiler to being a CPU capture.

Public function

void

 

StopCPUProfiling()

Communicates with external profiler to end a CPU capture.

Public function

void

 

Tick

(
    float DeltaSeconds
)

Public function

void

 

TriggerGPUTraceIfRecordFallsBelowBudget()

Will trigger a GPU trace next time the current test falls below GPU budget.

Public function

void

 

WriteLogFile

(
    const FString& CaptureDir,
    const FString& CaptureExtension
)

Writes the current set of performance stats records to a csv file in the profiling directory.