![]() |
The Gaudi Framework
v26r0
|
Performance Monitoring Auditor that uses Perfmon2 library to monitor algorithms. More...
Public Member Functions | |
virtual void | before (StandardEventType evt, INamedInterface *alg) |
The following methods are meant to be implemented by the child class... More... | |
virtual void | after (StandardEventType evt, INamedInterface *alg, const StatusCode &sc) |
Audit the end of a standard "event". More... | |
virtual StatusCode | initialize () |
virtual StatusCode | finalize () |
int | is_nehalem () |
PerfMonAuditor (const std::string &name, ISvcLocator *pSvc) | |
virtual | ~PerfMonAuditor () |
![]() | |
Auditor (const std::string &name, ISvcLocator *svcloc) | |
Constructor. More... | |
virtual | ~Auditor () |
Destructor. More... | |
StatusCode | sysInitialize () |
Initialization method invoked by the framework. More... | |
StatusCode | sysFinalize () |
Finalization method invoked by the framework. More... | |
virtual void | before (StandardEventType, const std::string &) |
Audit the start of a standard "event" for callers that do not implement INamedInterface. More... | |
virtual void | before (CustomEventTypeRef, INamedInterface *) |
Audit the start of a custom "event". More... | |
virtual void | before (CustomEventTypeRef, const std::string &) |
Audit the start of a custom "event" for callers that do not implement INamedInterface. More... | |
virtual void | after (StandardEventType, const std::string &, const StatusCode &) |
Audit the end of a standard "event" for callers that do not implement INamedInterface. More... | |
virtual void | after (CustomEventTypeRef, INamedInterface *, const StatusCode &) |
Audit the end of a custom "event". More... | |
virtual void | after (CustomEventTypeRef, const std::string &, const StatusCode &) |
Audit the end of a custom "event" for callers that do not implement INamedInterface. More... | |
virtual void | beforeInitialize (INamedInterface *) |
virtual void | afterInitialize (INamedInterface *) |
virtual void | beforeReinitialize (INamedInterface *) |
virtual void | afterReinitialize (INamedInterface *) |
virtual void | beforeExecute (INamedInterface *) |
virtual void | afterExecute (INamedInterface *, const StatusCode &) |
virtual void | beforeFinalize (INamedInterface *) |
virtual void | afterFinalize (INamedInterface *) |
virtual void | beforeBeginRun (INamedInterface *) |
virtual void | afterBeginRun (INamedInterface *) |
virtual void | beforeEndRun (INamedInterface *) |
virtual void | afterEndRun (INamedInterface *) |
virtual const std::string & | name () const |
Retrieve the name of the instance. More... | |
virtual bool | isEnabled () const |
Tell if the auditor is enabled or not. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
int | outputLevel () const |
Retrieve the output level of current auditor. More... | |
void | setOutputLevel (int level) |
Set the output level for current auditor. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const |
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... | |
virtual StatusCode | setProperty (const Property &p) |
Set a value of a property of an auditor. More... | |
virtual StatusCode | setProperty (const std::string &s) |
Implementation of IProperty::setProperty. More... | |
virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
Implementation of IProperty::setProperty. More... | |
virtual StatusCode | getProperty (Property *p) const |
Get the value of a property. More... | |
virtual const Property & | getProperty (const std::string &name) const |
Get the property by name. More... | |
virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
Implementation of IProperty::getProperty. More... | |
const std::vector< Property * > & | getProperties () const |
Get all properties. More... | |
template<class TYPE > | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | setProperties () |
Set the auditor's properties. More... | |
template<class T > | |
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
Declare the named property. More... | |
![]() | |
virtual | ~extend_interfaces2 () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IAuditor, 3, 0) | |
InterfaceID. More... | |
![]() | |
DeclareInterfaceID (INamedInterface, 1, 0) | |
InterfaceID. More... | |
virtual | ~INamedInterface () |
Virtual destructor (always needed for abstract classes). More... | |
![]() | |
virtual void * | i_cast (const InterfaceID &) const =0 |
main cast function More... | |
virtual std::vector< std::string > | getInterfaceNames () const =0 |
Returns a vector of strings containing the names of all the implemented interfaces. More... | |
virtual unsigned long | addRef ()=0 |
Increment the reference count of Interface instance. More... | |
virtual unsigned long | release ()=0 |
Release Interface instance. More... | |
virtual unsigned long | refCount () const =0 |
Current reference count. More... | |
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0 |
Set the void** to the pointer to the requested interface of the instance. More... | |
virtual | ~IInterface () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IProperty, 2, 0) | |
InterfaceID. 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 |
Additional Inherited Members | |
![]() | |
typedef Gaudi::PluginService::Factory < IAuditor *, const std::string &, ISvcLocator * > | Factory |
![]() | |
typedef implements2 | base_class |
Typedef to this class. More... | |
typedef extend_interfaces2 < IAuditor, IProperty > | extend_interfaces_base |
Typedef to the base of this class. More... | |
typedef extend_interfaces_base::ext_iids | interfaces |
MPL set of all the implemented interfaces. More... | |
![]() | |
typedef mpl::fold< typename IAuditor::iid::iids::type, typename IProperty::iid::iids::type, mpl::insert< mpl::_1, mpl::_2 > >::type | ext_iids |
MPL set of interfaces extended by this one. More... | |
![]() | |
enum | StandardEventType { Initialize, ReInitialize, Execute, BeginRun, EndRun, Finalize, Start, Stop, ReStart } |
Defines the standard (= used by the framework) auditable event types. More... | |
typedef std::string | CustomEventType |
Type used to allow users to specify a custom event to be audit. More... | |
typedef const CustomEventType & | CustomEventTypeRef |
Used in function calls for optimization purposes. More... | |
![]() | |
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR } |
Return status. More... | |
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid |
Interface ID. More... | |
typedef mpl::set1< iid > | ext_iids |
Extra interfaces. More... | |
![]() | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
Performance Monitoring Auditor that uses Perfmon2 library to monitor algorithms.
Definition at line 200 of file PerfMonAuditor.cpp.
|
private |
Definition at line 354 of file PerfMonAuditor.cpp.
|
inline |
Definition at line 272 of file PerfMonAuditor.cpp.
|
inlinevirtual |
Definition at line 346 of file PerfMonAuditor.cpp.
|
private |
|
private |
|
virtual |
Audit the end of a standard "event".
Reimplemented from Auditor.
Definition at line 1069 of file PerfMonAuditor.cpp.
|
virtual |
The following methods are meant to be implemented by the child class...
Reimplemented from Auditor.
Definition at line 1053 of file PerfMonAuditor.cpp.
|
inlineprivate |
Definition at line 393 of file PerfMonAuditor.cpp.
|
private |
|
virtual |
|
private |
Definition at line 923 of file PerfMonAuditor.cpp.
|
private |
Definition at line 546 of file PerfMonAuditor.cpp.
|
private |
Definition at line 1148 of file PerfMonAuditor.cpp.
|
private |
Definition at line 1094 of file PerfMonAuditor.cpp.
|
private |
Definition at line 1103 of file PerfMonAuditor.cpp.
|
private |
Definition at line 1085 of file PerfMonAuditor.cpp.
|
virtual |
Reimplemented from Auditor.
Definition at line 601 of file PerfMonAuditor.cpp.
|
inline |
Definition at line 217 of file PerfMonAuditor.cpp.
|
private |
|
private |
Definition at line 525 of file PerfMonAuditor.cpp.
|
inlineprivate |
Definition at line 396 of file PerfMonAuditor.cpp.
|
inlineprivate |
Definition at line 395 of file PerfMonAuditor.cpp.
|
inlineprivate |
Definition at line 394 of file PerfMonAuditor.cpp.
|
staticprivate |
Definition at line 653 of file PerfMonAuditor.cpp.
|
staticprivate |
Definition at line 694 of file PerfMonAuditor.cpp.
|
private |
Definition at line 756 of file PerfMonAuditor.cpp.
|
private |
Definition at line 420 of file PerfMonAuditor.cpp.
|
private |
Definition at line 904 of file PerfMonAuditor.cpp.
|
private |
Definition at line 508 of file PerfMonAuditor.cpp.
|
private |
Definition at line 405 of file PerfMonAuditor.cpp.
|
private |
Definition at line 403 of file PerfMonAuditor.cpp.
|
private |
Definition at line 382 of file PerfMonAuditor.cpp.
|
private |
Definition at line 389 of file PerfMonAuditor.cpp.
|
private |
Definition at line 364 of file PerfMonAuditor.cpp.
|
private |
Definition at line 415 of file PerfMonAuditor.cpp.
|
private |
Definition at line 378 of file PerfMonAuditor.cpp.
|
private |
Definition at line 375 of file PerfMonAuditor.cpp.
|
private |
Definition at line 377 of file PerfMonAuditor.cpp.
|
private |
Definition at line 368 of file PerfMonAuditor.cpp.
|
private |
Definition at line 413 of file PerfMonAuditor.cpp.
|
private |
Definition at line 414 of file PerfMonAuditor.cpp.
|
private |
Definition at line 369 of file PerfMonAuditor.cpp.
|
private |
Definition at line 362 of file PerfMonAuditor.cpp.
|
private |
Definition at line 381 of file PerfMonAuditor.cpp.
|
private |
Definition at line 360 of file PerfMonAuditor.cpp.
|
private |
Definition at line 411 of file PerfMonAuditor.cpp.
|
private |
Definition at line 367 of file PerfMonAuditor.cpp.
|
private |
Definition at line 404 of file PerfMonAuditor.cpp.
|
private |
Definition at line 356 of file PerfMonAuditor.cpp.
|
private |
Definition at line 357 of file PerfMonAuditor.cpp.
|
private |
Definition at line 355 of file PerfMonAuditor.cpp.
|
private |
Definition at line 233 of file PerfMonAuditor.cpp.
|
private |
Definition at line 407 of file PerfMonAuditor.cpp.
|
private |
Definition at line 387 of file PerfMonAuditor.cpp.
|
private |
Definition at line 385 of file PerfMonAuditor.cpp.
|
private |
Definition at line 406 of file PerfMonAuditor.cpp.
|
private |
Definition at line 363 of file PerfMonAuditor.cpp.
|
private |
Definition at line 384 of file PerfMonAuditor.cpp.
|
private |
Definition at line 366 of file PerfMonAuditor.cpp.
|
private |
Definition at line 365 of file PerfMonAuditor.cpp.
|
private |
Definition at line 408 of file PerfMonAuditor.cpp.
|
private |
Definition at line 380 of file PerfMonAuditor.cpp.
|
private |
Definition at line 376 of file PerfMonAuditor.cpp.
|
private |
Definition at line 379 of file PerfMonAuditor.cpp.
|
private |
Definition at line 370 of file PerfMonAuditor.cpp.
|
private |
Definition at line 391 of file PerfMonAuditor.cpp.
|
private |
Definition at line 383 of file PerfMonAuditor.cpp.
|
private |
Definition at line 386 of file PerfMonAuditor.cpp.
|
private |
Definition at line 388 of file PerfMonAuditor.cpp.