Ark Server API (ASA) - Wiki
|
#include <ThreadHeartBeat.h>
Classes | |
struct | FHeartBeatInfo |
Public Types | |
enum | EConstants { InvalidThreadId = (uint32)-1 , PresentThreadId = (uint32)-2 } |
Static Public Member Functions | |
static FThreadHeartBeat & | Get () |
static FThreadHeartBeat * | GetNoInit () |
Private Member Functions | |
FThreadHeartBeat () | |
virtual | ~FThreadHeartBeat () |
void | InitSettings () |
void FORCENOINLINE | OnHang (double HangDuration, uint32 ThreadThatHung) |
void FORCENOINLINE | OnPresentHang (double HangDuration) |
bool | IsEnabled () |
Static Private Attributes | |
static FThreadHeartBeat * | Singleton |
Thread heartbeat check class. Used by crash handling code to check for hangs.
Definition at line 52 of file ThreadHeartBeat.h.
Enumerator | |
---|---|
InvalidThreadId | Invalid thread Id used by CheckHeartBeat |
PresentThreadId | Id used to track presented frames (supported platforms only). |
Definition at line 165 of file ThreadHeartBeat.h.
|
private |
Called by a supervising thread to check all function calls' being monitored health
Called by a supervising thread to check the threads' health
|
static |
Gets the heartbeat singleton
|
inline |
Definition at line 258 of file ThreadHeartBeat.h.
|
inline |
Definition at line 232 of file ThreadHeartBeat.h.
|
inline |
Definition at line 238 of file ThreadHeartBeat.h.
|
static |
|
inline |
Definition at line 252 of file ThreadHeartBeat.h.
|
inline |
Definition at line 243 of file ThreadHeartBeat.h.
|
inline |
Definition at line 244 of file ThreadHeartBeat.h.
Called from a thread once per frame to update the heartbeat time
|
private |
bool FThreadHeartBeat::IsBeating | ( | ) |
Returns true/false if this thread is currently performing heartbeat monitoring
|
private |
void FThreadHeartBeat::KillHeartBeat | ( | ) |
Called by a thread when it's no longer expecting to be ticked
void FThreadHeartBeat::MonitorFunctionEnd | ( | ) |
Called by a thread when a function has completed and no longer needs to be monitored
void FThreadHeartBeat::MonitorFunctionStart | ( | ) |
Called from a thread once on entry to a function to be monitored
|
private |
|
private |
void FThreadHeartBeat::PresentFrame | ( | ) |
Called from the rendering or RHI thread when the platform RHI presents a frame (supported platforms only).
Resume heartbeat measuring for the current thread
bAllThreads | If true, resumes heartbeat for all threads, not only the current one |
Sets a multiplier to the hang duration (>= 1.0). Can be used to extend the duration during loading screens etc.
void FThreadHeartBeat::Start | ( | ) |
Begin measuring heartbeat
Suspend heartbeat measuring for the current thread if the thread has already had a heartbeat
bAllThreads | If true, suspends heartbeat for all threads, not only the current one |
|
privatevirtual |
|
private |
Definition at line 140 of file ThreadHeartBeat.h.
|
private |
True if heartbeat should be measured
Definition at line 122 of file ThreadHeartBeat.h.
|
private |
Keeps track of the last heartbeat time for a checkpoint
Definition at line 119 of file ThreadHeartBeat.h.
|
private |
Synch object for the checkpoint heartbeat
Definition at line 117 of file ThreadHeartBeat.h.
|
private |
Definition at line 143 of file ThreadHeartBeat.h.
|
private |
Definition at line 145 of file ThreadHeartBeat.h.
|
private |
Max time the thread is allowed to not send the heartbeat
Definition at line 124 of file ThreadHeartBeat.h.
|
private |
Definition at line 126 of file ThreadHeartBeat.h.
|
private |
Definition at line 128 of file ThreadHeartBeat.h.
|
private |
Definition at line 125 of file ThreadHeartBeat.h.
|
private |
Definition at line 127 of file ThreadHeartBeat.h.
|
private |
Definition at line 129 of file ThreadHeartBeat.h.
|
private |
Keeps track of the last heartbeat time for a function, can't be nested
Definition at line 114 of file ThreadHeartBeat.h.
|
private |
Synch object for the function heartbeat
Definition at line 112 of file ThreadHeartBeat.h.
|
private |
Definition at line 142 of file ThreadHeartBeat.h.
|
private |
Definition at line 131 of file ThreadHeartBeat.h.
|
private |
Synch object for the heartbeat
Definition at line 105 of file ThreadHeartBeat.h.
|
private |
CRC of the last hang's callstack
Definition at line 134 of file ThreadHeartBeat.h.
|
private |
Id of the last thread that hung
Definition at line 136 of file ThreadHeartBeat.h.
|
private |
Definition at line 138 of file ThreadHeartBeat.h.
|
private |
Definition at line 150 of file ThreadHeartBeat.h.
|
private |
Definition at line 147 of file ThreadHeartBeat.h.
|
private |
Definition at line 148 of file ThreadHeartBeat.h.
|
private |
The last heartbeat time for the rendering or RHI thread frame present.
Definition at line 109 of file ThreadHeartBeat.h.
|
staticprivate |
Definition at line 54 of file ThreadHeartBeat.h.
|
private |
Stops this thread
Definition at line 103 of file ThreadHeartBeat.h.
|
private |
Thread to run the worker FRunnable on
Definition at line 101 of file ThreadHeartBeat.h.
|
private |
Keeps track of the last heartbeat time for threads
Definition at line 107 of file ThreadHeartBeat.h.