It's currently difficult to understand the time spent in the master from it's subs, which wasn't possible with the old PerfLog system. The PerfGraph system can now store timing per app so we need to start taking advantage of that capability.
Description
When looking at PerfGraph outputs for a MultiApp run, it's a little bit tricky to understand where some of the time is going. While the individual graphs do show time for their respective subapps. There's a significant amount of time spent in another app which isn't accounted for in a single location in the PerfGraph making it difficult to understand if the application is doing something slowly (like evaluating UserObjects) or if it's just waiting on a master/sub.
As a start, each app should time the amount spent calling down to the sub. This would tell us which percentage to ignore out of the whole for the master. Dealing with the PerfGraph from the sub is a little more difficult though. It's a little more difficult to tell how much time is spent in the parent application versus "this" application. We might think about ways of pausing timers or subtracting time spent in other areas away from the total time.
Impact
Making PerfGraph more easy to understand for complex multiphysics runs.
Rationale
It's currently difficult to understand the time spent in the master from it's subs, which wasn't possible with the old PerfLog system. The PerfGraph system can now store timing per app so we need to start taking advantage of that capability.
Description
When looking at PerfGraph outputs for a MultiApp run, it's a little bit tricky to understand where some of the time is going. While the individual graphs do show time for their respective subapps. There's a significant amount of time spent in another app which isn't accounted for in a single location in the PerfGraph making it difficult to understand if the application is doing something slowly (like evaluating UserObjects) or if it's just waiting on a master/sub.
As a start, each app should time the amount spent calling down to the sub. This would tell us which percentage to ignore out of the whole for the master. Dealing with the PerfGraph from the sub is a little more difficult though. It's a little more difficult to tell how much time is spent in the parent application versus "this" application. We might think about ways of pausing timers or subtracting time spent in other areas away from the total time.
Impact
Making PerfGraph more easy to understand for complex multiphysics runs.