* Removed internal state tracking connection status. This was causing many problems because connections could be severed inside TraceLog without TraceAuxiliary knowing about it causing a mismatch in state.
* Wrapped trace destination and connection type state in struct and added guards for thread safety.
* Deprecated method to access trace destination as char array.
#preflight 647721f9947ff6973c8b4bb0
[CL 25699206 by Johan Berg in ue5-main branch]
Standalone servers have been submitted for all desktop platform. Disable hosted trace store everywhere and enable launching of the server.
#rb ionut.matasaru
#preflight 64749db03535a898de7c1983
[CL 25663303 by Johan Berg in ue5-main branch]
Added GetArrayHash() for hashing arrays by their contents.
Added a new pair of keyfuncs for TSets and TMaps which allow TCHAR* keys (or TCHAR* values passed to *ByHash functions) to be hashed by FCrc::Strihash_DEPRECATED().
#rb devin.doucette
#preflight 64708e7c296b2b37c6fd894a
[CL 25647216 by steve robb in ue5-main branch]
Exposes a variant of the the IsConnected method that also outputs the current session and trace guid. Also prints the current session and trace guids in the status message.
#rb martin.ridgers
#rnx
#preflight 6458b30e9f47682963d55ad4
[CL 25368367 by Johan Berg in ue5-main branch]
Previously we used project name rather than app name if it was available. However app name is needed to look up target binary is certain cases.
#rb ionut.matasaru
#jira UE-138503
#preflight 6437fa7feb6cd0e63af26946
[CL 25023785 by Johan Berg in ue5-main branch]
- Detect duplicate start/stop capture requests. If a Start or Stop request is already pending as the next command in the queue, disregard repeat requests and emit a warning. This avoids an edge case where duplicate EndCapture calls would cause old metadata to be emitted
- Add IsEndCapturePending() method so calling code can check if there's a pending EndCapture before calling EndCapture (instead of just checking IsCapturing, which will be true if an EndCapture is pending).
[CL 25018952 by ben woodhouse in ue5-main branch]
- Minimize duration of locks around FStallDetector and FStallDetectorStats instances
- Remove some public access to FStallDetector and FStallDetectorStats instances and synchronization around them
- Remove Stat from UE::FStallDetectorStats::TabulatedResult for thread safety in case of stat lifetime ending (e.g. thread shutdown)
- Fire callbacks & call ReportStall outside of locks
- Add backtrace to stall detected callback
- Only fire 'stall detected' from background thread, only fire 'stall completed' from stalling thread
- Change delegates to threadsafe versions
- Add checks for length of stall scope name
- Execute ReportStall in a task
#rb francis.hurteau,logan.buchy
#jira UE-179587
[CL 24920944 by robert millar in ue5-main branch]
* The subsystem adds a new toolbar widget in the level editor which changes to a notified state when a stall is detected.
* Clicking the widget brings up a tab with a table of the detected stall history. Each stall has some information that can be copied to a clipboard for users to dump the data into a issue ticket or chat message.
* NOTE: Currently iconography is all placeholders. Need UX pass to improve.
#jira UE-174529
#rb Brooke.Hubert
#preflight 6414f70632723d4a2081491c
#preflight 64189fb032723d4a204d20ac
[CL 24724541 by logan buchy in ue5-main branch]
Add the argument to many but not all callsites.
#jira FORT-578919
#rnx
#rb Devin.Doucette
#preflight 6414ca9d691c5ebc15b30410
[CL 24696053 by Matt Peters in ue5-main branch]