PlayerExperience
Summary
| Members | Descriptions |
|---|---|
define PEX_ADD_INDEXED_STAT_TO_REPORT | |
define PEX_ADD_INDEXED_COUNTER_TO_REPORT | |
enum ERH_PEXValueType | Enum representing what value should be recorded when only a single value is requested for display or logging. |
class URH_PEXCollectorConfig | |
class URH_PEXCollectorConfig_Client | |
class URH_PEXCollectorConfig_Host | |
class URH_PEXCollectorConfig_DedicatedServer | |
class URH_PEXOwnerInterface | PlayerExperience Owner Interface class. |
class IRH_PEXOwnerInterface | PlayerExperience Owner Interface. |
class URH_PEXStatGroup | Base class for a group of stats. |
class URH_PEXStatGroupsTopLevel | Stat group that contains all other stat groups, configurable via INI. |
class URH_PEXCollector | PlayerExperience Collector class, responsible for collecting and tracking PEX data via PEX Stat Groups. |
class URH_PEXPrimaryStats | Stat group for capturing primary stats. |
class URH_PEXNetworkStats_Base | Stat group for capturing whole-state network stats. |
class URH_PEXNetworkStats_Global | Stat group for capturing global network stats. |
class URH_PEXNetworkStats_Connection | Stat group for capturing per-player network stats. |
class URH_PEXNetworkStats_Host | Stat group for capturing a group of player network stats. |
class URH_PEXNetworkStats_Client | Stat group for capturing a group of client's connection to server's network stats. |
class URH_PEXNetworkStats | Stat group for capturing local whole-state network stats, plus per-player stats. |
class URH_PEXGameStats | Stat group for capturing game stats. |
class URH_PEXBlueprintableStats | Blueprintable stat group for capturing stats. |
class URH_PEXCollectorConfig_Test | |
class URH_TestPEXOwner | |
struct FRH_PEXStatState | State of the accumulated stat. |
struct FRH_StatAccumulator | Simple accumulator that represents a captured statistic. Tracks min, max, average, and other values internally without having to store all values. |
struct FRH_StatCounter | Simple counter that represents a captured statistic. Tracks current value, and tracks summary data. |
Members
define PEX_ADD_INDEXED_STAT_TO_REPORT
define PEX_ADD_INDEXED_COUNTER_TO_REPORT
enum ERH_PEXValueType
| Values | Descriptions |
|---|---|
| Current | |
| Min | |
| Max | |
| Avg | |
| Sum | |
| Count |
Enum representing what value should be recorded when only a single value is requested for display or logging.
class URH_PEXCollectorConfig
class URH_PEXCollectorConfig
: public UObject
Summary
| Members | Descriptions |
|---|---|
public bool bEnabled | Enable tracking of PEX data |
public bool bWriteSummaryFile | Whether to write summary data to file |
public bool bUploadSummaryToPEXAPI | Whether to send summary data to the PEX API |
public bool bUploadSummaryToFileAPI | Whether to send summary data to the File API (Requires bWriteSummaryFile) |
public bool bWriteTimelineFile | Whether to write timeline data to file |
public bool bUploadTimelineToFileAPI | Whether to send timeline data to the File API (Requires bWriteTimelineFile) |
public int32 StatInterval | Interval of updating summary and writing timeline, in seconds |
public int32 NumIntervalsToIgnoreAfterMapLoadForSummary | How many intervals to ignore for summary after a map load (to allow things like streaming to stablize) |
public FString TimelineFilePrefix | Prefix for timeline file name |
public FString SummaryFilePrefix | Prefix for summary file name |
public TSet< TSubclassOf< URH_PEXStatGroup> >StatGroupsToCapture | Array of StatGroups to capture |
public URH_PEXCollectorConfig() | |
public inline bool WantsEnabled() const | Helper function for whether tracking should be enabled |
public inline bool WantsSummary() const | Helper function for whether summary data should be tracked |
public inline bool WantsTimeline() const | Helper function for whether timeline data should be tracked |
Members
public bool bEnabled
Enable tracking of PEX data
public bool bWriteSummaryFile
Whether to write summary data to file
public bool bUploadSummaryToPEXAPI
Whether to send summary data to the PEX API
public bool bUploadSummaryToFileAPI
Whether to send summary data to the File API (Requires bWriteSummaryFile)
public bool bWriteTimelineFile
Whether to write timeline data to file
public bool bUploadTimelineToFileAPI
Whether to send timeline data to the File API (Requires bWriteTimelineFile)
public int32 StatInterval
Interval of updating summary and writing timeline, in seconds
public int32 NumIntervalsToIgnoreAfterMapLoadForSummary
How many intervals to ignore for summary after a map load (to allow things like streaming to stablize)
public FString TimelineFilePrefix
Prefix for timeline file name
public FString SummaryFilePrefix
Prefix for summary file name
public TSet< TSubclassOf< URH_PEXStatGroup> >StatGroupsToCapture
Array of StatGroups to capture
public URH_PEXCollectorConfig()
public inline bool WantsEnabled() const
Helper function for whether tracking should be enabled
public inline bool WantsSummary() const
Helper function for whether summary data should be tracked
public inline bool WantsTimeline() const
Helper function for whether timeline data should be tracked
class URH_PEXCollectorConfig_Client
class URH_PEXCollectorConfig_Client
: public URH_PEXCollectorConfig
Summary
| Members | Descriptions |
|---|---|
public inline URH_PEXCollectorConfig_Client() |
Members
public inline URH_PEXCollectorConfig_Client()
class URH_PEXCollectorConfig_Host
class URH_PEXCollectorConfig_Host
: public URH_PEXCollectorConfig
Summary
| Members | Descriptions |
|---|---|
public inline URH_PEXCollectorConfig_Host() |
Members
public inline URH_PEXCollectorConfig_Host()
class URH_PEXCollectorConfig_DedicatedServer
class URH_PEXCollectorConfig_DedicatedServer
: public URH_PEXCollectorConfig_Host
Summary
| Members | Descriptions |
|---|---|
public inline URH_PEXCollectorConfig_DedicatedServer() |
Members
public inline URH_PEXCollectorConfig_DedicatedServer()
class URH_PEXOwnerInterface
class URH_PEXOwnerInterface
: public UInterface
PlayerExperience Owner Interface class.
Summary
| Members | Descriptions |
|---|
Members
class IRH_PEXOwnerInterface
PlayerExperience Owner Interface.
Summary
| Members | Descriptions |
|---|
Members
class URH_PEXStatGroup
class URH_PEXStatGroup
: public UObject
Base class for a group of stats.
Summary
| Members | Descriptions |
|---|---|
public FName GroupName | Name of the stat group. |
public TArray< FRH_StatAccumulator>Stats | Array of stats to track. |
public TArray< FRH_StatCounter>Counters | Array of stats to track. |
public TArray< URH_PEXStatGroup* >Children | Array of children stat groups to track. |
public bool bDynamic | Whether this group was dynamically created. Dynamic groups do not get written to the timeline since it has a rigid structure. |
public bool bNotForTimeline | Whether this group should be excluded from the timline. Some groups do not get written to the timeline since it has a rigid structure. |
public inline URH_PEXStatGroup() | |
public inline virtual void Init(const URH_PEXCollectorConfig* InConfig,const TScriptInterface<IRH_PEXOwnerInterface > & Owner) | Initialize the stat group and any children. May add non-dynamic groups and init them as well. |
public inline virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-frame stats. |
public inline virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-second stats. |
public inline virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
public inline virtual void ResetCapture() | Reset the capture state of all stats. |
public inline virtual void ResetSummary() | Reset the summary state of all stats. |
public inline virtual void ResetStats() | Reset both the capture and summary states of all stats. |
public inline virtual void UpdateSummary() | Update the summary state of all stats. |
public inline virtual TSharedRef< FJsonObject > GetSummary() const | Write the summary data to a JSON object. |
public inline virtual FString GetTimelineCSVHeader() const | Write the timeline data header to a CSV file for all stats. |
public inline virtual FString GetTimelineCSVValues() const | Write the timeline data values to a CSV file for all stats. |
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const | Fill in a API PEX host summary report with the summary data. |
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const | Fill in a API PEX client summary report with the summary data. |
Members
public FName GroupName
Name of the stat group.
public TArray< FRH_StatAccumulator>Stats
Array of stats to track.
public TArray< FRH_StatCounter>Counters
Array of stats to track.
public TArray< URH_PEXStatGroup* >Children
Array of children stat groups to track.
public bool bDynamic
Whether this group was dynamically created. Dynamic groups do not get written to the timeline since it has a rigid structure.
public bool bNotForTimeline
Whether this group should be excluded from the timline. Some groups do not get written to the timeline since it has a rigid structure.
public inline URH_PEXStatGroup()
public inline virtual void Init(const URH_PEXCollectorConfig* InConfig,const TScriptInterface<IRH_PEXOwnerInterface > & Owner)
Initialize the stat group and any children. May add non-dynamic groups and init them as well.
public inline virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-frame stats.
public inline virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-second stats.
public inline virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
public inline virtual void ResetCapture()
Reset the capture state of all stats.
public inline virtual void ResetSummary()
Reset the summary state of all stats.
public inline virtual void ResetStats()
Reset both the capture and summary states of all stats.
public inline virtual void UpdateSummary()
Update the summary state of all stats.
public inline virtual TSharedRef< FJsonObject > GetSummary() const
Write the summary data to a JSON object.
Returns
The JSON object containing the summary data
public inline virtual FString GetTimelineCSVHeader() const
Write the timeline data header to a CSV file for all stats.
public inline virtual FString GetTimelineCSVValues() const
Write the timeline data values to a CSV file for all stats.
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const
Fill in a API PEX host summary report with the summary data.
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const
Fill in a API PEX client summary report with the summary data.
class URH_PEXStatGroupsTopLevel
class URH_PEXStatGroupsTopLevel
: public URH_PEXStatGroup
Stat group that contains all other stat groups, configurable via INI.
Summary
| Members | Descriptions |
|---|---|
public FDateTime LastCaptureTime | The timetamp for the last capture. |
public URH_PEXStatGroupsTopLevel() | |
public virtual void Init(const URH_PEXCollectorConfig* InConfig,const TScriptInterface<IRH_PEXOwnerInterface > & Owner) | Initialize the stat group and any children. May add non-dynamic groups and init them as well. |
public inline FORCEINLINE FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter) | |
public inline FORCEINLINE const FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter) const | |
public inline virtual void SetIgnoredForSummary() | |
public inline virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
public inline virtual void ResetCapture() | Reset the capture state of all stats. |
public inline virtual FString GetTimelineCSVHeader() const | Write the timeline data header to a CSV file for all stats. |
public inline virtual FString GetTimelineCSVValues() const | Write the timeline data values to a CSV file for all stats. |
enum ECaptureCounter |
Members
public FDateTime LastCaptureTime
The timetamp for the last capture.
public URH_PEXStatGroupsTopLevel()
public virtual void Init(const URH_PEXCollectorConfig* InConfig,const TScriptInterface<IRH_PEXOwnerInterface > & Owner)
Initialize the stat group and any children. May add non-dynamic groups and init them as well.
public inline FORCEINLINE FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter)
public inline FORCEINLINE const FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter) const
public inline virtual void SetIgnoredForSummary()
public inline virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
public inline virtual void ResetCapture()
Reset the capture state of all stats.
public inline virtual FString GetTimelineCSVHeader() const
Write the timeline data header to a CSV file for all stats.
public inline virtual FString GetTimelineCSVValues() const
Write the timeline data values to a CSV file for all stats.
enum ECaptureCounter
| Values | Descriptions |
|---|---|
| IgnoredForSummary | |
| Max |
class URH_PEXCollector
class URH_PEXCollector
: public UObject
PlayerExperience Collector class, responsible for collecting and tracking PEX data via PEX Stat Groups.
Summary
| Members | Descriptions |
|---|---|
public URH_PEXCollector() | |
public virtual ~URH_PEXCollector() | |
public virtual bool Init(IRH_PEXOwnerInterface * InOwner) | Initialize the collector. Can only be done once. |
public virtual bool InitWithConfig(IRH_PEXOwnerInterface* InOwner,constURH_PEXCollectorConfig * InConfig) | Initialize the collector. Can only be done once. |
public virtual void OnEndFrame() | Tick the collector, updating per frame stats and potentially per second stats. |
public virtual void OnMapLoadComplete() | Notification that a map load has completed. |
public inline const URH_PEXCollectorConfig*GetConfig() const | Retrieve the config to use for this collector instance. |
public inline void ResetSummary() | Reset the summary state, which is useful if wanting to trim the front of the summary to when gameplay starts. |
public inline void SetIgnoreCurrentIntervalForSummary(int32 NumToIgnore) | Flags the current interval (and potentially more) to be ignored for summary if it was not already. This is useful in cases of events that will generate bad behavior reports such as map loads. |
public void Close() | Closes state, writes summary if needed, and uploads data if needed. Can only be done once. |
public void WriteSummary() | Writes summary data to file and/or API, and uploads any data requested, can only be called once. |
public inline FString GetSummaryFilePath() const | Get the file path for the summary file, if it was written. |
public inline FString GetTimelineFilePath() const | Get the file path for the timeline file, if it was written. |
public TSharedRef< FJsonObject > GetSummaryJson() const | Retrieves the summary data in Json format. |
protected TWeakInterfacePtr< IRH_PEXOwnerInterface>Owner | Cached owner of the collector |
protected const URH_PEXCollectorConfig*CachedConfig | Cached file path for timeline file |
protected FString CachedMatchId | Cached match id to use for routing the captured data to storage. Cached so it does not change mid-capture |
protected FRH_RemoteFileApiDirectory CachedRemoteFileDirectory | Cached remote file directory to use for routing the captured data to storage. Cached so it does not change mid-capture |
protected FGuid CachedPlayerId | Cached player id to use for routing the captured data to storage. Cached so it does not change mid-capture |
protected bool bCachedIsHost | Cached whether this owner is the host of the match. Cached so it does not change mid-capture |
protected bool bHasBeenInitialized | Whether the collector has been initialized, to guard against it being initialized multiple times. |
protected bool bHasBeenClosed | Whether the collector has been closed, to guard against it being closed multiple times. |
protected bool bHasWrittenSummary | Whether the summary data has been written, to guard against it being written multiple times. |
protected double TimeTracker | Time accumulator so that time is always monotonic |
protected int32 NumRemainingIntervalsToIgnore | Number of remaining intervals to ignore for summary (decremented at the end of each interval) |
protected URH_PEXStatGroupsTopLevel*TopLevelStatGroup | |
protected class FArchive * TimelineFileCSV | Local file archive to write timeline data to |
protected FString TimelineFilePath | Cached file path for timeline file |
protected FString SummaryFilePath | Cached file path for summary file |
protected void UploadFile(const FString & FilePath,const FString & RemoteFileName) const | Internal helper to upload a file to remote file storage |
Members
public URH_PEXCollector()
public virtual ~URH_PEXCollector()
public virtual bool Init(IRH_PEXOwnerInterface * InOwner)
Initialize the collector. Can only be done once.
public virtual bool InitWithConfig(IRH_PEXOwnerInterface* InOwner,constURH_PEXCollectorConfig * InConfig)
Initialize the collector. Can only be done once.
public virtual void OnEndFrame()
Tick the collector, updating per frame stats and potentially per second stats.
public virtual void OnMapLoadComplete()
Notification that a map load has completed.
public inline const URH_PEXCollectorConfig*GetConfig() const
Retrieve the config to use for this collector instance.
public inline void ResetSummary()
Reset the summary state, which is useful if wanting to trim the front of the summary to when gameplay starts.
public inline void SetIgnoreCurrentIntervalForSummary(int32 NumToIgnore)
Flags the current interval (and potentially more) to be ignored for summary if it was not already. This is useful in cases of events that will generate bad behavior reports such as map loads.
public void Close()
Closes state, writes summary if needed, and uploads data if needed. Can only be done once.
public void WriteSummary()
Writes summary data to file and/or API, and uploads any data requested, can only be called once.
public inline FString GetSummaryFilePath() const
Get the file path for the summary file, if it was written.
public inline FString GetTimelineFilePath() const
Get the file path for the timeline file, if it was written.
public TSharedRef< FJsonObject > GetSummaryJson() const
Retrieves the summary data in Json format.
protected TWeakInterfacePtr< IRH_PEXOwnerInterface>Owner
Cached owner of the collector
protected const URH_PEXCollectorConfig*CachedConfig
Cached file path for timeline file
protected FString CachedMatchId
Cached match id to use for routing the captured data to storage. Cached so it does not change mid-capture
protected FRH_RemoteFileApiDirectory CachedRemoteFileDirectory
Cached remote file directory to use for routing the captured data to storage. Cached so it does not change mid-capture
protected FGuid CachedPlayerId
Cached player id to use for routing the captured data to storage. Cached so it does not change mid-capture
protected bool bCachedIsHost
Cached whether this owner is the host of the match. Cached so it does not change mid-capture
protected bool bHasBeenInitialized
Whether the collector has been initialized, to guard against it being initialized multiple times.
protected bool bHasBeenClosed
Whether the collector has been closed, to guard against it being closed multiple times.
protected bool bHasWrittenSummary
Whether the summary data has been written, to guard against it being written multiple times.
protected double TimeTracker
Time accumulator so that time is always monotonic
protected int32 NumRemainingIntervalsToIgnore
Number of remaining intervals to ignore for summary (decremented at the end of each interval)
protected URH_PEXStatGroupsTopLevel*TopLevelStatGroup
protected class FArchive * TimelineFileCSV
Local file archive to write timeline data to
protected FString TimelineFilePath
Cached file path for timeline file
protected FString SummaryFilePath
Cached file path for summary file
protected void UploadFile(const FString & FilePath,const FString & RemoteFileName) const
Internal helper to upload a file to remote file storage
class URH_PEXPrimaryStats
class URH_PEXPrimaryStats
: public URH_PEXStatGroup
Stat group for capturing primary stats.
Summary
| Members | Descriptions |
|---|---|
public inline FORCEINLINE FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) | |
public inline FORCEINLINE const FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) const | |
public inline FORCEINLINE FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter) | |
public inline FORCEINLINE const FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter) const | |
public URH_PEXPrimaryStats() | |
public virtual void Init(const URH_PEXCollectorConfig* InConfig,const TScriptInterface<IRH_PEXOwnerInterface > & Owner) | Initialize the stat group and any children. May add non-dynamic groups and init them as well. |
public virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-frame stats. |
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const | Fill in a API PEX host summary report with the summary data. |
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const | Fill in a API PEX client summary report with the summary data. |
enum ECaptureStat | |
enum ECaptureCounter |
Members
public inline FORCEINLINE FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat)
public inline FORCEINLINE const FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) const
public inline FORCEINLINE FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter)
public inline FORCEINLINE const FRH_StatCounter&GetCaptureCounter(ECaptureCounter Counter) const
public URH_PEXPrimaryStats()
public virtual void Init(const URH_PEXCollectorConfig* InConfig,const TScriptInterface<IRH_PEXOwnerInterface > & Owner)
Initialize the stat group and any children. May add non-dynamic groups and init them as well.
public virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-frame stats.
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const
Fill in a API PEX host summary report with the summary data.
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const
Fill in a API PEX client summary report with the summary data.
enum ECaptureStat
| Values | Descriptions |
|---|---|
| FrameTime | |
| GameThreadTime | |
| RenderThreadTime | |
| RHIThreadTime | |
| GPUTime | |
| DeltaTime | |
| GameThreadWaitTime | |
| FlushLoadingTime | |
| MemoryWS | |
| MemoryVB | |
| CPUProcess | |
| CPUMachine | |
| Max |
enum ECaptureCounter
| Values | Descriptions |
|---|---|
| TickCount | |
| DelayedTickCount | |
| LevelLoadCompleted | |
| Max |
class URH_PEXNetworkStats_Base
class URH_PEXNetworkStats_Base
: public URH_PEXStatGroup
Stat group for capturing whole-state network stats.
Summary
| Members | Descriptions |
|---|---|
public inline FORCEINLINE FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) | |
public inline FORCEINLINE const FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) const | |
public URH_PEXNetworkStats_Base() | |
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const | Fill in a API PEX host summary report with the summary data. |
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const | Fill in a API PEX client summary report with the summary data. |
enum ECaptureStat |
Members
public inline FORCEINLINE FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat)
public inline FORCEINLINE const FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) const
public URH_PEXNetworkStats_Base()
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const
Fill in a API PEX host summary report with the summary data.
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const
Fill in a API PEX client summary report with the summary data.
enum ECaptureStat
| Values | Descriptions |
|---|---|
| ConnectionCount | |
| Ping | |
| InPackets | |
| OutPackets | |
| TotalPackets | |
| InPacketsLost | |
| OutPacketsLost | |
| TotalPacketsLost | |
| InPacketLossPct | |
| OutPacketLossPct | |
| TotalPacketLossPct | |
| Max |
class URH_PEXNetworkStats_Global
class URH_PEXNetworkStats_Global
: public URH_PEXNetworkStats_Base
Stat group for capturing global network stats.
Summary
| Members | Descriptions |
|---|---|
public inline URH_PEXNetworkStats_Global() | |
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-second stats. |
Members
public inline URH_PEXNetworkStats_Global()
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-second stats.
class URH_PEXNetworkStats_Connection
class URH_PEXNetworkStats_Connection
: public URH_PEXNetworkStats_Base
Stat group for capturing per-player network stats.
Summary
| Members | Descriptions |
|---|---|
public TWeakObjectPtr< const UNetConnection > Connection | |
public inline URH_PEXNetworkStats_Connection() | |
public void InitForConnection(const UNetConnection * InConnection) | |
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-second stats. |
Members
public TWeakObjectPtr< const UNetConnection > Connection
public inline URH_PEXNetworkStats_Connection()
public void InitForConnection(const UNetConnection * InConnection)
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-second stats.
class URH_PEXNetworkStats_Host
class URH_PEXNetworkStats_Host
: public URH_PEXNetworkStats_Base
Stat group for capturing a group of player network stats.
Summary
| Members | Descriptions |
|---|---|
public TMap< FGuid, URH_PEXNetworkStats_Connection* >PlayerNetworkStats | Per-player network stats, only used by summary |
public inline URH_PEXNetworkStats_Host() | |
public virtual void GetOrCreatePlayerNetworkStats(const class UNetConnection * Connection,URH_PEXNetworkStats_Connection *& OutPlayerNetworkStats) | Get or create a player's network stats. |
public inline virtual void ResetSummary() | Reset the summary state of all stats. |
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const | Fill in a API PEX host summary report with the summary data. |
public virtual void EnsureConnectionTrackersExist(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | |
public virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-frame stats. |
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-second stats. |
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
Members
public TMap< FGuid, URH_PEXNetworkStats_Connection* >PlayerNetworkStats
Per-player network stats, only used by summary
public inline URH_PEXNetworkStats_Host()
public virtual void GetOrCreatePlayerNetworkStats(const class UNetConnection * Connection,URH_PEXNetworkStats_Connection *& OutPlayerNetworkStats)
Get or create a player's network stats.
public inline virtual void ResetSummary()
Reset the summary state of all stats.
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const
Fill in a API PEX host summary report with the summary data.
public virtual void EnsureConnectionTrackersExist(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
public virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-frame stats.
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-second stats.
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
class URH_PEXNetworkStats_Client
class URH_PEXNetworkStats_Client
: public URH_PEXNetworkStats_Connection
Stat group for capturing a group of client's connection to server's network stats.
Summary
| Members | Descriptions |
|---|---|
public inline URH_PEXNetworkStats_Client() | |
public virtual void EnsureConnectionTrackersExist(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | |
public virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-frame stats. |
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-second stats. |
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
Members
public inline URH_PEXNetworkStats_Client()
public virtual void EnsureConnectionTrackersExist(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
public virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-frame stats.
public virtual void CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-second stats.
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
class URH_PEXNetworkStats
class URH_PEXNetworkStats
: public URH_PEXStatGroup
Stat group for capturing local whole-state network stats, plus per-player stats.
Summary
| Members | Descriptions |
|---|---|
public URH_PEXNetworkStats_Global*GlobalNetworkStats | Global network stats, used by summary and timeline |
public URH_PEXNetworkStats_Client*ClientNetworkStats | Client's connection to host, only used by summary |
public URH_PEXNetworkStats_Host*HostNetworkStats | Host's connection to clients, only used by summary |
public URH_PEXNetworkStats() | |
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const | Fill in a API PEX host summary report with the summary data. |
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const | Fill in a API PEX client summary report with the summary data. |
Members
public URH_PEXNetworkStats_Global*GlobalNetworkStats
Global network stats, used by summary and timeline
public URH_PEXNetworkStats_Client*ClientNetworkStats
Client's connection to host, only used by summary
public URH_PEXNetworkStats_Host*HostNetworkStats
Host's connection to clients, only used by summary
public URH_PEXNetworkStats()
public inline virtual void GetPEXHostSummary(FRHAPI_PexHostRequest & Report) const
Fill in a API PEX host summary report with the summary data.
public inline virtual void GetPEXClientSummary(FRHAPI_PexClientRequest & Report) const
Fill in a API PEX client summary report with the summary data.
class URH_PEXGameStats
class URH_PEXGameStats
: public URH_PEXStatGroup
Stat group for capturing game stats.
Summary
| Members | Descriptions |
|---|---|
public inline FORCEINLINE FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) | |
public inline FORCEINLINE const FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) const | |
public URH_PEXGameStats() | |
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
enum ECaptureStat |
Members
public inline FORCEINLINE FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat)
public inline FORCEINLINE const FRH_StatAccumulator&GetCaptureStat(ECaptureStat Stat) const
public URH_PEXGameStats()
public virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
enum ECaptureStat
| Values | Descriptions |
|---|---|
| PlayerControllerCount | |
| AIControllerCount | |
| PawnCount | |
| Max |
class URH_PEXBlueprintableStats
class URH_PEXBlueprintableStats
: public URH_PEXStatGroup
Blueprintable stat group for capturing stats.
Summary
| Members | Descriptions |
|---|---|
public inline URH_PEXBlueprintableStats() | |
public inline virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-frame stats. |
public inline virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | Capture once-per-interval stats. |
public void BLUEPRINT_CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | |
public void BLUEPRINT_CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner) | |
public inline void CaptureStatValue(FName StatName,float Value) | |
public inline void CaptureCounterValue(FName StatName,float Value) |
Members
public inline URH_PEXBlueprintableStats()
public inline virtual void CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-frame stats.
public inline virtual void CapturePerIntervalStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
Capture once-per-interval stats.
public void BLUEPRINT_CapturePerFrameStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
public void BLUEPRINT_CapturePerSecondStats(const TScriptInterface< IRH_PEXOwnerInterface > & Owner)
public inline void CaptureStatValue(FName StatName,float Value)
public inline void CaptureCounterValue(FName StatName,float Value)
class URH_PEXCollectorConfig_Test
class URH_PEXCollectorConfig_Test
: public URH_PEXCollectorConfig_Host
Summary
| Members | Descriptions |
|---|
Members
class URH_TestPEXOwner
class URH_TestPEXOwner
: public UObject
: public IRH_PEXOwnerInterface
Summary
| Members | Descriptions |
|---|---|
public FGuid PlayerId | |
public FString MatchId | |
public bool bSendReportsToAPI | |
public mutable TOptional< FRHAPI_PexClientRequest>ClientReport | |
public mutable TOptional< FRHAPI_PexHostRequest>HostReport | |
public inline URH_TestPEXOwner() | |
public inline virtual UEngine * GetPEXEngine() const | |
public inline virtual UWorld * GetPEXWorld() const | |
public inline virtual FString GetPEXMatchId() const | |
public inline virtual FGuid GetPEXPlayerId() const | |
public inline virtual FRH_RemoteFileApiDirectory GetPEXRemoteFileDirectory() const | |
public inline virtual bool GetPEXIsHost() const | |
public virtual void SubmitPEXHostSummary(FRHAPI_PexHostRequest && Report) const | |
public virtual void SubmitPEXClientSummary(FRHAPI_PexClientRequest && Report) const | |
public virtual void ValidateReports(FAutomationTestBase * Test,const URH_PEXCollectorConfig * Config) const |
Members
public FGuid PlayerId
public FString MatchId
public bool bSendReportsToAPI
public mutable TOptional< FRHAPI_PexClientRequest>ClientReport
public mutable TOptional< FRHAPI_PexHostRequest>HostReport
public inline URH_TestPEXOwner()
public inline virtual UEngine * GetPEXEngine() const
public inline virtual UWorld * GetPEXWorld() const
public inline virtual FString GetPEXMatchId() const
public inline virtual FGuid GetPEXPlayerId() const
public inline virtual FRH_RemoteFileApiDirectory GetPEXRemoteFileDirectory() const
public inline virtual bool GetPEXIsHost() const
public virtual void SubmitPEXHostSummary(FRHAPI_PexHostRequest && Report) const
public virtual void SubmitPEXClientSummary(FRHAPI_PexClientRequest && Report) const
public virtual void ValidateReports(FAutomationTestBase * Test,const URH_PEXCollectorConfig * Config) const
struct FRH_PEXStatState
State of the accumulated stat.
Summary
| Members | Descriptions |
|---|---|
public float Current | Current value. |
public float Min | Minimum value. |
public float Max | Maximum value. |
public float Avg | Average value. |
public float Sum | Sum of values. |
public float SumOfSquares | Sum of squared values. |
public float Variance | Variance of values. |
public int32 Count | Count of values. |
public inline FRH_PEXStatState() | |
public inline void Reset() | Reset the state to defaults. |
public inline void AddValue(float Value) | Add a value to the accumulator. |
public inline void MergeAddValue(const FRH_PEXStatState & Other) | Merge another stat state into this one. |
public inline void UpdateSummary(const FRH_PEXStatState & CurrentState) | Update the summary state with the current state. |
Members
public float Current
Current value.
public float Min
Minimum value.
public float Max
Maximum value.
public float Avg
Average value.
public float Sum
Sum of values.
public float SumOfSquares
Sum of squared values.
public float Variance
Variance of values.
public int32 Count
Count of values.
public inline FRH_PEXStatState()
public inline void Reset()
Reset the state to defaults.
public inline void AddValue(float Value)
Add a value to the accumulator.
public inline void MergeAddValue(const FRH_PEXStatState & Other)
Merge another stat state into this one.
public inline void UpdateSummary(const FRH_PEXStatState & CurrentState)
Update the summary state with the current state.
struct FRH_StatAccumulator
Simple accumulator that represents a captured statistic. Tracks min, max, average, and other values internally without having to store all values.
Summary
| Members | Descriptions |
|---|---|
public FName Name | Name of the stat. |
public ERH_PEXValueType TimelineValueType | Type of value to record for timeline file (which value from the capture state is used to build the timeline data) |
public FRH_PEXStatState CaptureState | State of the stat for the current capture. |
public FRH_PEXStatState SummaryState | State of the stat for the summary. |
public inline FRH_StatAccumulator() | Constructor. |
public inline FRH_StatAccumulator(FName InName,ERH_PEXValueType InTimelineValueType) | Constructor. |
public inline void ResetCapture() | Reset the capture state. |
public inline void ResetSummary() | Reset the summary state. |
public inline void CaptureValue(float Value) | Add a value to the accumulator. |
public inline void IncrementCaptureValue(float IncrementBy) | Increment the capture state's current value by 1 and recapture. |
public inline void CaptureSummaryValue() | Capture the current value into the summary state. |
public inline FName GetName() const | Get the name of the stat. |
public inline float GetTimelineValue() const | Get the value of the stat to be recorded in the timeline. |
public inline TSharedPtr< FJsonObject > GetSummaryJson(bool bIncludeName) const | Get a JSON object representing the summary data. |
public inline bool GetPexStat(FRHAPI_PexStat & PexStat) const | Get a PexStat object representing the summary data. |
Members
public FName Name
Name of the stat.
public ERH_PEXValueType TimelineValueType
Type of value to record for timeline file (which value from the capture state is used to build the timeline data)
public FRH_PEXStatState CaptureState
State of the stat for the current capture.
public FRH_PEXStatState SummaryState
State of the stat for the summary.
public inline FRH_StatAccumulator()
Constructor.
public inline FRH_StatAccumulator(FName InName,ERH_PEXValueType InTimelineValueType)
Constructor.
public inline void ResetCapture()
Reset the capture state.
public inline void ResetSummary()
Reset the summary state.
public inline void CaptureValue(float Value)
Add a value to the accumulator.
public inline void IncrementCaptureValue(float IncrementBy)
Increment the capture state's current value by 1 and recapture.
Parameters
IncrementByThe amount to increment the current value by (default is 1.0)
public inline void CaptureSummaryValue()
Capture the current value into the summary state.
public inline FName GetName() const
Get the name of the stat.
public inline float GetTimelineValue() const
Get the value of the stat to be recorded in the timeline.
public inline TSharedPtr< FJsonObject > GetSummaryJson(bool bIncludeName) const
Get a JSON object representing the summary data.
public inline bool GetPexStat(FRHAPI_PexStat & PexStat) const
Get a PexStat object representing the summary data.
struct FRH_StatCounter
Simple counter that represents a captured statistic. Tracks current value, and tracks summary data.
Summary
| Members | Descriptions |
|---|---|
public FName Name | Name of the stat. |
public float Current | State of the stat for the current capture. |
public FRH_PEXStatState SummaryState | State of the stat for the summary. |
public inline FRH_StatCounter() | Constructor. |
public inline FRH_StatCounter(FName InName) | Constructor. |
public inline void ResetCapture() | Reset the capture state. |
public inline void ResetSummary() | Reset the summary state. |
public inline void CaptureValue(float Value) | Add a value to the accumulator. |
public inline void IncrementCaptureValue(float IncrementBy) | Increment the capture state's current value by 1 and recapture. |
public inline void CaptureSummaryValue() | Capture the current value into the summary state. |
public inline FName GetName() const | Get the name of the stat. |
public inline float GetTimelineValue() const | Get the value of the stat to be recorded in the timeline. |
public inline TSharedPtr< FJsonObject > GetSummaryJson(bool bIncludeName) const | Get a JSON object representing the summary data. |
public inline bool GetPexStat(FRHAPI_PexStat & PexStat) const | Get a PexStat object representing the summary data. |
Members
public FName Name
Name of the stat.
public float Current
State of the stat for the current capture.
public FRH_PEXStatState SummaryState
State of the stat for the summary.
public inline FRH_StatCounter()
Constructor.
public inline FRH_StatCounter(FName InName)
Constructor.
public inline void ResetCapture()
Reset the capture state.
public inline void ResetSummary()
Reset the summary state.
public inline void CaptureValue(float Value)
Add a value to the accumulator.
public inline void IncrementCaptureValue(float IncrementBy)
Increment the capture state's current value by 1 and recapture.
Parameters
IncrementByThe amount to increment the current value by (default is 1.0)
public inline void CaptureSummaryValue()
Capture the current value into the summary state.
public inline FName GetName() const
Get the name of the stat.
public inline float GetTimelineValue() const
Get the value of the stat to be recorded in the timeline.
public inline TSharedPtr< FJsonObject > GetSummaryJson(bool bIncludeName) const
Get a JSON object representing the summary data.
public inline bool GetPexStat(FRHAPI_PexStat & PexStat) const
Get a PexStat object representing the summary data.