UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPerfCounters Class Reference

#include <PerfCounters.h>

+ Inheritance diagram for FPerfCounters:

Public Member Functions

 FPerfCounters (const FString &InUniqueInstanceId)
 
virtual ~FPerfCounters ()
 
bool Initialize ()
 
virtual bool Tick (float DeltaTime) override
 
const FString & GetInstanceName () const override
 
virtual double GetNumber (const FString &Name, double DefaultValue=0.0) override
 
virtual void SetNumber (const FString &Name, double Value, uint32 Flags) override
 
virtual void SetString (const FString &Name, const FString &Value, uint32 Flags) override
 
virtual void SetJson (const FString &Name, const FProduceJsonCounterValue &InCallback, uint32 Flags) override
 
virtual FPerfCounterExecCommandCallbackOnPerfCounterExecCommand () override
 
virtual const TMap< FString, FJsonVariant > & GetAllCounters () override
 
virtual FString GetAllCountersAsJson () override
 
virtual void ResetStatsForNextPeriod () override
 
virtual TPerformanceHistogramMapPerformanceHistograms () override
 
virtual bool StartMachineLoadTracking () override
 
virtual bool StartMachineLoadTracking (double TickRate, const TArray< double > &FrameTimeHistogramBucketsMs) override
 
virtual bool StopMachineLoadTracking ()
 
virtual bool ReportUnplayableCondition (const FString &ConditionDescription)
 
- Public Member Functions inherited from FTSTickerObjectBase
 UE_NONCOPYABLE (FTSTickerObjectBase)
 
CORE_API FTSTickerObjectBase (float InDelay=0.0f, FTSTicker &Ticker=FTSTicker::GetCoreTicker())
 
virtual CORE_API ~FTSTickerObjectBase ()
 
- Public Member Functions inherited from FSelfRegisteringExec
CORE_API FSelfRegisteringExec ()
 
virtual CORE_API ~FSelfRegisteringExec ()
 
- Public Member Functions inherited from FExec
virtual CORE_API ~FExec ()
 
virtual CORE_API bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Public Member Functions inherited from IPerfCounters
virtual ~IPerfCounters ()
 
int32 Get (const FString &Name, int32 Val=0)
 
uint32 Get (const FString &Name, uint32 Val=0)
 
float Get (const FString &Name, float Val=0.0f)
 
double Get (const FString &Name, double Val=0.0)
 
int32 Increment (const FString &Name, int32 Add=1, int32 DefaultValue=0, uint32 Flags=IPerfCounters::Flags::Transient)
 Convenience method for incrementing a transient counter.
 
void Set (const FString &Name, int32 Val, uint32 Flags=0)
 
void Set (const FString &Name, uint32 Val, uint32 Flags=0)
 
void Set (const FString &Name, float Val, uint32 Flags=0)
 
void Set (const FString &Name, double Val, uint32 Flags=0)
 
void Set (const FString &Name, int64 Val, uint32 Flags=0)
 
void Set (const FString &Name, uint64 Val, uint32 Flags=0)
 
void Set (const FString &Name, const FString &Val, uint32 Flags=0)
 
void Set (const FString &Name, const FProduceJsonCounterValue &Callback, uint32 Flags=0)
 
- Public Member Functions inherited from TSharedFromThis< FPerfCounters >
TSharedRef< FPerfCounters, Mode > AsShared ()
 
TSharedRef< FPerfCounters const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FPerfCounters, Mode > AsWeak ()
 
TWeakPtr< FPerfCounters const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Protected Member Functions

virtual bool Exec_Runtime (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Protected Member Functions inherited from FExec
virtual bool Exec_Dev (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Editor (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Protected Member Functions inherited from TSharedFromThis< FPerfCounters >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Additional Inherited Members

- Public Types inherited from IPerfCounters
enum  Flags : uint32 { Transient = (1 << 0) }
 
typedef TMap< FName, FHistogramTPerformanceHistogramMap
 
- Static Public Member Functions inherited from FSelfRegisteringExec
static CORE_API bool StaticExec (UWorld *Inworld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Static Protected Member Functions inherited from TSharedFromThis< FPerfCounters >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Constructor & Destructor Documentation

◆ FPerfCounters()

FPerfCounters::FPerfCounters ( const FString &  InUniqueInstanceId)

◆ ~FPerfCounters()

FPerfCounters::~FPerfCounters ( )
virtual

Member Function Documentation

◆ Exec_Runtime()

bool FPerfCounters::Exec_Runtime ( UWorld InWorld,
const TCHAR Cmd,
FOutputDevice Ar 
)
protectedvirtual

Implementation of Exec that is called on all targets where UE_ALLOW_EXEC_COMMANDS is true

Reimplemented from FExec.

◆ GetAllCounters()

virtual const TMap< FString, FJsonVariant > & FPerfCounters::GetAllCounters ( )
inlineoverridevirtual
Returns
all perf counters as they are stored, with minimum conversion

Implements IPerfCounters.

◆ GetAllCountersAsJson()

FString FPerfCounters::GetAllCountersAsJson ( )
overridevirtual
Returns
all perf counters as JSON

Implements IPerfCounters.

◆ GetInstanceName()

const FString & FPerfCounters::GetInstanceName ( ) const
inlineoverridevirtual

Get the unique identifier for this perf counter instance

Implements IPerfCounters.

◆ GetNumber()

double FPerfCounters::GetNumber ( const FString &  Name,
double  DefaultValue = 0.0 
)
overridevirtual

Returns currently held value, or DefaultValue if none

Implements IPerfCounters.

◆ Initialize()

bool FPerfCounters::Initialize ( )

Initializes this instance from JSON config.

◆ OnPerfCounterExecCommand()

virtual FPerfCounterExecCommandCallback & FPerfCounters::OnPerfCounterExecCommand ( )
inlineoverridevirtual
Returns
delegate called when an exec command is to be executed

Implements IPerfCounters.

◆ PerformanceHistograms()

virtual TPerformanceHistogramMap & FPerfCounters::PerformanceHistograms ( )
inlineoverridevirtual

Returns performance histograms for direct manipulation by the client code.

Implements IPerfCounters.

◆ ReportUnplayableCondition()

bool FPerfCounters::ReportUnplayableCondition ( const FString &  ConditionDescription)
virtual

Reports an unplayable condition.

Implements IPerfCounters.

◆ ResetStatsForNextPeriod()

void FPerfCounters::ResetStatsForNextPeriod ( )
overridevirtual

Clears transient perf counters, essentially marking beginning of a new stats period

Implements IPerfCounters.

◆ SetJson()

void FPerfCounters::SetJson ( const FString &  Name,
const FProduceJsonCounterValue Callback,
uint32  Flags 
)
overridevirtual

Make a callback so we can request more extensive types on demand (presumably backed by some struct locally)

Implements IPerfCounters.

◆ SetNumber()

void FPerfCounters::SetNumber ( const FString &  Name,
double  Value,
uint32  Flags 
)
overridevirtual

Maps value to a numeric holder

Implements IPerfCounters.

◆ SetString()

void FPerfCounters::SetString ( const FString &  Name,
const FString &  Value,
uint32  Flags 
)
overridevirtual

Maps value to a string holder

Implements IPerfCounters.

◆ StartMachineLoadTracking() [1/2]

bool FPerfCounters::StartMachineLoadTracking ( )
overridevirtual

Starts tracking overall machine load.

Implements IPerfCounters.

◆ StartMachineLoadTracking() [2/2]

bool FPerfCounters::StartMachineLoadTracking ( double  TickRate,
const TArray< double > &  FrameTimeHistogramBucketsMs 
)
overridevirtual

Starts tracking overall machine load (empty array will use default hitch buckets).

Implements IPerfCounters.

◆ StopMachineLoadTracking()

bool FPerfCounters::StopMachineLoadTracking ( )
virtual

Stops tracking overall machine load.

Implements IPerfCounters.

◆ Tick()

bool FPerfCounters::Tick ( float  DeltaTime)
overridevirtual

The documentation for this class was generated from the following files: