| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Google::HeapProfiler Class Reference

Auditor based on the Google Heap Profiler. More...

`#include <GoogleAuditor.cpp>`

Inheritance diagram for Google::HeapProfiler:
[legend]
Collaboration diagram for Google::HeapProfiler:
[legend]

## Public Member Functions
| HeapProfiler (const std::string &name, ISvcLocator *pSvcLocator)
| Constructor. More...
Public Member Functions inherited from Google::AuditorBase
| AuditorBase (const std::string &name, ISvcLocator *pSvcLocator)
| Constructor. More...
virtual | ~AuditorBase ()
| Destructor. More...
StatusCode | initialize ()
| Initialize the auditor base. More...
StatusCode | finalize ()
| Finalize the auditor base. More...
void | handle (const Incident &incident)
| Implement the handle method for the Incident service. More...
void | before (StandardEventType type, INamedInterface *i)
void | before (CustomEventTypeRef type, INamedInterface *i)
void | before (StandardEventType type, const std::string &s)
void | before (CustomEventTypeRef type, const std::string &s)
void | after (StandardEventType type, INamedInterface *i, const StatusCode &sc)
void | after (CustomEventTypeRef type, INamedInterface *i, const StatusCode &sc)
void | after (StandardEventType type, const std::string &s, const StatusCode &sc)
void | after (CustomEventTypeRef type, const std::string &s, const StatusCode &)
void | beforeInitialize (INamedInterface *i)
void | beforeReinitialize (INamedInterface *i)
void | beforeExecute (INamedInterface *i)
void | beforeBeginRun (INamedInterface *i)
void | beforeEndRun (INamedInterface *i)
void | beforeFinalize (INamedInterface *i)
void | afterInitialize (INamedInterface *i)
void | afterReinitialize (INamedInterface *i)
void | afterExecute (INamedInterface *i, const StatusCode &s)
void | afterBeginRun (INamedInterface *i)
void | afterEndRun (INamedInterface *i)
void | afterFinalize (INamedInterface *i)
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::string > | getInterfaceNames () const override
| Implementation of IInterface::getInterfaceNames. More...
| ~extends () override=default
| Virtual destructor. More...
Public Member Functions inherited from Auditor
| Auditor (const std::string &name, ISvcLocator *svcloc)
| Constructor. More...
| ~Auditor () override=default
| Destructor. More...
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
| 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 | setProperty (const Property &p) override
| Set a value of a property of an auditor. More...
StatusCode | setProperty (const std::string &s) override
| Implementation of IProperty::setProperty. More...
StatusCode | setProperty (const std::string &n, const std::string &v) override
| Implementation of IProperty::setProperty. More...
StatusCode | getProperty (Property *p) const override
| Get the value of a property. More...
const Property & | getProperty (const std::string &name) const override
| Get the property by name. More...
StatusCode | getProperty (const std::string &n, std::string &v) const override
| Implementation of IProperty::getProperty. More...
const std::vector< Property * > & | getProperties () const override
| Get all properties. More...
bool | hasProperty (const std::string &name) const override
| Implementation of IProperty::hasProperty. 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...
Public Member Functions inherited from CommonMessagingBase
virtual | ~CommonMessagingBase ()=default
| Virtual destructor. More...
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...
MSG::Level | msgLevel () const
| get the output level from the embedded MsgStream More...
MSG::Level | outputLevel () const __attribute__((deprecated))
| Backward compatibility function for getting the output level. More...
bool | msgLevel (MSG::Level lvl) const
| get the output level from the embedded MsgStream More...
Public Member Functions inherited from extend_interfaces< Interfaces...>
| ~extend_interfaces () override=default
| Virtual destructor. More...

## Protected Member Functions
void | google_before (const std::string &s)
| Start the google tool. More...
void | google_after (const std::string &s)
| stop the google tool More...
bool | alreadyRunning ()
| check if we are already running the tool More...
Protected Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
void | updateMsgStreamOutputLevel (int level)
| Update the output level of the cached MsgStream. More...

## Private Attributes
bool | m_dumpProfileHeaps
bool | m_printProfilesToLog

## 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
typedef Gaudi::PluginService::Factory< IAuditor *, const std::string &, ISvcLocator * > | Factory
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...
Protected Attributes inherited from Google::AuditorBase
MsgStream | m_log
| Messaging object. More...

## Detailed Description

Auditor based on the Google Heap Profiler.

See

http://google-perftools.googlecode.com/svn/trunk/doc/heapprofile.html

For more details.

Author
  Chris Jones

Date
  18/04/2011

Definition at line 365 of file GoogleAuditor.cpp.

## Constructor & Destructor Documentation

Google::HeapProfiler::HeapProfiler | ( | const std::string & | name,
|  | ISvcLocator * | pSvcLocator
| ) |  |
| inline

Constructor.

Definition at line 371 of file GoogleAuditor.cpp.

372 : AuditorBase( name, pSvcLocator )
373 {
374 declareProperty( "DumpHeapProfiles", m_dumpProfileHeaps = true );
375 declareProperty( "PrintProfilesToLog", m_printProfilesToLog = false );
376 }
Google::HeapProfiler::m_printProfilesToLog
bool m_printProfilesToLog
Definition: GoogleAuditor.cpp:405
Google::HeapProfiler::m_dumpProfileHeaps
bool m_dumpProfileHeaps
Definition: GoogleAuditor.cpp:404
Auditor::declareProperty
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: Auditor.h:232
Google::AuditorBase::AuditorBase
AuditorBase(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: GoogleAuditor.cpp:313

## Member Function Documentation

bool Google::HeapProfiler::alreadyRunning | ( |  | ) |
| inline protected virtual

check if we are already running the tool

Implements Google::AuditorBase.

Definition at line 400 of file GoogleAuditor.cpp.

400 { return IsHeapProfilerRunning(); }

void Google::HeapProfiler::google_after | ( | const std::string & | s | ) |
| inline protected virtual

stop the google tool

Implements Google::AuditorBase.

Definition at line 385 of file GoogleAuditor.cpp.

386 {
387 if ( m_dumpProfileHeaps )
388 {
389 HeapProfilerDump(s.c_str());
390 }
391 if ( m_printProfilesToLog )
392 {
393 const char * profile = GetHeapProfile();
394 m_log << MSG::INFO << profile << endmsg;
395 delete profile;
396 }
397 HeapProfilerStop();
398 }
Google::HeapProfiler::m_printProfilesToLog
bool m_printProfilesToLog
Definition: GoogleAuditor.cpp:405
Google::HeapProfiler::m_dumpProfileHeaps
bool m_dumpProfileHeaps
Definition: GoogleAuditor.cpp:404
std::string::c_str
T c_str(T...args)
Google::AuditorBase::m_log
MsgStream m_log
Messaging object.
Definition: GoogleAuditor.cpp:283
MSG::INFO
Definition: IMessageSvc.h:19
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244

void Google::HeapProfiler::google_before | ( | const std::string & | s | ) |
| inline protected virtual

Start the google tool.

Implements Google::AuditorBase.

Definition at line 380 of file GoogleAuditor.cpp.

381 {
382 HeapProfilerStart(s.c_str());
383 }
std::string::c_str
T c_str(T...args)

## Member Data Documentation

bool Google::HeapProfiler::m_dumpProfileHeaps
| private

Definition at line 404 of file GoogleAuditor.cpp.

bool Google::HeapProfiler::m_printProfilesToLog
| private

Definition at line 405 of file GoogleAuditor.cpp.

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

- GaudiProfiling/src/component/google/GoogleAuditor.cpp