I recently conducted an engineering review of a simPy system simulation and received a lot of feed back and requests.
One major request was that everyone wanted a lot more analysis of how resources were being used and exactly what was the system state when a process failed to acquire a resource. They wanted to know what was using or taking a resource away from a resource starved process. They felt they needed this information to 'fix' the system so that it works better.
For a complex system simulation with lots of processes and resources that runs for long simulation durations this could amount to a huge amount of data.
I'm not sure where to go with this, but I at least need some mechanism to be able to extract the state of a resource in order to conduct this analysis. A tally type of monitoring could reduce the data required. I believe the user needs a simple method of defining what information to tally and/or store during a simulation run.