* Fixed so visualizer can visualize traces coming from UbaCli without needing restart
* Added some more logging to cache server maintenance
* Fixed scroll wheel zoom in visualizer
* Fixed so network server DisconnectClients does not put server in a bad state
[CL 34213980 by henrik karlsson in ue5-main branch]
* Renamed system stats to kernel stats
* Changed all stats storing to use bitfield first to say which fields that are non-zero
[CL 34058881 by henrik karlsson in ue5-main branch]
* Added stats tracking for get file attributes to get more information on what is stalling on the farm
* Enabled storage and system stats for cache misses
[CL 34020773 by henrik karlsson in ue5-main branch]
* Fixed deadlock that could happen when lots of clients are connecting while maintenance is running
* Added UbaCli -cachecommand=<cmd> that can be used to query status of cache service
* Fixed code setting compressed byte on caskey to only use a bit
* Changed so a bit on the caskey can tell if a file is normalized or not
* Added stats for writing to cache to trace file
*
[CL 33880362 by henrik karlsson in ue5-main branch]
* Fixed bug in cache client where it could create a caskey for a file that should always go through ShouldNormalize that matches caskey of non-normalized file
* Added timers around traverse directory calls to be able to see how much time that is spent in traversing directories
[CL 33855227 by henrik karlsson in ue5-main branch]
* Fixed serious bug related to child processes on helper machines getting process ids that collides with ids of root processes coming from server
* Fixed bug in trace reader causing reusable processes to get no stats
* Added good-to-have asserts
[CL 33064711 by henrik karlsson in ue5-main branch]
* Implemented V1 of CompactPathTable which instead stores string segments separately.. Reduces the size table by ~30%.. slightly slower perf
* Added "RootPaths" which is a class that holds a list of root paths needed to normalize paths into non-environment dependent paths
* Added stats for cache that visualizes properly in visualizer
* Changed hash functions to have better quality
* Cleaned up code visualizing stats in visualizer.. now boxes popping up should have a nice matching size to strings
* Cleaned up UbaExports and formatted all functions the same way.. old are deprecated and will be removed once new binaries are in
[CL 32922089 by henrik karlsson in ue5-main branch]
* Huge stability push... all (known) paths have been tested heavily on linux with tsan and every single found race condition report has been fixed. Lots of locks have been added/moved/changed and some instances of things have been leaked on purpose to prevent tsan reports during shutdown
* More efficient storage proxy implementation which immediately forward segments to clients once they are available in proxy
* Added UbaAgent -command=x which can be used to send commands to host. Supported commands are "status"which prints out status of all remote sessions. "abort/abortproxy/abortnonproxy" that can be used to abort remote sessions and "disableremote" to have host stop accepting more helpers
* Fixed scheduler::stop bug if remotes were still requesting processes
* Added support for process reuse on linux/macos
* Added support for Coordinator interface and dynamically load coordinator dll in UbaCli
* Restructured code a little bit to be able to queue up all writes in parallel
* Added Show create/write colors to visualizer (defaults to on)
* Fixed so write file times are visualized in visualizer
* Improved socket path for visualizer
* Improved a lot of error messages
* Fixed double close of memory handle in StorageServer
* Changed some ScopedWriteLock to SCOPED_WRITE_LOCK (same for read locks)
* Fixed some missing cleanup of trace view when starting a new trace view in visualizer
[CL 32137083 by henrik karlsson in ue5-main branch]
* Added session notification message to be able to see why client is about to go away.. hopefully this will help us identify if there are crashes happening on remotes that we don't track
* Added ApplicationRules::AllowStorageProxy and changed so .obj files are never going through the storage proxy on fetch (they are only read by one process so no point feeding them through the proxy
* Fixed the file write-through code and gave the #if 0 a name (#if UBA_USE_WRITE_THROUGH).. still disabled since it didn't give any benefits enabling it
[CL 32025069 by henrik karlsson in ue5-main branch]
* Fixed so visualizer does not crash with version 21 traces that contains log messages that have over 100 lines
[CL 31900281 by henrik karlsson in ue5-main branch]
* Fixed crash in UbaVisualizer when jumping back and forth in traces hitting edge cases with multiple sessions. Code was not cleaning up after itself properly
[CL 31511180 by henrik karlsson in ue5-main branch]
* Added hint to unmapfileview to be able to add useful information to asserts on fails
* Added error handling for vsnprintf returning error
* Fixed memory stomp in unit test
* Removed usage of %hs on non-windows since asan complains about it
* Changed UBA_USE_MIMALLOC to always be defined and be 0 or 1 instead of using ifdef
* Enabled mimalloc on linux
[CL 31355077 by henrik karlsson in ue5-main branch]
* Added support for custom text in trace/visualizer... can be used to report things like horde status etc
[CL 31118070 by henrik karlsson in ue5-main branch]
* Added so in-process proxy can use storage of client
* Fixed reset of trace reader
* Fixed annoying warnings when closing invalid sockets
[CL 30667316 by henrik karlsson in ue5-main branch]
* Fixed visualizer drawing lines between two sessions started from the same client
* Removed the "- Disconnected" entries where client was disconnected super early before any information was available
[CL 30526213 by henrik karlsson in ue5-main branch]
* Added popup menu on right mouse click
* Added so it is possible to save active visualizing session
[CL 30509401 by henrik karlsson in ue5-main branch]
* Implemented process reuse logic in UbaScheduler. It is now possible for running processes to fetch more work
* Fixed bugs in custom message path
* Fixed bugs in FlushWrittenFiles message
* Changed So UpdateEnvironment is resetting stats
* Fixed potential race condition related to process reuse
* Added special rule for ShaderCompileWorker.exe which detours ImageGetDigestStream in Imagehlp.dll (because wine implementation does not match windows implementation)
* Renamed "exitedUserData" to just userData since it is used for more than when exiting process
* Added a couple more dlls to "known system dlls"
* Fixed so visualizer can visualize process reuse properly
[CL 30462059 by henrik karlsson in ue5-main branch]
* Fixed bug in listen flow so it sometimes didn't pick up new traces.
* Fixed annoying messagebox that popped up when starting listen session sometimes
[CL 30406947 by henrik karlsson in ue5-main branch]