Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-33700

Preserve in-memory objects sent to metric measurement run method for offline analysis and development

    XMLWordPrintable

    Details

    • Type: Story
    • Status: In Review
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: faro
    • Labels:
      None

      Description

      It would be useful to be able to preserve the in-memory objects that are sent to the metric measurement run method for development and testing purposes.

      One possible solution would be to use shelve module.

        Attachments

          Activity

          Hide
          tjenness Tim Jenness added a comment -

          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?

          Show
          tjenness Tim Jenness added a comment - 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?
          Hide
          kbechtol Keith Bechtol added a comment - - edited

          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.

          Show
          kbechtol Keith Bechtol added a comment - - edited 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.
          Hide
          kbechtol Keith Bechtol added a comment -
          Show
          kbechtol Keith Bechtol added a comment - See this PR: https://github.com/lsst/faro/pull/121

            People

            Assignee:
            kbechtol Keith Bechtol
            Reporter:
            kbechtol Keith Bechtol
            Reviewers:
            Jeffrey Carlin
            Watchers:
            Jeffrey Carlin, Keith Bechtol, Tim Jenness
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Jenkins

                No builds found.