#791: Output timer tree as XML --------------------------+------------------------------------------------- Reporter: hinder | Owner: eschnett Type: enhancement | Status: review Priority: minor | Milestone: Component: Carpet | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment (by eschnett):
This only outputs the xml timers at the end of the simulation, and if it terminates successfully. Often, this is not the case, and the timer output is then lost. I suggest to output the xml timers also at other occasions, same as all other timer output. Since it may not be possible to append, I suggest to output to a temporary file and rename it when output succeeds, as we do with checkpoint files. A large out_every will then, in effect, only output at shutdown. Implementing this may be easiest if the timing output is moved to TimerReport.
FWIW, I like the name/value pairs without the <children> tag. As you say, this can be adapted later.
Okay to commit.
You may need to ensure that you have sufficient accuracy for output; by default, C++ rounds to 6 digits. A call to setprecision may help.
I prefer output file names to have equal length, filling process numbers with zeros, as this sorts them better with ls.