Gaudi Framework, version v24r2

Home   Generated: Wed Dec 4 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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:
Inheritance graph
[legend]
Collaboration diagram for Google::HeapProfiler:
Collaboration graph
[legend]

Public Member Functions

 HeapProfiler (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor.
 
- Public Member Functions inherited from Google::AuditorBase
 AuditorBase (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor.
 
virtual ~AuditorBase ()
 Destructor.
 
StatusCode initialize ()
 Initialize the auditor base.
 
StatusCode finalize ()
 Finalize the auditor base.
 
void handle (const Incident &incident)
 Implement the handle method for the Incident service.
 
void before (StandardEventType type, INamedInterface *i)
 The following methods are meant to be implemented by the child class...
 
void before (CustomEventTypeRef type, INamedInterface *i)
 
void before (StandardEventType type, const std::string &s)
 
void before (CustomEventTypeRef, 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, 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 extends1< Auditor, IIncidentListener >
 extends1 (A1 a1, A2 a2, A3 a3)
 Templated constructor with 3 arguments.
 
 extends1 (A1 a1, A2 a2)
 Templated constructor with 2 arguments.
 
 extends1 (A1 a1)
 Templated constructor with 1 argument.
 
 extends1 ()
 Default constructor.
 
virtual void * i_cast (const InterfaceID &tid) const
 Implementation of IInterface::i_cast.
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)
 Implementation of IInterface::queryInterface.
 
virtual std::vector< std::stringgetInterfaceNames () const
 Implementation of IInterface::getInterfaceNames.
 
virtual ~extends1 ()
 Virtual destructor.
 
- Public Member Functions inherited from Auditor
 Auditor (const std::string &name, ISvcLocator *svcloc)
 Constructor.
 
virtual ~Auditor ()
 Destructor.
 
StatusCode sysInitialize ()
 Initialization method invoked by the framework.
 
StatusCode sysFinalize ()
 Finalization method invoked by the framework.
 
virtual const std::stringname () const
 
virtual bool isEnabled () const
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service.
 
int outputLevel () const
 Retrieve the output level of current auditor.
 
void setOutputLevel (int level)
 Set the output level for current auditor.
 
SmartIF< ISvcLocator > & serviceLocator () const
 The standard service locator.
 
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.
 
virtual StatusCode setProperty (const Property &p)
 Set a value of a property of an auditor.
 
virtual StatusCode setProperty (const std::string &s)
 Implementation of IProperty::setProperty.
 
virtual StatusCode setProperty (const std::string &n, const std::string &v)
 Implementation of IProperty::setProperty.
 
virtual StatusCode getProperty (Property *p) const
 Get the value of a property.
 
virtual const PropertygetProperty (const std::string &name) const
 Get the property by name.
 
virtual StatusCode getProperty (const std::string &n, std::string &v) const
 Implementation of IProperty::getProperty.
 
const std::vector< Property * > & getProperties () const
 Get all properties.
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
 
StatusCode setProperties ()
 Set the auditor's properties.
 
template<class T >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property.
 
- Public Member Functions inherited from extend_interfaces1< IIncidentListener >
virtual ~extend_interfaces1 ()
 Virtual destructor.
 
- Public Member Functions inherited from IIncidentListener
 DeclareInterfaceID (IIncidentListener, 2, 0)
 InterfaceID.
 
- Public Member Functions inherited from IInterface
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
 
virtual unsigned long release ()=0
 Release Interface instance.
 
virtual unsigned long refCount () const =0
 Current reference count.
 
virtual ~IInterface ()
 Virtual destructor.
 

Protected Member Functions

void google_before (const std::string &s)
 Start the google tool.
 
void google_after (const std::string &s)
 stop the google tool
 
bool alreadyRunning ()
 check if we are already running the tool
 

Private Attributes

bool m_dumpProfileHeaps
 
bool m_printProfilesToLog
 

Additional Inherited Members

- Public Types inherited from extends1< Auditor, IIncidentListener >
typedef extends1 base_class
 Typedef to this class.
 
typedef extend_interfaces1
< IIncidentListener
extend_interfaces_base
 Typedef to the base of this class.
 
typedef
extend_interfaces_base::ext_iids 
interfaces
 MPL set of all the implemented interfaces.
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface.
 
- Protected Attributes inherited from Google::AuditorBase
MsgStream m_log
 Messaging object.
 

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 337 of file GoogleAuditor.cpp.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 343 of file GoogleAuditor.cpp.

: AuditorBase( name, pSvcLocator )
{
declareProperty( "DumpHeapProfiles", m_dumpProfileHeaps = true );
declareProperty( "PrintProfilesToLog", m_printProfilesToLog = false );
}

Member Function Documentation

bool Google::HeapProfiler::alreadyRunning ( )
inlineprotectedvirtual

check if we are already running the tool

Implements Google::AuditorBase.

Definition at line 372 of file GoogleAuditor.cpp.

{ return IsHeapProfilerRunning(); }
void Google::HeapProfiler::google_after ( const std::string s)
inlineprotectedvirtual

stop the google tool

Implements Google::AuditorBase.

Definition at line 357 of file GoogleAuditor.cpp.

{
{
HeapProfilerDump(s.c_str());
}
{
const char * profile = GetHeapProfile();
m_log << MSG::INFO << profile << endmsg;
delete profile;
}
HeapProfilerStop();
}
void Google::HeapProfiler::google_before ( const std::string s)
inlineprotectedvirtual

Start the google tool.

Implements Google::AuditorBase.

Definition at line 352 of file GoogleAuditor.cpp.

{
HeapProfilerStart(s.c_str());
}

Member Data Documentation

bool Google::HeapProfiler::m_dumpProfileHeaps
private

Definition at line 376 of file GoogleAuditor.cpp.

bool Google::HeapProfiler::m_printProfilesToLog
private

Definition at line 377 of file GoogleAuditor.cpp.


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

Generated at Wed Dec 4 2013 14:33:23 for Gaudi Framework, version v24r2 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004