5#include "Containers/Array.h"
107#define DECLARE_SCOPE_HIERARCHICAL_COUNTER(CounterName) \
108 FStatsHierarchical::FScope PREPROCESSOR_JOIN(StatsHierarchicalScope, __LINE__)(#CounterName);
109#define DECLARE_SCOPE_HIERARCHICAL_COUNTER_FUNC() \
110 FStatsHierarchical::FScope PREPROCESSOR_JOIN(StatsHierarchicalScope, __LINE__)(__FUNCTION__);
114#define DECLARE_SCOPE_HIERARCHICAL_COUNTER(CounterName)
115#define DECLARE_SCOPE_HIERARCHICAL_COUNTER_FUNC()
148 FStatsHierarchical::BeginMeasurement(
InLabel);
155 FStatsHierarchical::EndMeasurement();
187 struct FHierarchicalStatEntry
195 FHierarchicalStatEntry()
214 static CORE_API void EndMeasurement();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MessageLog.h:21
Definition NameTypes.h:617
Definition StatsHierarchical.h:137
static CORE_API bool IsEnabled()
Definition StatsHierarchical.cpp:290
static CORE_API FStatsTreeElement EndMeasurements(FStatsTreeElement MeasurementsToMerge=FStatsTreeElement(), bool bAddUntrackedElements=true)
Definition StatsHierarchical.cpp:303
static CORE_API void BeginMeasurements()
Definition StatsHierarchical.cpp:280
static CORE_API FStatsTreeElement GetLastMeasurements()
Definition StatsHierarchical.cpp:465
static CORE_API FName GetUntrackedTimeName()
Definition StatsHierarchical.cpp:524
static CORE_API void DumpMeasurements(FMessageLog &Log, bool bSortByDuration=true)
Definition StatsHierarchical.cpp:476
Definition StatsHierarchical.h:27
CORE_API double AverageSeconds(bool bInclusive=true) const
Definition StatsHierarchical.cpp:88
CORE_API const TArray< TSharedPtr< FStatsTreeElement > > & GetChildren() const
Definition StatsHierarchical.cpp:103
double RatioAgainstMaximumInclusive
Definition StatsHierarchical.h:86
CORE_API void UpdatePostMeasurement(double InCyclesPerTimerToRemove=0)
Definition StatsHierarchical.cpp:141
CORE_API FStatsTreeElement()
Definition StatsHierarchical.cpp:9
uint32 Cycles
Definition StatsHierarchical.h:80
FName Name
Definition StatsHierarchical.h:77
double RatioAgainstMaximumExclusive
Definition StatsHierarchical.h:87
CORE_API uint32 MaxCycles(bool bInclusive=true) const
Definition StatsHierarchical.cpp:67
CORE_API FStatsTreeElement * FindChild(const FString &InPath)
Definition StatsHierarchical.cpp:108
CORE_API double TotalSeconds(bool bInclusive=true) const
Definition StatsHierarchical.cpp:83
FString Path
Definition StatsHierarchical.h:78
double RatioAgainstTotalExclusive
Definition StatsHierarchical.h:85
friend class FStatsHierarchicalClient
Definition StatsHierarchical.h:98
CORE_API FString GetPath() const
Definition StatsHierarchical.cpp:32
CORE_API FString GetName() const
Definition StatsHierarchical.cpp:27
CORE_API double Contribution(bool bAgainstMaximum=false, bool bInclusive=true) const
Definition StatsHierarchical.cpp:94
TArray< TSharedPtr< FStatsTreeElement > > Children
Definition StatsHierarchical.h:90
uint32 Invocations
Definition StatsHierarchical.h:79
CORE_API uint32 TotalCycles(bool bInclusive=true) const
Definition StatsHierarchical.cpp:54
uint32 CyclesOfChildren
Definition StatsHierarchical.h:83
double RatioAgainstTotalInclusive
Definition StatsHierarchical.h:84
CORE_API FName GetFName() const
Definition StatsHierarchical.cpp:22
Definition StatsHierarchical.h:144
FScope(const ANSICHAR *InLabel)
Definition StatsHierarchical.h:145
~FScope()
Definition StatsHierarchical.h:152