use Monitor::getStats()

This commit is contained in:
Michael Davidsaver
2016-02-05 13:55:11 -05:00
parent 0e5456c9ef
commit 64b2868521

View File

@ -315,6 +315,7 @@ void statusServer(int lvl, const char *chanexpr)
MonitorCacheEntry::interested_t::vector_type usrs;
size_t nsrvmon;
pvd::Monitor::Stats mstats;
bool hastype, hasdata, isdone;
{
Guard G(ME.mutex());
@ -324,6 +325,9 @@ void statusServer(int lvl, const char *chanexpr)
hasdata = !!ME.lastelem;
isdone = ME.done;
if(ME.mon)
ME.mon->getStats(mstats);
if(lvl>2)
usrs = ME.interested.lock_vector();
}
@ -335,6 +339,10 @@ void statusServer(int lvl, const char *chanexpr)
<<"recv'd some data, Has "<<(isdone?"":"not ")<<"finalized\n"
" "<< epicsAtomicGetSizeT(&ME.nwakeups)<<" wakeups "
<<epicsAtomicGetSizeT(&ME.nevents)<<" events\n";
if(mstats.nempty || mstats.nfilled || mstats.noutstanding)
std::cout<<" US monitor queue "<<mstats.nfilled
<<" filled, "<<mstats.noutstanding
<<" outstanding, "<<mstats.nempty<<" empty\n";
if(lvl<=2)
continue;