The Gaudi Framework  v31r0 (aeb156f0)
Google::AuditorBase Class Referenceabstract

Base for Google Auditors. More...

#include <GoogleAuditor.cpp>

Inheritance diagram for Google::AuditorBase:
Collaboration diagram for Google::AuditorBase:

Public Member Functions

StatusCode initialize () override
 Initialize the auditor base. More...
 
StatusCode finalize () override
 Finalize the auditor base. More...
 
void handle (const Incident &incident) override
 Implement the handle method for the Incident service. More...
 
void before (StandardEventType type, INamedInterface *i) override
 
void before (CustomEventTypeRef type, INamedInterface *i) override
 
void before (StandardEventType type, const std::string &s) override
 
void before (CustomEventTypeRef type, const std::string &s) override
 
void after (StandardEventType type, INamedInterface *i, const StatusCode &sc) override
 
void after (CustomEventTypeRef type, INamedInterface *i, const StatusCode &sc) override
 
void after (StandardEventType type, const std::string &s, const StatusCode &sc) override
 
void after (CustomEventTypeRef type, const std::string &s, const StatusCode &) override
 
void beforeInitialize (INamedInterface *i) override
 
void beforeReinitialize (INamedInterface *i) override
 
void beforeExecute (INamedInterface *i) override
 
void beforeBeginRun (INamedInterface *i) override
 
void beforeEndRun (INamedInterface *i) override
 
void beforeFinalize (INamedInterface *i) override
 
void afterInitialize (INamedInterface *i) override
 
void afterReinitialize (INamedInterface *i) override
 
void afterExecute (INamedInterface *i, const StatusCode &s) override
 
void afterBeginRun (INamedInterface *i) override
 
void afterEndRun (INamedInterface *i) override
 
void afterFinalize (INamedInterface *i) override
 
- Public Member Functions inherited from extends< Auditor, IIncidentListener >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
- Public Member Functions inherited from Auditor
 Auditor (const std::string &name, ISvcLocator *svcloc)
 Constructor. More...
 
 Auditor (const Auditor &a)=delete
 
Auditoroperator= (const Auditor &rhs)=delete
 
StatusCode sysInitialize () override
 Initialization method invoked by the framework. More...
 
StatusCode sysFinalize () override
 Finalization method invoked by the framework. More...
 
void before (StandardEventType, INamedInterface *) override
 The following methods are meant to be implemented by the child class... More...
 
void before (StandardEventType, const std::string &) override
 
void before (CustomEventTypeRef, INamedInterface *) override
 
void before (CustomEventTypeRef, const std::string &) override
 
void after (StandardEventType, INamedInterface *, const StatusCode &) override
 
void after (StandardEventType, const std::string &, const StatusCode &) override
 
void after (CustomEventTypeRef, INamedInterface *, const StatusCode &) override
 
void after (CustomEventTypeRef, const std::string &, const StatusCode &) override
 
void beforeInitialize (INamedInterface *) override
 
void afterInitialize (INamedInterface *) override
 
void beforeReinitialize (INamedInterface *) override
 
void afterReinitialize (INamedInterface *) override
 
void beforeExecute (INamedInterface *) override
 
void afterExecute (INamedInterface *, const StatusCode &) override
 
void beforeFinalize (INamedInterface *) override
 
void afterFinalize (INamedInterface *) override
 
void beforeBeginRun (INamedInterface *) override
 
void afterBeginRun (INamedInterface *) override
 
void beforeEndRun (INamedInterface *) override
 
void afterEndRun (INamedInterface *) override
 
const std::stringname () const override
 
bool isEnabled () const override
 
SmartIF< ISvcLocator > & serviceLocator () const override
 The standard service locator. More...
 
template<class T >
StatusCode service (const std::string &name, T *&svc, bool createIf=false) const
 Access a service by name, creating it if it doesn't already exist. More...
 
template<class T = IService>
SmartIF< T > service (const std::string &name, bool createIf=false) const
 
StatusCode setProperties ()
 Set the auditor's properties. More...
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 PropertyHolder ()=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
 Helper to wrap a regular data member and use it as a regular property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
 Declare a PropertyBase instance setting name and documentation. More...
 
Gaudi::Details::PropertyBasedeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property. More...
 
StatusCode setProperty (const Gaudi::Details::PropertyBase &p) override
 set the property form another property More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 set the property from name and the value More...
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (const std::string &name) const override
 get the property by name More...
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 convert the property to the string More...
 
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties More...
 
bool hasProperty (const std::string &name) const override
 Return true if we have a property with the given name. More...
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
- Public Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream) More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 
MSG::Level outputLevel () const
 Backward compatibility function for getting the output level. More...
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 

Protected Member Functions

virtual void google_before (const std::string &s)=0
 Start the google tool. More...
 
virtual void google_after (const std::string &s)=0
 stop the google tool More...
 
virtual bool alreadyRunning ()=0
 check if we are already running the tool More...
 
- Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
Gaudi::Details::PropertyBaseproperty (const std::string &name) const
 
- Protected Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
MSG::Level setUpMessaging () const
 Set up local caches. More...
 
MSG::Level resetMessaging ()
 Reinitialize internal states. More...
 
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 

Private Member Functions

void startAudit ()
 Start a full event audit. More...
 
void stopAudit ()
 stop a full event audit More...
 
bool isSequencer (INamedInterface *i) const
 Check if the component in question is a GaudiSequencer or a Sequencer. More...
 
bool isPhaseEnabled (CustomEventTypeRef type) const
 Check if auditing is enabled for the current processing phase. More...
 
bool isComponentEnabled (const std::string &name) const
 Check if auditing is enabled for the given component. More...
 
std::string getDumpName (CustomEventTypeRef type, const std::string &name) const
 

Private Attributes

Gaudi::Property< std::vector< std::string > > m_when
 
Gaudi::Property< std::vector< std::string > > m_veto
 
Gaudi::Property< std::vector< std::string > > m_list
 
Gaudi::Property< int > m_freq {this, "ProfileFreq", -1, "The frequence to audit events. -1 means all events"}
 
Gaudi::Property< bool > m_fullEventAudit
 
Gaudi::Property< unsigned long long > m_nSampleEvents
 
Gaudi::Property< unsigned long long > m_eventsToSkip
 
Gaudi::Property< bool > m_skipSequencers
 
bool m_audit = true
 Internal flag to say if auditing is enabled or not for the current event. More...
 
unsigned long long m_nEvts = 0
 Number of events processed. More...
 
unsigned long long m_sampleEventCount
 Internal count of the number of events currently processed during an audit. More...
 
bool m_inFullAudit = false
 Internal flag to indicate if we are current in a full event audit. More...
 
std::string m_startedBy
 Name of the component we are currently auditing. More...
 

Additional Inherited Members

- Public Types inherited from extends< Auditor, IIncidentListener >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
- Public Types inherited from Auditor
using Factory = Gaudi::PluginService::Factory< IAuditor *(const std::string &, ISvcLocator *)>
 
- Public Types inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
using PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 Typedef used to refer to this class from derived classes, as in. More...
 
- Public Types inherited from CommonMessaging< implements< IAuditor, IProperty > >
using base_class = CommonMessaging
 
- Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
 take union of the ext_iids of all Interfaces... More...
 

Detailed Description

Base for Google Auditors.

Author
Chris Jones
Date
18/04/2011

Definition at line 39 of file GoogleAuditor.cpp.

Member Function Documentation

void Google::AuditorBase::after ( StandardEventType  type,
INamedInterface i,
const StatusCode sc 
)
inlineoverride

Definition at line 165 of file GoogleAuditor.cpp.

165  {
166  if ( !m_skipSequencers || !isSequencer( i ) ) {
168  t << type;
169  after( t.str(), i, sc );
170  }
171  }
Gaudi::Property< bool > m_skipSequencers
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
bool isSequencer(INamedInterface *i) const
Check if the component in question is a GaudiSequencer or a Sequencer.
void Google::AuditorBase::after ( CustomEventTypeRef  type,
INamedInterface i,
const StatusCode sc 
)
inlineoverride

Definition at line 173 of file GoogleAuditor.cpp.

173  {
174  if ( !m_skipSequencers || !isSequencer( i ) ) { after( type, i->name(), sc ); }
175  }
Gaudi::Property< bool > m_skipSequencers
virtual const std::string & name() const =0
Retrieve the name of the instance.
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
bool isSequencer(INamedInterface *i) const
Check if the component in question is a GaudiSequencer or a Sequencer.
void Google::AuditorBase::after ( StandardEventType  type,
const std::string s,
const StatusCode sc 
)
inlineoverride

Definition at line 177 of file GoogleAuditor.cpp.

177  {
179  t << type;
180  after( t.str(), s, sc );
181  }
string s
Definition: gaudirun.py:312
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
void Google::AuditorBase::after ( CustomEventTypeRef  type,
const std::string s,
const StatusCode  
)
inlineoverride

Definition at line 183 of file GoogleAuditor.cpp.

183  {
185  if ( s == m_startedBy ) { google_after( getDumpName( type, s ) ); }
186  }
187  }
std::string m_startedBy
Name of the component we are currently auditing.
bool m_audit
Internal flag to say if auditing is enabled or not for the current event.
Gaudi::Property< bool > m_fullEventAudit
bool isPhaseEnabled(CustomEventTypeRef type) const
Check if auditing is enabled for the current processing phase.
std::string getDumpName(CustomEventTypeRef type, const std::string &name) const
virtual void google_after(const std::string &s)=0
stop the google tool
bool isComponentEnabled(const std::string &name) const
Check if auditing is enabled for the given component.
void Google::AuditorBase::afterBeginRun ( INamedInterface i)
inlineoverride

Definition at line 204 of file GoogleAuditor.cpp.

constexpr static const auto SUCCESS
Definition: StatusCode.h:85
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
void Google::AuditorBase::afterEndRun ( INamedInterface i)
inlineoverride

Definition at line 205 of file GoogleAuditor.cpp.

205 { return after( IAuditor::EndRun, i, StatusCode::SUCCESS ); }
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
void Google::AuditorBase::afterExecute ( INamedInterface i,
const StatusCode s 
)
inlineoverride

Definition at line 203 of file GoogleAuditor.cpp.

203 { return after( IAuditor::Execute, i, s ); }
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
void Google::AuditorBase::afterFinalize ( INamedInterface i)
inlineoverride

Definition at line 206 of file GoogleAuditor.cpp.

constexpr static const auto SUCCESS
Definition: StatusCode.h:85
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
void Google::AuditorBase::afterInitialize ( INamedInterface i)
inlineoverride

Definition at line 197 of file GoogleAuditor.cpp.

197  {
199  }
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
void Google::AuditorBase::afterReinitialize ( INamedInterface i)
inlineoverride

Definition at line 200 of file GoogleAuditor.cpp.

200  {
202  }
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
void after(StandardEventType type, INamedInterface *i, const StatusCode &sc) override
virtual bool Google::AuditorBase::alreadyRunning ( )
protectedpure virtual

check if we are already running the tool

Implemented in Google::CPUProfiler, Google::HeapChecker, and Google::HeapProfiler.

void Google::AuditorBase::before ( StandardEventType  type,
INamedInterface i 
)
inlineoverride

Definition at line 139 of file GoogleAuditor.cpp.

139  {
140  if ( !m_skipSequencers || !isSequencer( i ) ) { before( type, i->name() ); }
141  }
void before(StandardEventType type, INamedInterface *i) override
Gaudi::Property< bool > m_skipSequencers
virtual const std::string & name() const =0
Retrieve the name of the instance.
bool isSequencer(INamedInterface *i) const
Check if the component in question is a GaudiSequencer or a Sequencer.
void Google::AuditorBase::before ( CustomEventTypeRef  type,
INamedInterface i 
)
inlineoverride

Definition at line 143 of file GoogleAuditor.cpp.

143  {
144  if ( !m_skipSequencers || !isSequencer( i ) ) { before( type, i->name() ); }
145  }
void before(StandardEventType type, INamedInterface *i) override
Gaudi::Property< bool > m_skipSequencers
virtual const std::string & name() const =0
Retrieve the name of the instance.
bool isSequencer(INamedInterface *i) const
Check if the component in question is a GaudiSequencer or a Sequencer.
void Google::AuditorBase::before ( StandardEventType  type,
const std::string s 
)
inlineoverride

Definition at line 147 of file GoogleAuditor.cpp.

147  {
149  t << type;
150  before( t.str(), s );
151  }
void before(StandardEventType type, INamedInterface *i) override
string s
Definition: gaudirun.py:312
void Google::AuditorBase::before ( CustomEventTypeRef  type,
const std::string s 
)
inlineoverride

Definition at line 153 of file GoogleAuditor.cpp.

153  {
155  if ( !alreadyRunning() ) {
156  info() << "Starting Auditor for " << s << ":" << type << endmsg;
157  m_startedBy = s;
158  google_before( getDumpName( type, s ) );
159  } else {
160  warning() << "Auditor already running. Cannot be started for " << s << endmsg;
161  }
162  }
163  }
std::string m_startedBy
Name of the component we are currently auditing.
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
virtual void google_before(const std::string &s)=0
Start the google tool.
bool m_audit
Internal flag to say if auditing is enabled or not for the current event.
Gaudi::Property< bool > m_fullEventAudit
virtual bool alreadyRunning()=0
check if we are already running the tool
MsgStream & warning() const
shortcut for the method msgStream(MSG::WARNING)
bool isPhaseEnabled(CustomEventTypeRef type) const
Check if auditing is enabled for the current processing phase.
std::string getDumpName(CustomEventTypeRef type, const std::string &name) const
string s
Definition: gaudirun.py:312
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192
bool isComponentEnabled(const std::string &name) const
Check if auditing is enabled for the given component.
void Google::AuditorBase::beforeBeginRun ( INamedInterface i)
inlineoverride

Definition at line 193 of file GoogleAuditor.cpp.

193 { return before( IAuditor::BeginRun, i ); }
void before(StandardEventType type, INamedInterface *i) override
void Google::AuditorBase::beforeEndRun ( INamedInterface i)
inlineoverride

Definition at line 194 of file GoogleAuditor.cpp.

194 { return before( IAuditor::EndRun, i ); }
void before(StandardEventType type, INamedInterface *i) override
void Google::AuditorBase::beforeExecute ( INamedInterface i)
inlineoverride

Definition at line 192 of file GoogleAuditor.cpp.

192 { return before( IAuditor::Execute, i ); }
void before(StandardEventType type, INamedInterface *i) override
void Google::AuditorBase::beforeFinalize ( INamedInterface i)
inlineoverride

Definition at line 195 of file GoogleAuditor.cpp.

195 { return before( IAuditor::Finalize, i ); }
void before(StandardEventType type, INamedInterface *i) override
void Google::AuditorBase::beforeInitialize ( INamedInterface i)
inlineoverride

Definition at line 190 of file GoogleAuditor.cpp.

190 { return before( IAuditor::Initialize, i ); }
void before(StandardEventType type, INamedInterface *i) override
void Google::AuditorBase::beforeReinitialize ( INamedInterface i)
inlineoverride

Definition at line 191 of file GoogleAuditor.cpp.

191 { return before( IAuditor::ReInitialize, i ); }
void before(StandardEventType type, INamedInterface *i) override
StatusCode Google::AuditorBase::finalize ( )
inlineoverridevirtual

Finalize the auditor base.

Reimplemented from Auditor.

Definition at line 63 of file GoogleAuditor.cpp.

63  {
64  if ( alreadyRunning() ) stopAudit();
65  return StatusCode::SUCCESS;
66  }
void stopAudit()
stop a full event audit
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
virtual bool alreadyRunning()=0
check if we are already running the tool
std::string Google::AuditorBase::getDumpName ( CustomEventTypeRef  type,
const std::string name 
) const
inlineprivate

Definition at line 107 of file GoogleAuditor.cpp.

107  {
109  t << name << "-" << type;
110  if ( type == "Execute" ) t << "-Event" << m_nEvts;
111  return t.str();
112  }
unsigned long long m_nEvts
Number of events processed.
virtual void Google::AuditorBase::google_after ( const std::string s)
protectedpure virtual

stop the google tool

Implemented in Google::CPUProfiler, Google::HeapChecker, and Google::HeapProfiler.

virtual void Google::AuditorBase::google_before ( const std::string s)
protectedpure virtual

Start the google tool.

Implemented in Google::CPUProfiler, Google::HeapChecker, and Google::HeapProfiler.

void Google::AuditorBase::handle ( const Incident incident)
inlineoverride

Implement the handle method for the Incident service.

This is used to inform the tool of software incidents.

Parameters
incidentThe incident identifier

Definition at line 120 of file GoogleAuditor.cpp.

120  {
121  if ( IncidentType::BeginEvent == incident.type() ) {
122  ++m_nEvts;
123  m_audit = ( m_nEvts > m_eventsToSkip && ( m_freq < 0 || m_nEvts == 1 || m_nEvts % m_freq == 0 ) );
124  if ( UNLIKELY( msgLevel( MSG::DEBUG ) ) ) debug() << "Event " << m_nEvts << " Audit=" << m_audit << endmsg;
125  if ( m_fullEventAudit ) {
126  if ( m_inFullAudit ) {
128  stopAudit();
129  } else {
131  }
132  }
133  if ( m_audit && !m_inFullAudit && !alreadyRunning() ) { startAudit(); }
134  }
135  }
136  }
#define UNLIKELY(x)
Definition: Kernel.h:89
void stopAudit()
stop a full event audit
const std::string & type() const
Access to the incident type.
Definition: Incident.h:38
bool m_audit
Internal flag to say if auditing is enabled or not for the current event.
void startAudit()
Start a full event audit.
Gaudi::Property< int > m_freq
Gaudi::Property< bool > m_fullEventAudit
virtual bool alreadyRunning()=0
check if we are already running the tool
bool m_inFullAudit
Internal flag to indicate if we are current in a full event audit.
unsigned long long m_sampleEventCount
Internal count of the number of events currently processed during an audit.
unsigned long long m_nEvts
Number of events processed.
Gaudi::Property< unsigned long long > m_nSampleEvents
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
Gaudi::Property< unsigned long long > m_eventsToSkip
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
StatusCode Google::AuditorBase::initialize ( )
inlineoverridevirtual

Initialize the auditor base.

Reimplemented from Auditor.

Reimplemented in Google::HeapChecker.

Definition at line 46 of file GoogleAuditor.cpp.

46  {
47  info() << "Initialised" << endmsg;
48 
49  // add a listener for begin event
50  auto inSvc = serviceLocator()->service<IIncidentSvc>( "IncidentSvc" );
51  if ( !inSvc ) return StatusCode::FAILURE;
52  inSvc->addListener( this, IncidentType::BeginEvent );
53 
54  // sort various lists for speed when searching
55  std::sort( m_when.begin(), m_when.end() );
56  std::sort( m_veto.begin(), m_veto.end() );
57  std::sort( m_list.begin(), m_list.end() );
58 
59  return StatusCode::SUCCESS;
60  }
Gaudi::Property< std::vector< std::string > > m_list
Gaudi::Property< std::vector< std::string > > m_when
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition: ISvcLocator.h:76
SmartIF< ISvcLocator > & serviceLocator() const override
The standard service locator.
Definition: Auditor.cpp:197
constexpr static const auto FAILURE
Definition: StatusCode.h:86
T sort(T...args)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192
The interface implemented by the IncidentSvc service.
Definition: IIncidentSvc.h:23
Gaudi::Property< std::vector< std::string > > m_veto
bool Google::AuditorBase::isComponentEnabled ( const std::string name) const
inlineprivate

Check if auditing is enabled for the given component.

Definition at line 101 of file GoogleAuditor.cpp.

101  {
102  return ( std::find( m_veto.begin(), m_veto.end(), name ) == m_veto.end() &&
103  ( m_list.empty() || std::find( m_list.begin(), m_list.end(), name ) != m_list.end() ) );
104  }
Gaudi::Property< std::vector< std::string > > m_list
T find(T...args)
const std::string & name() const override
Definition: Auditor.cpp:193
Gaudi::Property< std::vector< std::string > > m_veto
bool Google::AuditorBase::isPhaseEnabled ( CustomEventTypeRef  type) const
inlineprivate

Check if auditing is enabled for the current processing phase.

Definition at line 96 of file GoogleAuditor.cpp.

96  {
97  return ( std::find( m_when.begin(), m_when.end(), type ) != m_when.end() );
98  }
Gaudi::Property< std::vector< std::string > > m_when
T find(T...args)
bool Google::AuditorBase::isSequencer ( INamedInterface i) const
inlineprivate

Check if the component in question is a GaudiSequencer or a Sequencer.

Definition at line 91 of file GoogleAuditor.cpp.

91  {
92  return ( dynamic_cast<GaudiSequencer*>( i ) != NULL || dynamic_cast<Sequencer*>( i ) != NULL );
93  }
void Google::AuditorBase::startAudit ( )
inlineprivate

Start a full event audit.

Definition at line 70 of file GoogleAuditor.cpp.

70  {
71  info() << " -> Starting full audit from event " << m_nEvts << " to " << m_nEvts + m_nSampleEvents << endmsg;
72  m_inFullAudit = true;
75  t << "FULL-Events" << m_nEvts << "To" << m_nEvts + m_nSampleEvents;
76  google_before( t.str() );
77  }
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
virtual void google_before(const std::string &s)=0
Start the google tool.
bool m_inFullAudit
Internal flag to indicate if we are current in a full event audit.
unsigned long long m_sampleEventCount
Internal count of the number of events currently processed during an audit.
unsigned long long m_nEvts
Number of events processed.
Gaudi::Property< unsigned long long > m_nSampleEvents
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192
void Google::AuditorBase::stopAudit ( )
inlineprivate

stop a full event audit

Definition at line 80 of file GoogleAuditor.cpp.

80  {
81  info() << " -> Stopping full audit" << endmsg;
83  t << "FULL-Events" << m_nEvts << "To" << m_nEvts + m_nSampleEvents;
84  google_after( t.str() );
85  m_inFullAudit = false;
87  }
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
bool m_inFullAudit
Internal flag to indicate if we are current in a full event audit.
unsigned long long m_sampleEventCount
Internal count of the number of events currently processed during an audit.
unsigned long long m_nEvts
Number of events processed.
Gaudi::Property< unsigned long long > m_nSampleEvents
virtual void google_after(const std::string &s)=0
stop the google tool
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

Member Data Documentation

bool Google::AuditorBase::m_audit = true
private

Internal flag to say if auditing is enabled or not for the current event.

Definition at line 239 of file GoogleAuditor.cpp.

Gaudi::Property<unsigned long long> Google::AuditorBase::m_eventsToSkip
private
Initial value:
{this, "SkipEvents", 0,
"Number of events to skip before activating the auditing"}

Definition at line 234 of file GoogleAuditor.cpp.

Gaudi::Property<int> Google::AuditorBase::m_freq {this, "ProfileFreq", -1, "The frequence to audit events. -1 means all events"}
private

Definition at line 228 of file GoogleAuditor.cpp.

Gaudi::Property<bool> Google::AuditorBase::m_fullEventAudit
private
Initial value:
{
this, "DoFullEventProfile", false,
"If true, instead of individually auditing components, the full event (or events) will be audited in one go"}

Definition at line 229 of file GoogleAuditor.cpp.

bool Google::AuditorBase::m_inFullAudit = false
private

Internal flag to indicate if we are current in a full event audit.

Definition at line 243 of file GoogleAuditor.cpp.

Gaudi::Property<std::vector<std::string> > Google::AuditorBase::m_list
private
Initial value:
{
this, "EnableFor", {}, "Any component in this list will be audited. If empty, all will be done."}

Definition at line 226 of file GoogleAuditor.cpp.

unsigned long long Google::AuditorBase::m_nEvts = 0
private

Number of events processed.

Definition at line 240 of file GoogleAuditor.cpp.

Gaudi::Property<unsigned long long> Google::AuditorBase::m_nSampleEvents
private
Initial value:
{
this, "FullEventNSampleEvents", 1, "The number of events to include in a full event audit, if enabled"}

Definition at line 232 of file GoogleAuditor.cpp.

unsigned long long Google::AuditorBase::m_sampleEventCount
private
Initial value:
=
0

Internal count of the number of events currently processed during an audit.

Definition at line 241 of file GoogleAuditor.cpp.

Gaudi::Property<bool> Google::AuditorBase::m_skipSequencers
private
Initial value:
{this, "SkipSequencers", true,
"If true, auditing will be skipped for Sequencer objects."}

Definition at line 236 of file GoogleAuditor.cpp.

std::string Google::AuditorBase::m_startedBy
private

Name of the component we are currently auditing.

Definition at line 244 of file GoogleAuditor.cpp.

Gaudi::Property<std::vector<std::string> > Google::AuditorBase::m_veto
private
Initial value:
{
this, "DisableFor", {}, "List of component names to disable the auditing for"}

Definition at line 224 of file GoogleAuditor.cpp.

Gaudi::Property<std::vector<std::string> > Google::AuditorBase::m_when
private
Initial value:
{
this,
"ActivateAt",
{"Initialize", "ReInitialize", "Execute", "BeginRun", "EndRun", "Finalize"},
"List of phases to activate the Auditoring during"}

Definition at line 219 of file GoogleAuditor.cpp.


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