Gaudi Framework, version v23r0 |
Home | Generated: Mon Jan 30 2012 |
The Chrono & Stat Sservice: service implements the IChronoStatSvc interface and provides the basic chronometry and some statistical counts needed by all applications. More...
#include <ChronoStatSvc.h>
Public Types | |
typedef std::map < IChronoStatSvc::ChronoTag, ChronoEntity > | ChronoMap |
some useful typedefs | |
typedef std::map < IChronoStatSvc::StatTag, StatEntity > | StatMap |
Public Member Functions | |
virtual StatusCode | initialize () |
Implementation of IService::initialize() | |
virtual StatusCode | finalize () |
Implementation of IService::finalize() | |
virtual ChronoEntity * | chronoStart (const IChronoStatSvc::ChronoTag &chronoTag) |
Implementation of IChronoStatSvc::chronoStart. | |
virtual const ChronoEntity * | chronoStop (const IChronoStatSvc::ChronoTag &chronoTag) |
Implementation of IChronoStatSvc::chronoStop. | |
virtual IChronoStatSvc::ChronoTime | chronoDelta (const IChronoStatSvc::ChronoTag &chronoTag, IChronoStatSvc::ChronoType theType) |
Implementation of IchronoStatSvc::chronoDelta. | |
virtual void | chronoPrint (const IChronoStatSvc::ChronoTag &chronoTag) |
Implementation of IChronoStatSvc::chronoPrint. | |
virtual ChronoStatus | chronoStatus (const IChronoStatSvc::ChronoTag &chronoTag) |
Implementation of IChronoStatSvc::chronoStatus. | |
virtual void | stat (const IChronoStatSvc::StatTag &statTag, const IChronoStatSvc::StatFlag &statFlag) |
Implementation of IChronoStatSvc::stat add statistical information to the entity , tagged by its name. | |
virtual void | statPrint (const IChronoStatSvc::ChronoTag &statTag) |
prints (using message service) info about statistical entity, tagged by its name | |
virtual const ChronoEntity * | chrono (const IChronoStatSvc::ChronoTag &t) const |
extract the chrono entity for the given tag (name) | |
virtual const StatEntity * | stat (const IChronoStatSvc::StatTag &t) const |
extract the stat entity for the given tag (name) | |
ChronoStatSvc (const std::string &name, ISvcLocator *svcloc) | |
Default constructor. | |
virtual | ~ChronoStatSvc () |
Destructor. | |
Protected Member Functions | |
void | printStats () |
Private Member Functions | |
ChronoStatSvc () | |
ChronoStatSvc (const ChronoStatSvc &) | |
ChronoStatSvc & | operator= (const ChronoStatSvc &) |
void | saveStats () |
dump the statistics into an ASCII file for offline processing | |
Private Attributes | |
ChronoMap | m_chronoEntities |
chrono part | |
int | m_intChronoPrintLevel |
level of info printing | |
MSG::Level | m_chronoPrintLevel |
bool | m_chronoTableFlag |
flag for printing the final table | |
bool | m_chronoCoutFlag |
flag for destination of the the final table | |
bool | m_chronoOrderFlag |
flag for formattion the final statistic table | |
bool | m_printUserTime |
flag for printing User quantities | |
bool | m_printSystemTime |
flag for printing System quantities | |
bool | m_printEllapsedTime |
flag for printing Ellapsed quantities | |
long | m_numberOfSkippedEventsForMemStat |
StatMap | m_statEntities |
stat part | |
int | m_intStatPrintLevel |
level of info printing | |
MSG::Level | m_statPrintLevel |
bool | m_statTableFlag |
flag for printing the final table | |
bool | m_statCoutFlag |
flag for destination of the t he final table | |
bool | m_statOrderFlag |
flag for formattion the final statistic table | |
StringProperty | m_statsOutFileName |
Name of the output file where we'll dump the stats. | |
std::string | m_header |
the header row | |
std::string | m_format1 |
format for regular statistical printout rows | |
std::string | m_format2 |
format for "efficiency" statistical printout rows | |
bool | m_useEffFormat |
flag to use the special "efficiency" format |
The Chrono & Stat Sservice: service implements the IChronoStatSvc interface and provides the basic chronometry and some statistical counts needed by all applications.
Definition at line 36 of file ChronoStatSvc.h.
some useful typedefs
Definition at line 40 of file ChronoStatSvc.h.
Definition at line 41 of file ChronoStatSvc.h.
ChronoStatSvc::ChronoStatSvc | ( | const std::string & | name, |
ISvcLocator * | svcloc | ||
) |
Default constructor.
name | service instance name |
svcloc | pointer to servcie locator |
decide if the final printout should be performed
define the destination of the table to be printed
print level
if printout is to be performed, should one take care about some ordering?
if User Time information to be printed?
if System Time information to be printed?
if Ellapsed Time information to be printed?
deside if the final printout should be performed
define the destination of the table to be printed
print level
if printout is to be performed, should one take care about some ordering?
Definition at line 91 of file ChronoStatSvc.cpp.
: base_class( name , svcloc ) , m_chronoEntities () , m_chronoPrintLevel ( MSG::INFO ) , m_statEntities () , m_statPrintLevel ( MSG::INFO ) // // the header row , m_header ( " Counter | # | sum | mean/eff^* | rms/err^* | min | max |") // format for regular statistical printout rows , m_format1 ( " %|-15.15s|%|17t||%|10d| |%|11.7g| |%|#11.5g| |%|#11.5g| |%|#12.5g| |%|#12.5g| |" ) // format for "efficiency" statistical printout rows , m_format2 ( "*%|-15.15s|%|17t||%|10d| |%|11.5g| |(%|#9.7g| +- %|-#9.7g|)%%| ------- | ------- |" ) // flag to use the special "efficiency" format , m_useEffFormat ( true ) { declareProperty ( "ChronoPrintOutTable" , m_chronoTableFlag = true ); declareProperty ( "ChronoDestinationCout" , m_chronoCoutFlag = false ); declareProperty ( "ChronoPrintLevel" , m_intChronoPrintLevel = MSG::INFO ); declareProperty ( "ChronoTableToBeOrdered" , m_chronoOrderFlag = true ); declareProperty ( "PrintUserTime" , m_printUserTime = true ); declareProperty ( "PrintSystemTime" , m_printSystemTime = false ); declareProperty ( "PrintEllapsedTime" , m_printEllapsedTime = false ); declareProperty ( "StatPrintOutTable" , m_statTableFlag = true ); declareProperty ( "StatDestinationCout" , m_statCoutFlag = false ); declareProperty ( "StatPrintLevel" , m_intStatPrintLevel = MSG::INFO ); declareProperty ( "StatTableToBeOrdered" , m_statOrderFlag = true ); // specify the number of events to be skipped by the memory auditor // in order to better spot memory leak declareProperty ( "NumberOfSkippedEventsForMemStat" , m_numberOfSkippedEventsForMemStat = -1 ) ; declareProperty( "AsciiStatsOutputFile", m_statsOutFileName = "", "Name of the output file storing the stats. If empty, no" " statistics will be saved (default)" ); declareProperty ( "StatTableHeader" , m_header , "The header row for the output Stat-table" ) ; declareProperty ( "RegularRowFormat" , m_format1 , "The format for the regular row in the output Stat-table" ) ; declareProperty ( "EfficiencyRowFormat" , m_format2 , "The format for the regular row in the outptu Stat-table" ) ; declareProperty ( "UseEfficiencyRowFormat" , m_useEffFormat , "Use the special format for printout of efficiency counters" ) ; }
ChronoStatSvc::~ChronoStatSvc | ( | ) | [virtual] |
Destructor.
Definition at line 170 of file ChronoStatSvc.cpp.
{ // clear the container of chrono entities m_chronoEntities.clear(); // clear the container of stat entities m_statEntities.clear(); }
ChronoStatSvc::ChronoStatSvc | ( | ) | [private] |
ChronoStatSvc::ChronoStatSvc | ( | const ChronoStatSvc & | ) | [private] |
const ChronoEntity * ChronoStatSvc::chrono | ( | const IChronoStatSvc::ChronoTag & | t ) | const [virtual] |
extract the chrono entity for the given tag (name)
t | chrono tag(name) |
Implements IChronoSvc.
Definition at line 472 of file ChronoStatSvc.cpp.
{ ChronoMap::const_iterator it = m_chronoEntities.find ( t ) ; if ( m_chronoEntities.end() != it ) { return &(it->second) ; } return 0 ; }
IChronoStatSvc::ChronoTime ChronoStatSvc::chronoDelta | ( | const IChronoStatSvc::ChronoTag & | chronoTag, |
IChronoStatSvc::ChronoType | theType | ||
) | [virtual] |
Implementation of IchronoStatSvc::chronoDelta.
Implements IChronoSvc.
Definition at line 400 of file ChronoStatSvc.cpp.
{ return m_chronoEntities[ chronoTag ].delta( theType ); }
void ChronoStatSvc::chronoPrint | ( | const IChronoStatSvc::ChronoTag & | chronoTag ) | [virtual] |
Implementation of IChronoStatSvc::chronoPrint.
Implements IChronoSvc.
Definition at line 409 of file ChronoStatSvc.cpp.
{ MsgStream log ( msgSvc() , chronoTag ); if( m_printUserTime ) { log << (MSG::Level) m_chronoPrintLevel << m_chronoEntities[ chronoTag ].outputUserTime () << endmsg; } if( m_printSystemTime ) { log << (MSG::Level) m_chronoPrintLevel << m_chronoEntities[ chronoTag ].outputSystemTime() << endmsg; } }
ChronoEntity * ChronoStatSvc::chronoStart | ( | const IChronoStatSvc::ChronoTag & | chronoTag ) | [virtual] |
Implementation of IChronoStatSvc::chronoStart.
Implements IChronoSvc.
Definition at line 378 of file ChronoStatSvc.cpp.
{ ChronoEntity& entity = m_chronoEntities [ chronoTag ] ; entity.start() ; return &entity ; }
IChronoStatSvc::ChronoStatus ChronoStatSvc::chronoStatus | ( | const IChronoStatSvc::ChronoTag & | chronoTag ) | [virtual] |
Implementation of IChronoStatSvc::chronoStatus.
Implements IChronoSvc.
Definition at line 428 of file ChronoStatSvc.cpp.
{ return m_chronoEntities[ chronoTag ].status(); }
const ChronoEntity * ChronoStatSvc::chronoStop | ( | const IChronoStatSvc::ChronoTag & | chronoTag ) | [virtual] |
Implementation of IChronoStatSvc::chronoStop.
Implements IChronoSvc.
Definition at line 389 of file ChronoStatSvc.cpp.
{ ChronoEntity& entity = m_chronoEntities [ chronoTag ] ; entity.stop() ; return &entity ; }
StatusCode ChronoStatSvc::finalize | ( | ) | [virtual] |
Implementation of IService::finalize()
stop its own chrono
Is the final chrono table to be printed?
decoration
CONTINUE
CONTINUE
stop chrono (if it is still in RUNNING status)
print to std::cout
print to MsgStream
decoration
CONTINUE
CONTINUE
stop chrono (if it is still in RUNNING status)
print to std::cout
print to MsgStream
decoration
CONTINUE
CONTINUE
stop chrono (if it is still in RUNNING status)
print to std::cout
print to MsgStream
clear the temporary container
the final decoration
Is the final stat table to be printed?
< finalize the base class
Reimplemented from Service.
Definition at line 228 of file ChronoStatSvc.cpp.
{ std::string local = name()+".finalize()"; MsgStream main_log( msgSvc() , local ); chronoStop( name() ) ; if ( m_chronoTableFlag && !m_chronoEntities.empty() && ( m_printUserTime || m_printSystemTime ) ) { MsgStream log( msgSvc() , "*****Chrono*****" ); const std::string stars( ( m_chronoCoutFlag ) ? 126 : 100 , '*' ); if( m_chronoCoutFlag ) { std::cout << stars << std::endl; std::cout << local << " The Final CPU consumption (Chrono) Table " << ( m_chronoOrderFlag ? "(ordered)" : "(not ordered)" ) << std::endl; std::cout << stars << std::endl; } else { log << (MSG::Level) m_chronoPrintLevel << stars << endmsg; log << (MSG::Level) m_chronoPrintLevel << " The Final CPU consumption ( Chrono ) Table " << ( m_chronoOrderFlag ? "(ordered)" : "(not ordered)" ) << endmsg; log << (MSG::Level) m_chronoPrintLevel << stars << endmsg; } { // prepare container for printing typedef std::pair<ChronoEntity*,const ChronoTag*> MPair; typedef std::vector<MPair> MCont; MCont tmpCont; for( ChronoMap::iterator it = m_chronoEntities.begin() ; m_chronoEntities.end() != it ; ++it ) { tmpCont.push_back( MPair( &(it->second) , &(it->first) ) ) ; } // sort it if( m_chronoOrderFlag ) { std::sort( tmpCont.begin() , tmpCont.end() , ComparePairOfChronoEntityAndChronoTag() ); } // print User Time statistics if( m_printUserTime ) { for( MCont::iterator iter = tmpCont.begin() ; tmpCont.end() != iter ; ++iter ) { // ChronoEntity* entity = iter->first ; if( 0 == entity ) { continue ; } const ChronoTag* tag = iter->second ; if( 0 == tag ) { continue ; } entity->stop(); if ( m_chronoCoutFlag ) { std::cout << *tag << "\t" << entity->outputUserTime () << std::endl ; } else { MsgStream(msgSvc(), *tag) << m_chronoPrintLevel << entity->outputUserTime () << endmsg ; } // } } if( m_printSystemTime ) { if ( m_printUserTime && m_chronoCoutFlag ) { std::cout << stars << std::endl; } else if ( m_printUserTime && !m_chronoCoutFlag ) { log << (MSG::Level) m_chronoPrintLevel << stars << endmsg; } for( MCont::iterator iter = tmpCont.begin() ; tmpCont.end() != iter ; ++iter ) { ChronoEntity* entity = iter->first ; if( 0 == entity ) { continue ; } const ChronoTag* tag = iter->second ; if( 0 == tag ) { continue ; } entity->stop(); if ( m_chronoCoutFlag ) { std::cout << *tag << "\t" << entity->outputSystemTime() << std::endl ; } else { MsgStream(msgSvc(), *tag) << m_chronoPrintLevel << entity->outputSystemTime() << endmsg ; } // } } if( m_printEllapsedTime ) { if ( ( m_printUserTime || m_printSystemTime ) && m_chronoCoutFlag ) { std::cout << stars << std::endl; } else if ( ( m_printUserTime || m_printSystemTime ) && !m_chronoCoutFlag ) { log << (MSG::Level) m_chronoPrintLevel << stars << endmsg; } for( MCont::iterator iter = tmpCont.begin() ; tmpCont.end() != iter ; ++iter ) { ChronoEntity* entity = iter->first ; if( 0 == entity ) { continue ; } const ChronoTag* tag = iter->second ; if( 0 == tag ) { continue ; } entity->stop(); if ( m_chronoCoutFlag ) { std::cout << *tag << "\t" << entity->outputElapsedTime() << std::endl ; } else { MsgStream(msgSvc(), *tag) << m_chronoPrintLevel << entity->outputElapsedTime() << endmsg ; } // } } tmpCont.clear(); } if( m_chronoCoutFlag ) { std::cout << stars << std::endl; } else { log << m_chronoPrintLevel << stars << endmsg; } } if ( m_statTableFlag ) { printStats () ; } if ( !m_statsOutFileName.value().empty() ) { saveStats(); } main_log << MSG::INFO << " Service finalized successfully " << endmsg; return Service::finalize(); }
StatusCode ChronoStatSvc::initialize | ( | ) | [virtual] |
Implementation of IService::initialize()
redefine some "properties"
start its own chrono
Reimplemented from Service.
Definition at line 180 of file ChronoStatSvc.cpp.
{ StatusCode sc = Service::initialize(); if ( sc.isFailure() ) return sc; MsgStream log( msgSvc() , this->name() ); // Set my own properties sc = setProperties(); if (sc.isFailure()) { log << MSG::ERROR << "setting my properties" << endmsg; return StatusCode::FAILURE; } log << MSG::INFO << " Number of skipped events for MemStat" << m_numberOfSkippedEventsForMemStat << endmsg ; m_statPrintLevel = ( MSG::FATAL < m_intStatPrintLevel ) ? MSG::FATAL : ( MSG::NIL > m_intStatPrintLevel ) ? MSG::NIL : ( MSG::Level ) m_intStatPrintLevel ; m_chronoPrintLevel = ( MSG::FATAL < m_intChronoPrintLevel ) ? MSG::FATAL : ( MSG::NIL > m_intChronoPrintLevel ) ? MSG::NIL : ( MSG::Level ) m_intChronoPrintLevel ; if( m_chronoTableFlag && !m_printUserTime && !m_printSystemTime && !m_printEllapsedTime ) { m_printUserTime = true ; } if( m_printUserTime || m_printSystemTime || m_printEllapsedTime ) { m_chronoTableFlag = true ; } chronoStart( name() ) ; return StatusCode::SUCCESS; }
ChronoStatSvc& ChronoStatSvc::operator= | ( | const ChronoStatSvc & | ) | [private] |
void ChronoStatSvc::printStats | ( | ) | [protected] |
nothing to print?
CONTINUE
CONTINUE
decoration
Definition at line 573 of file ChronoStatSvc.cpp.
{ if ( m_statEntities.empty() ) { return ; } MsgStream log ( msgSvc() , "******Stat******" ) ; const std::string stars( ( m_statCoutFlag ) ? 126 : 100 , '*' ) ; if ( m_statCoutFlag ) { std::cout << stars << std::endl; std::cout << " The Final stat Table " << ( m_statOrderFlag ? "(ordered)" : "(not ordered)" ) << std::endl; std::cout << stars << std::endl; } else { log << m_statPrintLevel << stars << endmsg; log << m_statPrintLevel << " The Final stat Table " << ( m_statOrderFlag ? "(ordered)" : "(not ordered)" ) << endmsg; log << m_statPrintLevel << stars << endmsg; } { // prepare container for printing typedef std::pair<const StatEntity*,const StatTag*> SPair; typedef std::vector<SPair> SCont; SCont tmpCont; for( StatMap::const_iterator it = m_statEntities.begin(); it != m_statEntities.end(); it++ ) { tmpCont.push_back( SPair( &(it->second) , &(it->first) ) ) ; } // sort it if ( m_statOrderFlag ) { std::sort( tmpCont.begin() , tmpCont.end() , ComparePairOfStatEntityAndStatTag() ); } { // print the table header if ( m_statCoutFlag ) { std::cout << m_header << std::endl ; } else { log << m_statPrintLevel << m_header << endmsg ; } } // loop over counters and print them: for ( SCont::iterator iter = tmpCont.begin() ; tmpCont.end() != iter ; ++iter ) { const StatEntity* entity = iter->first ; if ( 0 == entity ) { continue ; } const StatTag* tag = iter->second ; if ( 0 == tag ) { continue ; } if ( m_statCoutFlag ) { std::cout << Gaudi::Utils::formatAsTableRow ( *tag , *entity , m_useEffFormat , m_format1 , m_format2 ) << std::endl; } else { log << m_statPrintLevel << Gaudi::Utils::formatAsTableRow ( *tag , *entity , m_useEffFormat , m_format1 , m_format2 ) << endmsg ; } } tmpCont.clear(); } if ( m_statCoutFlag ) { std::cout << stars << std::endl; } else { log << m_statPrintLevel << stars << endmsg; } }
void ChronoStatSvc::saveStats | ( | ) | [private] |
dump the statistics into an ASCII file for offline processing
CONTINUE
CONTINUE
Definition at line 495 of file ChronoStatSvc.cpp.
{ std::ofstream out( m_statsOutFileName.value().c_str(), std::ios_base::out | std::ios_base::trunc ); if ( !out.good() ) { MsgStream msg( msgSvc() , name() ); msg << MSG::INFO << "Could not open the output file for writing chrono statistics [" << m_statsOutFileName.value() << "]" << endmsg; return; } else { // format it our way out << std::scientific << std::setprecision(8) ; } // ChronoEntity typedef std::pair<ChronoEntity*, const ChronoTag*> MPair; typedef std::vector<MPair> MCont; MCont chronos; for( ChronoMap::iterator it = m_chronoEntities.begin() ; m_chronoEntities.end() != it ; ++it ) { chronos.push_back( MPair( &(it->second) , &(it->first) ) ) ; } // sort it std::sort( chronos.begin() , chronos.end() , ComparePairOfChronoEntityAndChronoTag() ); // print User Time statistics for( MCont::iterator iter = chronos.begin() ; chronos.end() != iter; ++iter ) { // const ChronoEntity* entity = iter->first; if( 0 == entity ) { continue ; } const ChronoTag* tag = iter->second ; if( 0 == tag ) { continue ; } // create an entry in the .INI-like table out << "\n[" << *tag << "]\n"; // user out << "cpu_user_total = " << entity->uTotalTime() << "\n"; out << "cpu_user_min = " << entity->uMinimalTime() << "\n"; out << "cpu_user_mean = " << entity->uMeanTime() << "\n"; out << "cpu_user_RMS = " << entity->uRMSTime() << "\n"; out << "cpu_user_max = " << entity->uMaximalTime() << "\n"; out << "cpu_user_nbr = " << entity->nOfMeasurements() << "\n"; // system out << "\n"; // just for clarity out << "cpu_system_total = " << entity->kTotalTime() << "\n"; out << "cpu_system_min = " << entity->kMinimalTime() << "\n"; out << "cpu_system_mean = " << entity->kMeanTime() << "\n"; out << "cpu_system_RMS = " << entity->kRMSTime() << "\n"; out << "cpu_system_max = " << entity->kMaximalTime() << "\n"; out << "cpu_system_nbr = " << entity->nOfMeasurements() << "\n"; // real out << "\n"; // just for clarity out << "cpu_real_total = " << entity->eTotalTime() << "\n"; out << "cpu_real_min = " << entity->eMinimalTime() << "\n"; out << "cpu_real_mean = " << entity->eMeanTime() << "\n"; out << "cpu_real_RMS = " << entity->eRMSTime() << "\n"; out << "cpu_real_max = " << entity->eMaximalTime() << "\n"; out << "cpu_real_nbr = " << entity->nOfMeasurements() << "\n"; } out << std::endl; }
void ChronoStatSvc::stat | ( | const IChronoStatSvc::StatTag & | statTag, |
const IChronoStatSvc::StatFlag & | statFlag | ||
) | [virtual] |
Implementation of IChronoStatSvc::stat add statistical information to the entity , tagged by its name.
Implements IStatSvc.
Definition at line 434 of file ChronoStatSvc.cpp.
{ StatMap::iterator theIter=m_statEntities.find(statTag); StatEntity * theStat=0 ; // if new entity, specify the neumber of events to be skipped if (theIter==m_statEntities.end()){ // new stat entity StatEntity& theSe = m_statEntities[ statTag ]; theStat=& theSe; theStat->setnEntriesBeforeReset(m_numberOfSkippedEventsForMemStat); } else { //existing stat entity theStat=&((*theIter).second); } theStat->addFlag ( statFlag ) ; }
const StatEntity * ChronoStatSvc::stat | ( | const IChronoStatSvc::StatTag & | t ) | const [virtual] |
extract the stat entity for the given tag (name)
t | stat tag(name) |
Implements IStatSvc.
Definition at line 486 of file ChronoStatSvc.cpp.
{ StatMap::const_iterator it = m_statEntities.find ( t ) ; if ( m_statEntities.end() != it ) { return &(it->second) ; } return 0 ; }
void ChronoStatSvc::statPrint | ( | const IChronoStatSvc::ChronoTag & | statTag ) | [virtual] |
prints (using message service) info about statistical entity, tagged by its name
Implements IStatSvc.
Definition at line 459 of file ChronoStatSvc.cpp.
{ MsgStream log ( msgSvc() , statTag ) ; log << (MSG::Level) m_statPrintLevel << m_statEntities[ statTag ] << endmsg; }
bool ChronoStatSvc::m_chronoCoutFlag [private] |
flag for destination of the the final table
Definition at line 149 of file ChronoStatSvc.h.
ChronoMap ChronoStatSvc::m_chronoEntities [private] |
chrono part
Definition at line 142 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_chronoOrderFlag [private] |
flag for formattion the final statistic table
Definition at line 151 of file ChronoStatSvc.h.
MSG::Level ChronoStatSvc::m_chronoPrintLevel [private] |
Definition at line 145 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_chronoTableFlag [private] |
flag for printing the final table
Definition at line 147 of file ChronoStatSvc.h.
std::string ChronoStatSvc::m_format1 [private] |
format for regular statistical printout rows
Definition at line 182 of file ChronoStatSvc.h.
std::string ChronoStatSvc::m_format2 [private] |
format for "efficiency" statistical printout rows
Definition at line 184 of file ChronoStatSvc.h.
std::string ChronoStatSvc::m_header [private] |
the header row
Definition at line 180 of file ChronoStatSvc.h.
int ChronoStatSvc::m_intChronoPrintLevel [private] |
level of info printing
Definition at line 144 of file ChronoStatSvc.h.
int ChronoStatSvc::m_intStatPrintLevel [private] |
level of info printing
Definition at line 166 of file ChronoStatSvc.h.
long ChronoStatSvc::m_numberOfSkippedEventsForMemStat [private] |
Definition at line 160 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_printEllapsedTime [private] |
flag for printing Ellapsed quantities
Definition at line 157 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_printSystemTime [private] |
flag for printing System quantities
Definition at line 155 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_printUserTime [private] |
flag for printing User quantities
Definition at line 153 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_statCoutFlag [private] |
flag for destination of the t he final table
Definition at line 171 of file ChronoStatSvc.h.
StatMap ChronoStatSvc::m_statEntities [private] |
stat part
Definition at line 163 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_statOrderFlag [private] |
flag for formattion the final statistic table
Definition at line 173 of file ChronoStatSvc.h.
MSG::Level ChronoStatSvc::m_statPrintLevel [private] |
Definition at line 167 of file ChronoStatSvc.h.
Name of the output file where we'll dump the stats.
Definition at line 177 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_statTableFlag [private] |
flag for printing the final table
Definition at line 169 of file ChronoStatSvc.h.
bool ChronoStatSvc::m_useEffFormat [private] |
flag to use the special "efficiency" format
Definition at line 186 of file ChronoStatSvc.h.