I am trying to track CPU usage of our build script and of all the processes it spawns to accomplish the task of creating a release. I ran a
procmon64.exe (with profiling) session during the course of a successful release build and saved the resulting
.pml file. I later started
procmon /noconnect and loaded the
.pml file to do analysis.
In the tools menu, I select the
process tree and find the initial invocation of powershell.exe that runs our script. With that parent process selected, I add it and all its child process PID's to the filter. Thus I have a filter that consists exclusively of a list of PID includes.
This all works fine and the filtered process events are exactly the selection I expect and want.
Now I want to know (and log) the total CPU time spent by each process. In the
Tools menu, I select
Process Activity Summary. I think this is intended to give a summary of various process activity statistics, for all "processes generating events during trace" that are selected by the filter. Except it doesn't. Of 170 PIDs in the filter, it shows summaries for only 6. It seems the only PIDs for which it will generate a summary are those which were still running when procmon was closed, i.e. those with no "exited" time.
What can I do to get summaries of all the processes I am filtering for?