5#include "Containers/Array.h"
6#include "Containers/Map.h"
18template <
class CharType,
class Pr
intPolicy>
20template <
class CharType>
96 virtual double GetNumber(
const FString&
Name,
double DefaultValue = 0.0) = 0;
232 return FModuleManager::LoadModuleChecked< IPerfCountersModule >(
"PerfCounters");
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_DELEGATE_RetVal_TwoParams(ReturnValueType, DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:63
TSharedRef< TJsonWriter< TCHAR, TPrettyJsonPrintPolicy< TCHAR > > > FPrettyJsonWriter
Definition PerfCountersModule.h:24
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
CORE_API bool IsModuleLoaded(const FName InModuleName) const
Definition ModuleManager.cpp:347
static CORE_API FModuleManager & Get()
Definition ModuleManager.cpp:199
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition ModuleInterface.h:14
Definition PerfCountersModule.h:221
virtual IPerfCounters * GetPerformanceCounters() const =0
static PERFCOUNTERS_API int32 GetHTTPStatsPort()
Definition PerfCountersModule.cpp:77
virtual IPerfCounters * CreatePerformanceCounters(const FString &UniqueInstanceId=TEXT(""))=0
static bool IsAvailable()
Definition PerfCountersModule.h:240
static IPerfCountersModule & Get()
Definition PerfCountersModule.h:230
Definition PerfCountersModule.h:48
int32 Get(const FString &Name, int32 Val=0)
Definition PerfCountersModule.h:137
Flags
Definition PerfCountersModule.h:52
@ Transient
Definition PerfCountersModule.h:54
void Set(const FString &Name, int64 Val, uint32 Flags=0)
Definition PerfCountersModule.h:195
float Get(const FString &Name, float Val=0.0f)
Definition PerfCountersModule.h:147
virtual FString GetAllCountersAsJson()=0
void Set(const FString &Name, double Val, uint32 Flags=0)
Definition PerfCountersModule.h:190
void Set(const FString &Name, uint32 Val, uint32 Flags=0)
Definition PerfCountersModule.h:180
void Set(const FString &Name, uint64 Val, uint32 Flags=0)
Definition PerfCountersModule.h:200
virtual const TMap< FString, FJsonVariant > & GetAllCounters()=0
double Get(const FString &Name, double Val=0.0)
Definition PerfCountersModule.h:152
virtual bool ReportUnplayableCondition(const FString &ConditionDescription)=0
virtual void SetNumber(const FString &Name, double Value, uint32 Flags=0)=0
virtual void SetJson(const FString &Name, const FProduceJsonCounterValue &Callback, uint32 Flags=0)=0
virtual double GetNumber(const FString &Name, double DefaultValue=0.0)=0
virtual void SetString(const FString &Name, const FString &Value, uint32 Flags=0)=0
virtual TPerformanceHistogramMap & PerformanceHistograms()=0
int32 Increment(const FString &Name, int32 Add=1, int32 DefaultValue=0, uint32 Flags=IPerfCounters::Flags::Transient)
Convenience method for incrementing a transient counter.
Definition PerfCountersModule.h:166
virtual void ResetStatsForNextPeriod()=0
uint32 Get(const FString &Name, uint32 Val=0)
Definition PerfCountersModule.h:142
virtual bool StopMachineLoadTracking()=0
void Set(const FString &Name, const FProduceJsonCounterValue &Callback, uint32 Flags=0)
Definition PerfCountersModule.h:210
virtual const FString & GetInstanceName() const =0
void Set(const FString &Name, int32 Val, uint32 Flags=0)
Definition PerfCountersModule.h:175
virtual ~IPerfCounters()
Definition PerfCountersModule.h:90
virtual bool StartMachineLoadTracking(double TickRate, const TArray< double > &FrameTimeHistogramBucketsMs)=0
virtual bool StartMachineLoadTracking()=0
void Set(const FString &Name, const FString &Val, uint32 Flags=0)
Definition PerfCountersModule.h:205
TMap< FName, FHistogram > TPerformanceHistogramMap
Definition PerfCountersModule.h:87
void Set(const FString &Name, float Val, uint32 Flags=0)
Definition PerfCountersModule.h:185
virtual FPerfCounterExecCommandCallback & OnPerfCounterExecCommand()=0
Definition JsonWriter.h:85
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
Definition Histogram.h:34
Definition PerfCountersModule.h:58
FString StringValue
Definition PerfCountersModule.h:60
FProduceJsonCounterValue CallbackValue
Definition PerfCountersModule.h:62
uint32 Flags
Definition PerfCountersModule.h:63
enum IPerfCounters::FJsonVariant::@1659 Format
double NumberValue
Definition PerfCountersModule.h:61
FJsonVariant()
Definition PerfCountersModule.h:65
@ Null
Definition PerfCountersModule.h:59
@ String
Definition PerfCountersModule.h:59
@ Number
Definition PerfCountersModule.h:59
@ Callback
Definition PerfCountersModule.h:59
Definition PerfCountersModule.h:70
static PERFCOUNTERS_API const FName ZeroLoadFrameTime
Definition PerfCountersModule.h:83
static PERFCOUNTERS_API const FName FrameTimePeriodic
Definition PerfCountersModule.h:74
static PERFCOUNTERS_API const FName ServerReplicateActorsTime
Definition PerfCountersModule.h:78
static PERFCOUNTERS_API const FName FrameTimeWithoutSleep
Definition PerfCountersModule.h:76
static PERFCOUNTERS_API const FName SleepTime
Definition PerfCountersModule.h:80
static PERFCOUNTERS_API const FName FrameTime
Definition PerfCountersModule.h:72
Definition PrettyJsonPrintPolicy.h:16