Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

jobc::Resource Class Reference

Summary of system resources. More...

#include <Resource.h>

List of all members.

Public Member Functions

 Resource ()
void Log ()
void Sum (const Resource &r)
void Difference (const Resource &r)

Public Attributes

double stime
double utime
double maxrss
double ixrss
double idrss
double isrss
double minflt
double majflt
double nswap
double inblock
double oublock
double msgsnd
double msgrcv
double nsignals
double nvcsw
double nivcsw


Detailed Description

Summary of system resources.

Resources are stored as doubles so allow for signed arithmetic allowing this class to also track differences in resource utilization

Definition at line 10 of file Resource.h.


Constructor & Destructor Documentation

Resource::Resource  ) 
 

Definition at line 7 of file Resource.cxx.

00007                    :
00008   stime(0),
00009   utime(0),
00010   maxrss(0),
00011   ixrss(0),
00012   idrss(0),
00013   isrss(0),
00014   minflt(0),
00015   majflt(0),
00016   nswap(0),
00017   inblock(0),
00018   oublock(0),
00019   msgsnd(0),
00020   msgrcv(0),
00021   nsignals(0),
00022   nvcsw(0),
00023   nivcsw(0)
00024 { }


Member Function Documentation

void Resource::Difference const Resource r  ) 
 

Definition at line 76 of file Resource.cxx.

References idrss, inblock, isrss, ixrss, majflt, maxrss, minflt, msgrcv, msgsnd, nivcsw, nsignals, nswap, nvcsw, oublock, stime, and utime.

Referenced by jobc::Sequence::Exec(), and jobc::Node::Exec().

00077 {
00078   utime    -= r.utime;
00079   stime    -= r.stime;
00080   maxrss   -= r.maxrss;
00081   ixrss    -= r.ixrss;
00082   idrss    -= r.idrss;
00083   isrss    -= r.isrss;
00084   minflt   -= r.minflt;
00085   majflt   -= r.majflt;
00086   nswap    -= r.nswap;
00087   inblock  -= r.inblock;
00088   oublock  -= r.oublock;
00089   msgsnd   -= r.msgsnd;
00090   msgrcv   -= r.msgrcv;
00091   nsignals -= r.nsignals;
00092   nvcsw    -= r.nvcsw;
00093   nivcsw   -= r.nivcsw;
00094 }

void Resource::Log  ) 
 

Definition at line 28 of file Resource.cxx.

References idrss, inblock, isrss, ixrss, majflt, maxrss, minflt, msgrcv, msgsnd, nivcsw, nsignals, nswap, nvcsw, oublock, stime, and utime.

Referenced by jobc::Sequence::Exec(), and jobc::Node::Exec().

00029 {
00030   struct rusage r;
00031   getrusage(RUSAGE_SELF, &r); 
00032 
00033   utime = r.ru_utime.tv_sec + 1.0E-6*r.ru_utime.tv_usec;
00034   stime = r.ru_stime.tv_sec + 1.0E-6*r.ru_stime.tv_usec;
00035   
00036   maxrss   = 1.0*r.ru_maxrss;
00037   ixrss    = 1.0*r.ru_ixrss;
00038   idrss    = 1.0*r.ru_idrss;
00039   isrss    = 1.0*r.ru_isrss;
00040   minflt   = 1.0*r.ru_minflt;
00041   majflt   = 1.0*r.ru_majflt;
00042   nswap    = 1.0*r.ru_nswap;
00043   inblock  = 1.0*r.ru_inblock;
00044   oublock  = 1.0*r.ru_oublock;
00045   msgsnd   = 1.0*r.ru_msgsnd;
00046   msgrcv   = 1.0*r.ru_msgrcv;
00047   nsignals = 1.0*r.ru_nsignals;
00048   nvcsw    = 1.0*r.ru_nvcsw;
00049   nivcsw   = 1.0*r.ru_nivcsw;
00050 }

void Resource::Sum const Resource r  ) 
 

Definition at line 54 of file Resource.cxx.

References idrss, inblock, isrss, ixrss, majflt, maxrss, minflt, msgrcv, msgsnd, nivcsw, nsignals, nswap, nvcsw, oublock, stime, and utime.

Referenced by jobc::Node::Exec().

00055 {
00056   utime    += r.utime;
00057   stime    += r.stime;
00058   maxrss   += r.maxrss;
00059   ixrss    += r.ixrss;
00060   idrss    += r.idrss;
00061   isrss    += r.isrss;
00062   minflt   += r.minflt;
00063   majflt   += r.majflt;
00064   nswap    += r.nswap;
00065   inblock  += r.inblock;
00066   oublock  += r.oublock;
00067   msgsnd   += r.msgsnd;
00068   msgrcv   += r.msgrcv;
00069   nsignals += r.nsignals;
00070   nvcsw    += r.nvcsw;
00071   nivcsw   += r.nivcsw;
00072 }


Member Data Documentation

double jobc::Resource::idrss
 

Definition at line 21 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::inblock
 

Definition at line 26 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::isrss
 

Definition at line 22 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::ixrss
 

Definition at line 20 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::majflt
 

Definition at line 24 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::maxrss
 

Definition at line 19 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::minflt
 

Definition at line 23 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::msgrcv
 

Definition at line 29 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::msgsnd
 

Definition at line 28 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::nivcsw
 

Definition at line 32 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::nsignals
 

Definition at line 30 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::nswap
 

Definition at line 25 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::nvcsw
 

Definition at line 31 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::oublock
 

Definition at line 27 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::stime
 

Definition at line 17 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::Print(), jobc::Node::RecoTime(), jobc::Node::ResourceReport(), and Sum().

double jobc::Resource::utime
 

Definition at line 18 of file Resource.h.

Referenced by Difference(), Log(), jobc::Node::Print(), jobc::Node::RecoTime(), jobc::Node::ResourceReport(), and Sum().


The documentation for this class was generated from the following files:
Generated on Thu Jul 24 12:01:17 2008 for NOvA Offline by doxygen 1.3.5