The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
MemoryAuditor Class Reference

Monitors the memory use of each algorithm. More...

Inheritance diagram for MemoryAuditor:
Collaboration diagram for MemoryAuditor:

Protected Member Functions

void before (std::string const &evt, std::string const &, EventContext const &) override
 Default (catch-all) "before" Auditor hook.
 
void after (std::string const &evt, std::string const &caller, EventContext const &, const StatusCode &sc) override
 Default (catch-all) "after" Auditor hook.
 
virtual void i_printinfo (std::string_view msg, std::string const &evt, std::string_view caller)
 Report the memory usage.
 
- Protected Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
MSG::Level setUpMessaging () const
 Set up local caches.
 
MSG::Level resetMessaging ()
 Reinitialize internal states.
 
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream.
 

Additional Inherited Members

- Public Types inherited from Gaudi::Auditor
using Factory = Gaudi::PluginService::Factory<IAuditor*( const std::string&, ISvcLocator* )>
 
- Public Types inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
using PropertyHolderImpl
 Typedef used to refer to this class from derived classes, as in.
 
- Public Types inherited from CommonMessaging< implements< IAuditor, IProperty > >
using base_class
 
- Public Member Functions inherited from Gaudi::Auditor
 Auditor (std::string name, ISvcLocator *svcloc)
 
 Auditor (const Auditor &a)=delete
 
Auditoroperator= (const Auditor &rhs)=delete
 
StatusCode sysInitialize () override
 
StatusCode sysFinalize () override
 
void before (std::string const &, std::string const &, EventContext const &) override
 
void after (std::string const &, std::string const &, EventContext const &, StatusCode const &=StatusCode::SUCCESS) override
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
const std::string & name () const override
 
bool isEnabled () const override
 
SmartIF< ISvcLocator > & serviceLocator () const override
 The standard service locator.
 
template<class T = IService>
SmartIF< T > service (std::string_view name, bool createIf=false) const
 Access a service by name, creating it if it doesn't already exist.
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property.
 
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals.
 
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string.
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
 
 PropertyHolder ()=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property.
 
Gaudi::Details::PropertyBasedeclareProperty (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.
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
 Declare a PropertyBase instance setting name and documentation.
 
Gaudi::Details::PropertyBasedeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property.
 
StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override
 set the property from another property with a different name
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string
 
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property.
 
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals.
 
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string.
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
 
StatusCode setPropertyRepr (const std::string &n, const std::string &r) override
 set the property from name and value string representation
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property
 
const Gaudi::Details::PropertyBasegetProperty (std::string_view name) const override
 get the property by name
 
StatusCode getProperty (std::string_view n, std::string &v) const override
 convert the property to the string
 
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties
 
bool hasProperty (std::string_view name) const override
 Return true if we have a property with the given name.
 
Gaudi::Details::PropertyBaseproperty (std::string_view name) const
 \fixme property and bindPropertiesTo should be protected
 
void bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc)
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (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)
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor.
 
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service.
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream.
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts.
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS)
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL)
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR)
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR)
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING)
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO)
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG)
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE)
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO)
 

Detailed Description

Monitors the memory use of each algorithm.

Author
M. Shapiro, LBNL
Marco Clemencic

Definition at line 22 of file MemoryAuditor.cpp.

Member Function Documentation

◆ after()

void MemoryAuditor::after ( std::string const & evt,
std::string const & caller,
EventContext const & ,
const StatusCode & sc )
overrideprotected

Default (catch-all) "after" Auditor hook.

Definition at line 43 of file MemoryAuditor.cpp.

43 {
44 i_printinfo( "Memory usage has changed after", evt, caller );
45}
virtual void i_printinfo(std::string_view msg, std::string const &evt, std::string_view caller)
Report the memory usage.

◆ before()

void MemoryAuditor::before ( std::string const & evt,
std::string const & caller,
EventContext const &  )
overrideprotected

Default (catch-all) "before" Auditor hook.

Definition at line 39 of file MemoryAuditor.cpp.

39 {
40 i_printinfo( "Memory usage before", evt, caller );
41}

◆ i_printinfo()

void MemoryAuditor::i_printinfo ( std::string_view msg,
std::string const & evt,
std::string_view caller )
protectedvirtual

Report the memory usage.

Get the process informations. fetch true if it was possible to retrieve the informations.

Definition at line 47 of file MemoryAuditor.cpp.

47 {
50 if ( procInfo pInfo; ProcStats::instance()->fetch( pInfo ) ) {
51 if ( pInfo.vsize > 0 ) {
52 info() << msg << " " << caller << " " << evt << " virtual size = " << pInfo.vsize << " MB"
53 << " resident set size = " << pInfo.rss << " MB" << endmsg;
54 }
55 }
56}
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition MsgStream.h:198
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
bool fetch(procInfo &fill_me)
static ProcStats * instance()

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