UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
InstallBundleUtil::PersistentStats::FPersistentStatsBase Class Referenceabstract

#include <InstallBundleUtils.h>

+ Inheritance diagram for InstallBundleUtil::PersistentStats::FPersistentStatsBase:

Public Member Functions

INSTALLBUNDLEMANAGER_API BEGIN_JSON_SERIALIZER JSON_SERIALIZE ("AnalyticsSessionID", AnalyticsSessionID)
 
 JSON_SERIALIZE_MAP ("CountStats", CountStatMap)
 
 JSON_SERIALIZE_MAP_SERIALIZABLE ("TimingStats", TimingStatsMap, FPersistentTimerData)
 
virtual ~FPersistentStatsBase ()
 
INSTALLBUNDLEMANAGER_API void StatsBegin (const FString &ExpectedAnalyticsID, bool bForceResetData=false)
 
INSTALLBUNDLEMANAGER_API void StatsEnd (bool bStopAllActiveTimers=true)
 
INSTALLBUNDLEMANAGER_API bool IsTimingStatStarted (ETimingStatNames StatToUpdate) const
 
INSTALLBUNDLEMANAGER_API void StartTimingStat (ETimingStatNames StatToUpdate)
 
INSTALLBUNDLEMANAGER_API void StopTimingStat (ETimingStatNames StatToUpdate, bool UpdateTimerOnStop=true)
 
INSTALLBUNDLEMANAGER_API void UpdateTimingStat (ETimingStatNames StatToUpdate)
 
INSTALLBUNDLEMANAGER_API void UpdateAllActiveTimers ()
 
INSTALLBUNDLEMANAGER_API void StopAllActiveTimers ()
 
bool IsActive () const
 
bool IsDirty () const
 
INSTALLBUNDLEMANAGER_API void IncrementCountStat (PersistentStats::ECountStatNames StatToUpdate)
 
INSTALLBUNDLEMANAGER_API bool HasTimingStat (ETimingStatNames StatToCheck) const
 
INSTALLBUNDLEMANAGER_API bool HasCountStat (ECountStatNames StatToCheck) const
 
INSTALLBUNDLEMANAGER_API const FPersistentTimerDataGetTimingStatData (ETimingStatNames StatToGet) const
 
INSTALLBUNDLEMANAGER_API const int * GetCountStatData (ECountStatNames StatToGet) const
 
INSTALLBUNDLEMANAGER_API bool SaveStatsToDisk ()
 
INSTALLBUNDLEMANAGER_API bool LoadStatsFromDisk ()
 
virtual const FString GetFullPathForStatFile () const =0
 
- Public Member Functions inherited from FJsonSerializable
virtual JSON_API ~FJsonSerializable ()
 
JSON_API const FString ToJson (bool bPrettyPrint=true) const
 
JSON_API const FUtf8String ToJsonUtf8 (bool bPrettyPrint=true) const
 
virtual JSON_API const FString ToJson (bool bPrettyPrint=true)
 
virtual JSON_API const FUtf8String ToJsonUtf8 (bool bPrettyPrint=true)
 
template<class CharType , class PrintPolicy , ESPMode SPMode>
void ToJson (TSharedRef< TJsonWriter< CharType, PrintPolicy >, SPMode > JsonWriter, bool bFlatObject=false) const
 
virtual JSON_API bool FromJson (const TCHAR *Json)
 
virtual JSON_API bool FromJson (const UTF8CHAR *Json)
 
virtual JSON_API bool FromJson (const FString &Json)
 
virtual JSON_API bool FromJson (const FUtf8String &Json)
 
virtual JSON_API bool FromJson (FString &&Json)
 
virtual JSON_API bool FromJson (FUtf8String &&Json)
 
JSON_API bool FromJsonStringView (FUtf8StringView JsonStringView)
 
JSON_API bool FromJsonStringView (FWideStringView JsonStringView)
 
virtual JSON_API bool FromJson (TSharedPtr< FJsonObject > JsonObject)
 
virtual void Serialize (FJsonSerializerBase &Serializer, bool bFlatObject)=0
 

Static Public Member Functions

static INSTALLBUNDLEMANAGER_API const FString GetBaseExpectedAnalyticsID ()
 

Protected Member Functions

INSTALLBUNDLEMANAGER_API void ResetStats (const FString &NewAnalyticsSessionID)
 
INSTALLBUNDLEMANAGER_API void OnLoadingDataFromDisk ()
 
INSTALLBUNDLEMANAGER_API void HandleTimerStatsAfterDataLoad ()
 
 FPersistentStatsBase ()
 

Protected Attributes

TMap< FString, FPersistentTimerDataTimingStatsMap
 
TMap< FString, int > CountStatMap
 
FString AnalyticsSessionID
 
bool bIsActive
 
bool bIsDirty
 
bool bHasLoadedFromDisk
 

Constructor & Destructor Documentation

◆ ~FPersistentStatsBase()

virtual InstallBundleUtil::PersistentStats::FPersistentStatsBase::~FPersistentStatsBase ( )
inlinevirtual

◆ FPersistentStatsBase()

InstallBundleUtil::PersistentStats::FPersistentStatsBase::FPersistentStatsBase ( )
inlineprotected

Member Function Documentation

◆ GetBaseExpectedAnalyticsID()

const FString InstallBundleUtil::PersistentStats::FPersistentStatsBase::GetBaseExpectedAnalyticsID ( )
static

◆ GetCountStatData()

const int * InstallBundleUtil::PersistentStats::FPersistentStatsBase::GetCountStatData ( ECountStatNames  StatToGet) const

◆ GetFullPathForStatFile()

virtual const FString InstallBundleUtil::PersistentStats::FPersistentStatsBase::GetFullPathForStatFile ( ) const
pure virtual

◆ GetTimingStatData()

const FPersistentTimerData * InstallBundleUtil::PersistentStats::FPersistentStatsBase::GetTimingStatData ( ETimingStatNames  StatToGet) const

◆ HandleTimerStatsAfterDataLoad()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::HandleTimerStatsAfterDataLoad ( )
protected

◆ HasCountStat()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::HasCountStat ( ECountStatNames  StatToCheck) const

◆ HasTimingStat()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::HasTimingStat ( ETimingStatNames  StatToCheck) const

◆ IncrementCountStat()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::IncrementCountStat ( PersistentStats::ECountStatNames  StatToUpdate)

◆ IsActive()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::IsActive ( ) const
inline

◆ IsDirty()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::IsDirty ( ) const
inline

◆ IsTimingStatStarted()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::IsTimingStatStarted ( PersistentStats::ETimingStatNames  StatToUpdate) const

◆ JSON_SERIALIZE()

INSTALLBUNDLEMANAGER_API BEGIN_JSON_SERIALIZER InstallBundleUtil::PersistentStats::FPersistentStatsBase::JSON_SERIALIZE ( "AnalyticsSessionID"  ,
AnalyticsSessionID   
)

◆ JSON_SERIALIZE_MAP()

InstallBundleUtil::PersistentStats::FPersistentStatsBase::JSON_SERIALIZE_MAP ( "CountStats"  ,
CountStatMap   
)

◆ JSON_SERIALIZE_MAP_SERIALIZABLE()

InstallBundleUtil::PersistentStats::FPersistentStatsBase::JSON_SERIALIZE_MAP_SERIALIZABLE ( "TimingStats"  ,
TimingStatsMap  ,
FPersistentTimerData   
)

◆ LoadStatsFromDisk()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::LoadStatsFromDisk ( )

◆ OnLoadingDataFromDisk()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::OnLoadingDataFromDisk ( )
protected

◆ ResetStats()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::ResetStats ( const FString &  NewAnalyticsSessionID)
protected

◆ SaveStatsToDisk()

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::SaveStatsToDisk ( )

◆ StartTimingStat()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::StartTimingStat ( PersistentStats::ETimingStatNames  StatToUpdate)

◆ StatsBegin()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::StatsBegin ( const FString &  ExpectedAnalyticsID,
bool  bForceResetData = false 
)

◆ StatsEnd()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::StatsEnd ( bool  bStopAllActiveTimers = true)

◆ StopAllActiveTimers()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::StopAllActiveTimers ( )

◆ StopTimingStat()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::StopTimingStat ( PersistentStats::ETimingStatNames  StatToUpdate,
bool  UpdateTimerOnStop = true 
)

◆ UpdateAllActiveTimers()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::UpdateAllActiveTimers ( )

◆ UpdateTimingStat()

void InstallBundleUtil::PersistentStats::FPersistentStatsBase::UpdateTimingStat ( PersistentStats::ETimingStatNames  StatToUpdate)

Member Data Documentation

◆ AnalyticsSessionID

FString InstallBundleUtil::PersistentStats::FPersistentStatsBase::AnalyticsSessionID
protected

◆ bHasLoadedFromDisk

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::bHasLoadedFromDisk
protected

◆ bIsActive

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::bIsActive
protected

◆ bIsDirty

bool InstallBundleUtil::PersistentStats::FPersistentStatsBase::bIsDirty
protected

◆ CountStatMap

TMap<FString, int> InstallBundleUtil::PersistentStats::FPersistentStatsBase::CountStatMap
protected

◆ TimingStatsMap

TMap<FString, FPersistentTimerData> InstallBundleUtil::PersistentStats::FPersistentStatsBase::TimingStatsMap
protected

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