20 void showRefs(
const epics::RefSnapshot& snap,
int lvl,
bool delta)
22 for(epics::RefSnapshot::const_iterator it = snap.begin(), end = snap.end();
25 if(it->second.current==0 && it->second.delta==0 && lvl<=0)
continue;
26 if(delta && it->second.delta==0 && lvl<=0)
continue;
28 printf(
" %s : %zu (delta %zd)\n",
29 it->first.c_str(), it->second.current, it->second.delta);
31 printf(
" %s : %zu\n", it->first.c_str(), it->second.current);
36 #define CATCH() catch(std::exception& e){printf("Error %s\n", e.what());} 41 epics::RefSnapshot snap;
44 showRefs(snap, lvl,
false);
49 static epics::RefSnapshot savedSnap;
54 epics::RefSnapshot snap;
63 epics::RefSnapshot snap;
66 showRefs(snap-savedSnap, lvl,
true);
71 void refmon(
double period,
int lvl)
82 namespace epics {
namespace pvAccess {
86 epics::iocshRegister<int, &refshow>(
"refshow",
"detail level");
87 epics::iocshRegister<&refsave>(
"refsave");
88 epics::iocshRegister<int, &refdiff>(
"refdiff",
"detail level");
89 epics::iocshRegister<double, int, &refmon>(
"refmon",
"update period",
"detail level");
TODO only here because of the Lockable.
epicsShareExtern void refTrackRegistrar()
epicsExportRegistrar(refTrackRegistrar)