The Gaudi Framework
v30r3 (a5ef0a68)
|
Performance Monitoring Auditor that uses Perfmon2 library to monitor algorithms. More...
Public Member Functions | |
void | before (StandardEventType evt, INamedInterface *alg) override |
void | after (StandardEventType evt, INamedInterface *alg, const StatusCode &sc) override |
StatusCode | initialize () override |
StatusCode | finalize () override |
int | is_nehalem () |
PerfMonAuditor (const std::string &name, ISvcLocator *pSvc) | |
virtual | ~PerfMonAuditor () |
Public Member Functions inherited from Auditor | |
Auditor (const std::string &name, ISvcLocator *svcloc) | |
Constructor. More... | |
Auditor (const Auditor &a)=delete | |
Auditor & | operator= (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::string & | name () 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::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (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::PropertyBase * | declareProperty (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::PropertyBase * | declareRemoteProperty (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::PropertyBase & | getProperty (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 | |
PropertyHolder & | operator= (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... | |
MsgStream & | msgStream () const |
Return an uninitialized MsgStream. More... | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. More... | |
MsgStream & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) More... | |
Private Types | |
typedef GaudiUtils::VectorMap< const INamedInterface *, int > | Map |
Private Member Functions | |
void | i_beforeInitialize (INamedInterface *alg) |
void | i_afterInitialize (INamedInterface *alg) |
void | i_beforeExecute (INamedInterface *alg) |
void | i_afterExecute (INamedInterface *alg) |
PerfMonAuditor () | |
PerfMonAuditor (const PerfMonAuditor &) | |
PerfMonAuditor & | operator= (const PerfMonAuditor &) |
void | startpm () |
void | pausepm () |
void | stoppm () |
void | finalizepm () |
int | detect_unavail_pmu_regs (int fd, pfmlib_regmask_t *r_pmcs, pfmlib_regmask_t *r_pmds) |
int | detect_unavail_pmcs (int fd, pfmlib_regmask_t *r_pmcs) |
void | pfm_bv_set (uint64_t *bv, uint16_t rnum) |
int | pfm_bv_isset (uint64_t *bv, uint16_t rnum) |
void | pfm_bv_copy (uint64_t *d, uint64_t *j, uint16_t n) |
void | start_smpl () |
void | stop_smpl () |
void | finalize_smpl () |
Static Private Member Functions | |
static void | process_smpl_buf (pfm_dfl_smpl_hdr_t *hdr, size_t entry_size) |
static void | sigio_handler (int, struct siginfo *, struct sigcontext *) |
Private Attributes | |
PFMon & | m_pfm |
Map | m_map |
int | m_indent |
bool | m_inEvent |
int | is_nehalem_ret |
pfmlib_input_param_t | inp |
pfmlib_output_param_t | outp |
pfarg_ctx_t | ctx |
pfarg_pmd_t | pd [NUM_PMDS] |
pfarg_pmc_t | pc [NUM_PMCS] |
pfarg_load_t | load_arg |
int | fd |
unsigned int | i |
int | ret |
std::string | event_str [MAX_NUMBER_OF_PROGRAMMABLE_COUNTERS] |
std::string | prefix |
std::string | family |
char | event_cstr [MAX_NUMBER_OF_PROGRAMMABLE_COUNTERS][MAX_EVENT_NAME_LENGTH] |
char | prefix_cstr [MAX_PREFIX_NAME_LENGTH] |
unsigned int | ph_ev_count |
bool | inv [MAX_NUMBER_OF_PROGRAMMABLE_COUNTERS] |
unsigned int | cmask [MAX_NUMBER_OF_PROGRAMMABLE_COUNTERS] |
unsigned int | start_at_event |
pfmlib_core_input_param_t | params |
pfmlib_nhm_input_param_t | nhm_params |
int | used_counters_number |
bool | nehalem |
bool | westmere |
bool | core |
bool | sampling |
pfm_dfl_smpl_arg_t | buf_arg |
pfarg_load_t | load_args |
void * | buf_addr |
unsigned | num_counters |
unsigned int | max_pmd |
pfmlib_options_t | pfmlib_options |
int | level |
bool | first_alg |
std::string | first_alg_name |
bool | event_count_reached |
Performance Monitoring Auditor that uses Perfmon2 library to monitor algorithms.
Definition at line 202 of file PerfMonAuditor.cpp.
|
private |
Definition at line 357 of file PerfMonAuditor.cpp.
|
inline |
Definition at line 277 of file PerfMonAuditor.cpp.
|
inlinevirtual |
Definition at line 349 of file PerfMonAuditor.cpp.
|
private |
|
private |
|
override |
Definition at line 941 of file PerfMonAuditor.cpp.
|
override |
Definition at line 926 of file PerfMonAuditor.cpp.
|
inlineprivate |
Definition at line 396 of file PerfMonAuditor.cpp.
|
private |
|
overridevirtual |
|
private |
Definition at line 833 of file PerfMonAuditor.cpp.
|
private |
Definition at line 528 of file PerfMonAuditor.cpp.
|
private |
Definition at line 1006 of file PerfMonAuditor.cpp.
|
private |
Definition at line 962 of file PerfMonAuditor.cpp.
|
private |
Definition at line 968 of file PerfMonAuditor.cpp.
|
private |
Definition at line 956 of file PerfMonAuditor.cpp.
|
overridevirtual |
Reimplemented from Auditor.
Definition at line 564 of file PerfMonAuditor.cpp.
|
inline |
Definition at line 219 of file PerfMonAuditor.cpp.
|
private |
|
private |
Definition at line 511 of file PerfMonAuditor.cpp.
Definition at line 402 of file PerfMonAuditor.cpp.
Definition at line 398 of file PerfMonAuditor.cpp.
Definition at line 397 of file PerfMonAuditor.cpp.
|
staticprivate |
Definition at line 612 of file PerfMonAuditor.cpp.
|
staticprivate |
Definition at line 649 of file PerfMonAuditor.cpp.
|
private |
Definition at line 694 of file PerfMonAuditor.cpp.
|
private |
Definition at line 430 of file PerfMonAuditor.cpp.
|
private |
Definition at line 817 of file PerfMonAuditor.cpp.
|
private |
Definition at line 498 of file PerfMonAuditor.cpp.
|
private |
Definition at line 418 of file PerfMonAuditor.cpp.
|
private |
Definition at line 416 of file PerfMonAuditor.cpp.
|
private |
Definition at line 385 of file PerfMonAuditor.cpp.
|
private |
Definition at line 392 of file PerfMonAuditor.cpp.
|
private |
Definition at line 367 of file PerfMonAuditor.cpp.
|
private |
Definition at line 427 of file PerfMonAuditor.cpp.
|
private |
Definition at line 381 of file PerfMonAuditor.cpp.
|
private |
Definition at line 378 of file PerfMonAuditor.cpp.
|
private |
Definition at line 380 of file PerfMonAuditor.cpp.
|
private |
Definition at line 371 of file PerfMonAuditor.cpp.
|
private |
Definition at line 425 of file PerfMonAuditor.cpp.
|
private |
Definition at line 426 of file PerfMonAuditor.cpp.
|
private |
Definition at line 372 of file PerfMonAuditor.cpp.
|
private |
Definition at line 365 of file PerfMonAuditor.cpp.
|
private |
Definition at line 384 of file PerfMonAuditor.cpp.
|
private |
Definition at line 363 of file PerfMonAuditor.cpp.
|
private |
Definition at line 423 of file PerfMonAuditor.cpp.
|
private |
Definition at line 370 of file PerfMonAuditor.cpp.
|
private |
Definition at line 417 of file PerfMonAuditor.cpp.
|
private |
Definition at line 359 of file PerfMonAuditor.cpp.
|
private |
Definition at line 360 of file PerfMonAuditor.cpp.
|
private |
Definition at line 358 of file PerfMonAuditor.cpp.
|
private |
Definition at line 239 of file PerfMonAuditor.cpp.
|
private |
Definition at line 420 of file PerfMonAuditor.cpp.
|
private |
Definition at line 390 of file PerfMonAuditor.cpp.
|
private |
Definition at line 388 of file PerfMonAuditor.cpp.
|
private |
Definition at line 419 of file PerfMonAuditor.cpp.
|
private |
Definition at line 366 of file PerfMonAuditor.cpp.
|
private |
Definition at line 387 of file PerfMonAuditor.cpp.
|
private |
Definition at line 369 of file PerfMonAuditor.cpp.
|
private |
Definition at line 368 of file PerfMonAuditor.cpp.
|
private |
Definition at line 421 of file PerfMonAuditor.cpp.
|
private |
Definition at line 383 of file PerfMonAuditor.cpp.
|
private |
Definition at line 379 of file PerfMonAuditor.cpp.
|
private |
Definition at line 382 of file PerfMonAuditor.cpp.
|
private |
Definition at line 373 of file PerfMonAuditor.cpp.
|
private |
Definition at line 394 of file PerfMonAuditor.cpp.
|
private |
Definition at line 386 of file PerfMonAuditor.cpp.
|
private |
Definition at line 389 of file PerfMonAuditor.cpp.
|
private |
Definition at line 391 of file PerfMonAuditor.cpp.