|
Gaudi Framework, version v22r4 |
| Home | Generated: Fri Sep 2 2011 |
#include <ProcStats.h>

Classes | |
| struct | cleanup |
Public Member Functions | |
| bool | fetch (procInfo &fill_me) |
| double | pageSize () const |
Static Public Member Functions | |
| static ProcStats * | instance () |
Private Member Functions | |
| ProcStats () | |
| ~ProcStats () | |
Private Attributes | |
| int | fd |
| double | pg_size |
| procInfo | curr |
| std::string | fname |
| char | buf [500] |
| bool | valid |
Static Private Attributes | |
| static ProcStats * | inst = 0 |
Friends | |
| struct | cleanup |
Definition at line 37 of file ProcStats.h.
| ProcStats::ProcStats | ( | ) | [private] |
Definition at line 249 of file ProcStats.cpp.
| ProcStats::~ProcStats | ( | ) | [private] |
Definition at line 266 of file ProcStats.cpp.
Definition at line 273 of file ProcStats.cpp.
{
if( valid == false ) return false;
#ifdef __linux
double pr_size, pr_rssize;
linux_proc pinfo;
int cnt;
lseek(fd,0,SEEK_SET);
if((cnt=read(fd,buf,sizeof(buf)))<0)
{
cout << "LINUX Read of Proc file failed:" << endl;
return false;
}
if(cnt>0)
{
buf[cnt]='\0';
sscanf(buf,
//1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 20 1 2 3 4 5 6 7 8 9 30 1 2 3 4 5
"%d %s %c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu %ld %ld %ld %ld %ld %ld %llu %lu %ld %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu",
&pinfo.pid,
pinfo.comm,
&pinfo.state,
&pinfo.ppid,
&pinfo.pgrp,
&pinfo.session,
&pinfo.tty,
&pinfo.tpgid,
&pinfo.flags,
&pinfo.minflt,
&pinfo.cminflt,
&pinfo.majflt,
&pinfo.cmajflt,
&pinfo.utime,
&pinfo.stime,
&pinfo.cutime,
&pinfo.cstime,
&pinfo.priority,
&pinfo.nice,
&pinfo.num_threads,
&pinfo.itrealvalue,
&pinfo.starttime,
&pinfo.vsize,
&pinfo.rss,
&pinfo.rlim,
&pinfo.startcode,
&pinfo.endcode,
&pinfo.startstack,
&pinfo.kstkesp,
&pinfo.kstkeip,
&pinfo.signal,
&pinfo.blocked,
&pinfo.sigignore,
&pinfo.sigcatch,
&pinfo.wchan
);
// resident set size in pages
pr_size = (double)pinfo.vsize;
pr_rssize = (double)pinfo.rss;
f.vsize = pr_size / (1024*1024);
f.rss = pr_rssize * pg_size / (1024*1024);
}
#else
f.vsize = 0;
f.rss = 0;
#endif
bool rc = (curr==f)?false:true;
curr.rss=f.rss;
curr.vsize=f.vsize;
return rc;
}
| ProcStats * ProcStats::instance | ( | ) | [static] |
| double ProcStats::pageSize | ( | ) | const [inline] |
Definition at line 43 of file ProcStats.h.
{ return pg_size; }
friend struct cleanup [friend] |
Definition at line 55 of file ProcStats.h.
char ProcStats::buf[500] [private] |
Definition at line 61 of file ProcStats.h.
procInfo ProcStats::curr [private] |
Definition at line 59 of file ProcStats.h.
int ProcStats::fd [private] |
Definition at line 57 of file ProcStats.h.
std::string ProcStats::fname [private] |
Definition at line 60 of file ProcStats.h.
ProcStats * ProcStats::inst = 0 [static, private] |
Definition at line 64 of file ProcStats.h.
double ProcStats::pg_size [private] |
Definition at line 58 of file ProcStats.h.
bool ProcStats::valid [private] |
Definition at line 62 of file ProcStats.h.