daqinterface, when recovery is disabled, could/should have the ability to rgang to all the nodes to freeze the trace buffers
In the feature/protodune_mock_system_with_delay of artdaq-utilities-daqinterface, I've
modified rc/control/daqinterface.py to get a list of nodes to rgang to to freeze trace buffers.
This would need to be cleaned up by adding a configuration option to enable this functionality.
#1 Updated by John Freeman 9 months ago
Technically that's straightforward. Here's what I'm thinking, let me know if you have thoughts on it:
1) DAQInterface determines what the TRACE_FILE would be by searching for that environment variable getting set in the script it sources before launching processes (e.g., setupARTDAQDEMO)
2) On every node, if we were in the running state before recovery was launched (i.e., have a run number available), DAQInterface will create a copy of the trace file with the run number appended - e.g., if the trace file is
/tmp/my_cool_tracefile_name then DAQInterface saves a copy of this as
/tmp/my_cool_tracefile_name.run<run number>. If the problem occurs during configuration, then perhaps it just saves the trace file as
/tmp/my_cool_tracefile_name.<date when copy was made>
3) An open question is whether the boolean which sets this feature should be in the settings file or the boot file. Either choice has its advantages and disadvantages.