|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef VALKYRIE_VALGRINDAUDITOR_H
6 #define VALKYRIE_VALGRINDAUDITOR_H
12 #include <boost/regex.hpp>
15 #include "GaudiKernel/Auditor.h"
16 #include "GaudiKernel/ServiceHandle.h"
17 #include "GaudiKernel/IIncidentListener.h"
18 #include "GAUDI_VERSION.h"
21 class INamedInterface;
36 virtual public IIncidentListener
45 virtual void handle(
const Incident& incident );
50 virtual void before (StandardEventType
evt,
const std::string&
name);
85 typedef std::pair<boost::regex,std::string>
NameEvt;
111 std::vector< std::pair<NameEvt,NameEvt> >
m_hooks;
113 void do_before(
const std::string&
name,
const std::string& hook);
114 void do_after(
const std::string&
name,
const std::string& hook);
StatusCode decodeIntervals()
virtual void after(CustomEventTypeRef evt, INamedInterface *alg, const StatusCode &sc)
virtual void before(StandardEventType evt, INamedInterface *alg)
virtual void after(StandardEventType evt, const std::string &name, const StatusCode &sc)
virtual void before(CustomEventTypeRef evt, const std::string &name)
std::vector< std::string > m_algs
List of algorithms to profile.
virtual void after(StandardEventType evt, INamedInterface *alg, const StatusCode &sc)
virtual void handle(const Incident &incident)
Incident handler.
std::vector< boost::regex > m_algsRegEx
Regular expressions for algorithm name matching.
ServiceHandle< IValgrindSvc > m_valSvc
Handle to ValgrindSvc.
unsigned int m_ignoreFirstNEvents
Don't profile on the first N events.
ValgrindAuditor(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< std::pair< NameEvt, NameEvt > > m_hooks
Internal storage of intervals.
bool m_dumpAfterEachInterval
Dump profile after each interval.
std::pair< boost::regex, std::string > NameEvt
Typedef for algorithm/event pair, e.g. ("MyAlg","initialize")
unsigned int m_eventCounter
Internal event counter for BeginEvent incident.
::StatusCode StatusCode
StatusCode definition for legacy code.
Abstract interface for ValgrindSvc.
bool algMatch(const std::string &name)
void do_after(const std::string &name, const std::string &hook)
void do_before(const std::string &name, const std::string &hook)
virtual void before(StandardEventType evt, const std::string &name)
std::vector< std::string > m_intervals
List of auditor intervals to profile.
virtual void before(CustomEventTypeRef evt, INamedInterface *alg)
virtual void after(CustomEventTypeRef evt, const std::string &name, const StatusCode &)
virtual void do_beforeExecute(const std::string &name)
Start callgrind instrumentation.
virtual StatusCode initialize()
virtual ~ValgrindAuditor()
virtual void do_afterExecute(const std::string &name)
Stop callgrind instrumentation.