While doing faro development work, we have encountered situations where it would be very helpful to have access to the in-memory objects that are sent as input to the metric measurement run methods for purposes of development, testing, and diagnosing anomalous metric values. These are situations where we might use pdb, but the diagnostic analysis might involve multiple steps and/or visualization needs that would be more suitable for work in a separate python script or notebook.
The functionality described here would only be used as a development / debugging tool rather than used in any standard operational mode.
One could use the dataIds to load the relevant inputs from the butler, however, some of the analysis tasks have some pre-processing steps that occur in the runQuantum method. It would be helpful for rapid debugging and analysis to avoid reproducing those steps and to ensure exact consistency with the inputs to the metric measurement run method.
Can you expand on what you mean by preserve in-memory objects? How is this any different to using butler to persist them to an in-memory datastore?