art utility for monitoring file size contributions by new objects
In light of the large files that we are currently having to copy around for GRID processing, we are trying to understand
why the files are as large as they are.
We would like to have a utility that can help us monitor the contribution of the different novasoft objects that we add to the ART data files.
Is this something that the ART framework can provide to us?
If something exists, mind my ignorance and great. If not, how easy would it be to implement?
#1 Updated by Christopher Green about 7 years ago
- Status changed from New to Feedback
- Experiment NOvA added
We would like to hear some more details on your current thinking on this. There is already an output module which will give the size of each product per event.
The on-disk size of each product is only really meaningful for an existing file, because of the use of compression by ROOT. It should be straightforward to write a standalone utility which will open an art ROOT file and characterize each branch by size, using art functions to break down the branch names into their human-readable components of type, process name, module label and instance name.
We should spend a few minutes discussing this to make sure we understand exactly what you want before we make a time estimate for resolution of this issue.
#3 Updated by Rob Kutschke about 7 years ago
Mu2e is also very interested in this. I have a ROOT code fragment from Philippe that will do the job for an existing file. I have not exercised it myself. I can forward if you want. I have not seriously thought about how to package this. A standalone executable distributed with art? A standalone root macro, distributed with art? Something else? Whatever form it takes, I think it should be distributed with art ( maybe as a trival extra product ?) and supported by the art team.