Yes, there should be documentation somewhere to help understand what the information mean.. but meanwhile, here are some short things
“Detours stats” - These are essentially timers around calls that go from detoured process (cl.exe etc) to host process. So cl.exe calls “CreateFile”, detoured code calls host process with a timer around it. ListDirectory is the same. The process calls FindFirstFile/FindNextFile etc, the timer is around the call to the host process.
If a “Total” detoured time takes 10seconds and Duration of process is 6 minutes.. then it simply means that the program itself spends 5min50seconds on doing whatever it is doing… totally unrelated to uba. To say that UBA’s “overhead” is 10 seconds is not exactly correct because those timers would have ended up being kernel calls instead… so the overhead is less than 10s.. but for the sake of simplicity we can say UBA had an overhead of 10 seconds.
“Session stats” - This is the time spent on some things inside the host process when called through Detours stats… so in your picture above, “ListDirectory” was called 4 times and took 21.9 seconds.. on the host process side this turned into 4 ListDirMsg (networked messages to the server) which took 8.9s…
“Storage stats” - kind of same as session stats but for the storage.
As an example
CreateFileW is called from cl.exe, enters UBA’s code (UbaDetours.dll) instead of kernel
UbaDetours.dll do CreateFile rpc to host process (UbaAgent.exe in this case)
UbaAgent.exe might send a “GetFileMsg” to get the hash of the file it wants to open
If UbaAgent does not have the file it then call EnsureCas which will download the file from the UBT process
So the time spent in CreateFile is an accumulated value of multiple things inside Storage and Session stats.
Kernel stats is timers around the actual calls to the kernel.
The time spent in the XxMsg under session stats is directly affected by network latency/bandwidth but also how busy the server is… it is impossible for me to say which one it is. It is strange that GetFileMsg is quite fast and ListDirMsg is slow.. maybe if I had the full .uba file I would be able to give some hints on where to look.
Sending files back to the server seems extremely slow. it takes 117 seconds to send 4.2mb… either it is network or the server is just choked. On our build farm our build machines often don’t manage to keep up and stall like crazy on I/O… that usually cause numbers like this. We are using some AWS instances with only 250mb/s write speed and low IOPS.. so usually the build machines is the bottleneck.
[Attachment Removed]