Hello Melissa,
One thing that could be tried is to use the "Windows Performance Recorder" (WPR) to capture information about system performance. The captured information would probably need to be shared (e.g. here) because it is difficult to interpret.
A command line interface to "Windows Performance Recorder" is included in the basic Windows installation; a tool for examining the captured data ("Windows Performance Analyzer" (WPA)) can be downloaded.
I would suggest issuing the command "wpr -start GeneralProfile" to start a capture, then starting an application that is slow to start but does not take too long and finally stopping the capture with the command "wpr -stop why.etl -skipPdbGen" (the file "why.etl" will be created and contain the trace data).
I tried the above, with about 30 seconds elapsed time between the start and stop steps; this produced a why.etl file about 200 megabytes in size - hence the wish to keep the trace period short.
There may be confidentiality concerns about sharing the trace data.
This might also be only the first step of a lengthy diagnosis process. The command "wpr -profiles" shows a list of the predefined trace "profiles"; the output starts like this (with my bold emphasis):
**GeneralProfile First level triage**
CPU CPU usage
DiskIO Disk I/O activity
FileIO File I/O activity
Registry Registry I/O activity
Network Networking I/O activity
Heap Heap usage
Pool Pool usage
VirtualAllocation VirtualAlloc usage
Audio Audio glitches
Video Video glitches
Power Power usage
Even though the trace data will probably be voluminous, the data is intended as a "first level triage" to give a rough indication of potential performance issues when one has no a priori knowledge that could be used to focus the troubleshooting process.
Gary