Go to the documentation of this file.
30 using Auditor::Auditor;
43 void i_printinfo( std::string_view
msg, std::string
const&
evt, std::string_view caller );
53 return Auditor::initialize().andThen( [&]() ->
StatusCode {
54 m_stat = serviceLocator()->service(
"ChronoStatSvc" );
56 error() <<
"Cannot get ChronoStatSvc" <<
endmsg;
65 double deltaVSize = 0.00001;
69 if ( pInfo.vsize > 0 ) {
75 info() <<
msg <<
" " << caller <<
" " <<
evt <<
" \tvirtual size = " << pInfo.vsize <<
" MB"
76 <<
" \tresident set size = " << pInfo.rss <<
" MB"
77 <<
" deltaVsize = " << deltaVSize <<
" MB" <<
endmsg;
83 Stat sts(
m_stat, std::string{ caller }.append(
":VMem" ), deltaVSize );
static ProcStats * instance()
void before(std::string const &, std::string const &, EventContext const &) override
void after(std::string const &evt, std::string const &caller, EventContext const &, const StatusCode &) override
StatusCode initialize() override
void i_printinfo(std::string_view msg, std::string const &evt, std::string_view caller)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
SmartIF< IChronoStatSvc > m_stat
constexpr static const auto SUCCESS
double m_vSize
vsize of the previous call to printinfo
#define DECLARE_COMPONENT(type)
bool fetch(procInfo &fill_me)
constexpr static const auto FAILURE
Base class from which all concrete auditor classes should be derived.