DUECA/DUSIME
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
dueca::TimingView Class Referenceabstract

This is a module that generates a summary of the timing results of any instrumented activities. More...

#include <TimingView.hxx>

Inheritance diagram for dueca::TimingView:
Inheritance graph
[legend]
Collaboration diagram for dueca::TimingView:
Collaboration graph
[legend]

Public Member Functions

 TimingView (Entity *e, const char *part, const PrioritySpec &ps)
 Constructor, follows standard module construction form.
 
 ~TimingView ()
 Destructor.
 
void startModule (const TimeSpec &time)
 Start the TimingView module.
 
void stopModule (const TimeSpec &time)
 Stop the module.
 
bool isPrepared ()
 Will be prepared when the channel is ready.
 
virtual void updateSync (int node, const SyncReport &report)=0
 Write a sync report to the interface.
 
virtual void appendReport (const std::string &maker_and_act, const TimeTickType &tstart, const TimingResults &data)=0
 Write a timing report on the interface.
 
- Public Member Functions inherited from dueca::Module
virtual ~Module ()
 Destructor.
 
virtual bool complete ()
 Inform the module that all parameters have now been passed.
 
virtual bool isInitialPrepared ()
 To check whether the module is prepared to be prepared.
 
ObjectType getObjectType () const
 The object type within DUECA.
 
virtual void initialStartModule (const TimeSpec &time)
 Initial start opportunity.
 
virtual void finalStopModule (const TimeSpec &time)
 Final stop command.
 
const Entity * getMyEntity ()
 Return a pointer to the entity to which this module belongs.
 
const ModuleStategetState ()
 Return the module state.
 
- Public Member Functions inherited from dueca::NamedObject
const std::string getEntity () const
 Returns the "entity" part of the name.
 
const std::string getClass () const
 Returns the "class" part of the name.
 
const std::string getPart () const
 Returns the sub-entity or "part" part of the name.
 
const NameSetgetNameSet () const
 This returns the complete name set.
 
const GlobalIdgetId () const
 This returns the id.
 

Static Public Member Functions

static const ParameterTablegetParameterTable ()
 Table with adjustable parameters.
 
static TimingViewsingle ()
 Return the singlton.
 

Static Public Attributes

static const char *const classname
 Name of the module class.
 

Protected Attributes

bool token_action
 Flag to remember token completion.
 
ChannelReadToken result_channel
 Access token for a channel with the incoming reports.
 
ChannelWriteToken request_report
 Access token for a channel with which to send requests for sync data.
 
ChannelReadToken result_report
 Channel which gets back the reports.
 
ActivityCallback read_report
 Activity, basically getting timing reports over the channel.
 
ActivityCallback read_sync
 Second activity, for getting and processing sync reports.
 
bool can_start
 Flag to indicate all conditions OK.
 
int num_rows
 Counter to remember the number of rows in the view.
 
int no_nodes
 Remember the number of nodes here.
 
std::ofstream timing_log
 File for dumping timing logs.
 
Callback< TimingViewcb1
 Callback objects.
 
Callback< TimingViewcb2
 Callback objects.
 
- Protected Attributes inherited from dueca::Module
ModuleState state
 Flag to remember whether we are stopped due to some error with hardware device manipulation.
 

Additional Inherited Members

- Protected Member Functions inherited from dueca::Module
 Module (const Entity *e, const char *m_class, const char *part)
 Constructor.
 
virtual void setSafetyStop ()
 Put a brake on this module's activities.
 
- Protected Member Functions inherited from dueca::NamedObject
 NamedObject (const GlobalId &id)
 Reserve for AssociateObject.
 
 NamedObject (const NameSet &ns)
 Normal constructor, protected, because it has no use to create a NamedObject by itself.
 
virtual ~NamedObject ()
 Destructor.
 

Detailed Description

This is a module that generates a summary of the timing results of any instrumented activities.

This module may be created from the DUECA model script in dueca.mod, so normally you would put this in your dueca.mod script, like:

(make-entity "dueca"
(if (eq? this-node-id 0)
(make-module 'dusime "" admin-priority)
(make-module 'dueca-view "" admin-priority)
(make-module 'activity-view "" admin-priority)
(make-module 'timing-view "" admin-priority)
) () )
) )
This is a "light weight object" that enables you to read the latest set of data on a StreamChannelEnd...
Definition StreamReaderLatest.hxx:43

Note the order in which the dueca/dusime objects are defined. Currently, "dusime" needs to be present before dueca-view is made. ActivityView and TimingView use DuecaView to put themselves in the "View" menu. TimingView in addition requires ActivityView to get information about the names of different activities.

Use the name "dueca" for your dueca entity, or the TimingView will not be able to correctly connect its channel.

Member Function Documentation

◆ startModule()

void dueca::TimingView::startModule ( const TimeSpec & time)
virtual

Start the TimingView module.

Implements dueca::Module.

◆ stopModule()

void dueca::TimingView::stopModule ( const TimeSpec & time)
virtual

Stop the module.

Implements dueca::Module.

◆ isPrepared()

bool dueca::TimingView::isPrepared ( )
virtual

Will be prepared when the channel is ready.

Implements dueca::Module.


The documentation for this class was generated from the following file: