Commit Graph

99 Commits

Author SHA1 Message Date
laura hermanns
1d344a72de [UBA] Add breadcrumbs to UBA trace files.
This change adds a new field to the ProcessStartInfo struct in UBA trace files for a description of the task, called "breadcrumbs" which allow to diagnose and backtrace the origin of a UBA task.
This is also hooked up to the distributed shader compilation (added as new field in FTaskCommandData) and a descriptive string is generated for each shader compile job batch.
UbaVisualizer is updated accordingly to integrate this new data when hovering over a task in the timeline.
This feature can be enabled via the new CVar "r.ShaderCompiler.DistributedJobDescriptionLevel" with values 0 (Disabled), 1 (Basic information), 2 (Adds shader format to each job). It's disabled by default.

#rb dan.elksnitis, henrik.karlsson
#rnx

[CL 36346831 by laura hermanns in 5.5 branch]
2024-09-17 15:08:58 -04:00
henrik karlsson
500480981e [UBA]
* Fixed so MoveFile/CopyFile works with child processes. Now parent's "writtenfiles" is read from child process upon start
* Fixed some bugs related to spawning child processes with poorly formatted paths
* Fixed hang if parent process crashes after starting child process

[CL 35982637 by henrik karlsson in ue5-main branch]
2024-09-03 17:11:48 -04:00
henrik karlsson
c7d6545402 [UBA]
* Added HostRun command which can be used to send commands from remotes to host. command will return stdout

[CL 35946269 by henrik karlsson in ue5-main branch]
2024-08-30 22:52:40 -04:00
henrik karlsson
c5c34e8931 [UBA]
* Fixed so code parsing dylib dependencies work properly on mac. dylibs in other folders are not properly transferred to the remote helper

[CL 35904599 by henrik karlsson in ue5-main branch]
2024-08-29 15:36:22 -04:00
henrik karlsson
b69a6aac9f [UBA]
* Added wip code for figuring out search paths for explicitly loaded dylibs

[CL 35902097 by henrik karlsson in ue5-main branch]
2024-08-29 14:43:37 -04:00
henrik karlsson
1d96437132 [UBA]
* Added logging to track processes (disabled by default)

[CL 35882129 by henrik karlsson in ue5-main branch]
2024-08-28 17:48:47 -04:00
henrik karlsson
b22b0fb670 [UBA]
* Fixed code parsing binary dylib dependencies. still WIP

[CL 35876959 by henrik karlsson in ue5-main branch]
2024-08-28 15:09:57 -04:00
henrik karlsson
4ebc532c56 [UBA]
* Added stubs and code to parse mac binaries for dependencies

[CL 35855815 by henrik karlsson in ue5-main branch]
2024-08-28 02:41:57 -04:00
henrik karlsson
c0495be98b [UBA]
* Changed GetComputerName to GetComputerNameW

[CL 35791370 by henrik karlsson in ue5-main branch]
2024-08-25 01:25:53 -04:00
henrik karlsson
184b5a4af7 [UBA]
* Added zones to some special computer names. Will be removed once environment variables are set

[CL 35791353 by henrik karlsson in ue5-main branch]
2024-08-25 01:23:53 -04:00
henrik karlsson
38bdfa5570 [UBA]
* Added UBA_DETOURED=1 environment variable to environment for detoured processes so applications can query if they are detoured or not

[CL 35745179 by henrik karlsson in ue5-main branch]
2024-08-22 12:42:41 -04:00
henrik karlsson
cbf95ade12 [UBA]
* Added support for reading symbols out of import libraries
* Fixed so objfiletool supports compressed obj files
* Minor cleanup in FileAccessor

[CL 35610806 by henrik karlsson in ue5-main branch]
2024-08-16 18:47:18 -04:00
henrik karlsson
44829a17b0 [UBA]
* Added support for parsing LLVM IR stream obj files and extracing import/export symbols plus clearing out export symbols
* Added support for writing import libs from list of exported symbols
* Some fixes around extract symbol feature when writing obj files

[CL 35600934 by henrik karlsson in ue5-main branch]
2024-08-16 14:05:39 -04:00
henrik karlsson
792cf9c4ee [UBA]
* Fixed so temporary files stored in memory is properly updated when created in process, written to in child process and read in parent process.
* Changed so stdin/out/err are different handle types and fixed up code around this
* Fixed so ispc.exe handles extract import/export when building for non-windows

[CL 35254952 by henrik karlsson in ue5-main branch]
2024-08-01 15:54:38 -04:00
henrik karlsson
fd7243a7c8 [UBA]
* More info added to some error message related to decompressing memory to memory

[CL 35058731 by henrik karlsson in ue5-main branch]
2024-07-24 13:17:08 -04:00
henrik karlsson
30d52e7d23 [UBA]
* Fixed another linux compile error

[CL 34859460 by henrik karlsson in ue5-main branch]
2024-07-16 21:59:03 -04:00
henrik karlsson
803292b07a [UBA]
* Added -config=<file> support to UbaVisualizer
* Added "GetOwnerInfo" which can be used to get id and pid for owner.. right now devenv.exe is the only tracked owner but can add support for more applications
* Fixed so both trace name and default config name is affected by owner info.. this means a UbaVisualizer launched from inside visual studio will use a different config file
* Fixed bugs related to replays of active trace in visualizer

[CL 34852915 by henrik karlsson in ue5-main branch]
2024-07-16 16:27:53 -04:00
henrik karlsson
185460fe91 [UBA]
* Added "active processes" view in visualizer. Easier to get an overview
* Changed so session stats is written into trace file as soon as possible
* Added support for some more types in config file add/write
* Added dedicated path for updateProgress into session in order to minimize trace file and have custom rendering for progress
* Added support for changing font size in visualizer
* Added option to enable autosaving settings in visualizer
* Fixed so it is possible to jump around in active named trace in UbaVisualizer
* Added hyperlink support ro status update so user can click on the text to follow the link

[CL 34827240 by henrik karlsson in ue5-main branch]
2024-07-15 17:13:18 -04:00
henrik karlsson
8398f0edb2 [UBA]
* Changed so code getting processor frequency uses registry instead of CallNtPowerInformation since we want a number that is the same every time and CallNtPowerInformation + MaxMhz does not do that

[CL 34789007 by henrik karlsson in ue5-main branch]
2024-07-09 13:15:32 -04:00
henrik karlsson
88e6f424f7 [UBA]
* Fixed naming of log files when produced by remote sessions. Now suffix is using process id instead of counter number
* Removed m_id from Session (not used)
* Added so Scheduler MaxLocalProcessors can be controlled from config files

[CL 34781250 by henrik karlsson in ue5-main branch]
2024-07-07 15:08:15 -04:00
henrik karlsson
1bd7940eef [UBA]
* Fixed so bad file path entries are not saved to casdb file
* Added so allow proxy can be set from config files
* Added assert for if bad files have entered the cas entry directory on disk

[CL 34476627 by henrik karlsson in ue5-main branch]
2024-06-18 16:23:41 -04:00
henrik karlsson
5a015c6dc4 [UBA]
* Added so remote helpers register output files to file mapping in case there are child processes that wants to read the output of parent processes

[CL 34397713 by henrik karlsson in ue5-main branch]
2024-06-15 15:30:22 -04:00
henrik karlsson
f1ee094c7e [UBA]
* Fix for when absolute path was sent in to SearchPathForFile

[CL 34394134 by henrik karlsson in ue5-main branch]
2024-06-15 03:26:48 -04:00
henrik karlsson
978134e2bf [UBA]
* Changed so ProcessStartupInfoHolder inherits from ProcessStartupInfo

[CL 34393813 by henrik karlsson in ue5-main branch]
2024-06-15 01:56:18 -04:00
henrik karlsson
438fb65734 [UBA]
* Exposed more options out through creation structs and configs

[CL 34393761 by henrik karlsson in ue5-main branch]
2024-06-15 01:35:47 -04:00