Project

General

Profile

Feature #23146

DAQInterface could provide on-demand information about individual artdaq process statuses

Added by John Freeman about 1 month ago. Updated 28 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
08/20/2019
Due date:
% Done:

100%

Estimated time:
Experiment:
-
Co-Assignees:
Duration:

Description

During a conversation I had with Eric and Ryan Rivera yesterday concerning how the OTSDAQ framework could benefit from DAQInterface functionality, it was suggested that it would be useful if DAQInterface could provide information to the external world on-demand about what the individual artdaq process statuses are. Currently it just reports whether or not there's a problem with the individual artdaq process statuses (e.g., a transition didn't go through as expected, or a process reported Error), and it does so in a printout to stdout, which is useful for human beings, but less so for controlling programs like OTSDAQ or a Run Control.

Associated revisions

Revision 09affcb0 (diff)
Added by John Freeman 28 days ago

JCF: provide individual artdaq process states on demand

When status_with_side_effects.sh is executed (or, more generally, the
state_with_side_effects XML-RPC command is sent to DAQInterface - yes,
slightly different name than the script) DAQInterface will do the following:

It produces an ASCII file of the form /tmp/artdaq_process_states_<username>_partition<partition #>,
with a list of the existing processes and their statuses. If "debug_level" is set to 5 or higher, the
list will also appear in DAQInterface's stdout - note this very high level since the output tends to
interfere with output from DAQInterface's main thread of execution.

This commit is designed to satisfy Issue #23146

History

#1 Updated by John Freeman 28 days ago

  • % Done changed from 0 to 100
  • Status changed from New to Resolved

This Issue is ready for review using the head of feature/issue23146_artdaq_process_info, commit 09affcb0f2dc46f08db0e2d5e54f6b02dd5ea396. First, to quote the commit comment:


    JCF: provide individual artdaq process states on demand

    When status_with_side_effects.sh is executed (or, more generally, the
    state_with_side_effects XML-RPC command is sent to DAQInterface - yes,
    slightly different name than the script) DAQInterface will do the following:

    It produces an ASCII file of the form /tmp/artdaq_process_states_<username>_partition<partition #>,
    with a list of the existing processes and their statuses. If "debug_level" is set to 5 or higher, the
    list will also appear in DAQInterface's stdout - note this very high level since the output tends to
    interfere with output from DAQInterface's main thread of execution.

    This commit is designed to satisfy Issue #23146

To be concrete, sending this command to DAQInterface for me created a file called /tmp/artdaq_process_states_jcfree_partition1; an example of its contents is:

component_throws_exception Error
EventBuilder1 Running
EventBuilder2 Running
DataLogger1 Running

and another is:
component_throws_exception Initializing
EventBuilder1 Ready
EventBuilder2 Ready
DataLogger1 Ready

i.e., the format is that each artdaq process gets its own row, with its label and then it state listed.



Also available in: Atom PDF