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

jobc::ResourceSummary Class Reference

A module to summarize CPU and memory resources used by a job. More...

#include <ResourceSummary.h>

Inheritance diagram for jobc::ResourceSummary:

jobc::Module cfg::Observer List of all members.

Public Member Functions

 ResourceSummary (const char *version)
 ~ResourceSummary ()
Result Ana (const edm::EventHandle &evt)
void Update (const cfg::Config &c)

Private Attributes

int fNsample
 One report for every "fNsample" events.
int fCount
 Count of events seen.
Resource fResource
 Summary of system resources.
TNtuple * fNt
 Summary ntuple.

Detailed Description

A module to summarize CPU and memory resources used by a job.

Definition at line 20 of file ResourceSummary.h.


Constructor & Destructor Documentation

ResourceSummary::ResourceSummary const char *  version  ) 
 

Definition at line 16 of file ResourceSummary.cxx.

References fNt, and jobc::Module::SetCfgVersion().

00016                                                     : 
00017   jobc::Module("jobc::ResourceSummary"),
00018   fNsample(10),
00019   fCount(0),
00020   fNt(0)
00021 {
00022   this->SetCfgVersion(version);
00023 
00024   const char* varlist = 
00025     "count:run:event:stime:utime:maxrss:ixrss:idrss:isrss:"
00026     "minflt:majflt:nswap:inblock:oublock:msgsnd:msgrcv:"
00027     "nsignals:nvcsw:nivcsw:size:resident:shared:trs:drs:lrs:dt";
00028   fNt = new TNtuple("nt","ResourceSummary",varlist);
00029 }

ResourceSummary::~ResourceSummary  ) 
 

Definition at line 33 of file ResourceSummary.cxx.

References fNt.

00034 {
00035   fNt->Write();
00036   delete fNt;
00037 }


Member Function Documentation

Result ResourceSummary::Ana const edm::EventHandle evt  )  [virtual]
 

Reimplemented from jobc::Module.

Definition at line 48 of file ResourceSummary.cxx.

References fCount, fNsample, fNt, fResource, edm::EventHandle::Header(), jobc::Resource::idrss, jobc::Resource::inblock, jobc::Resource::isrss, jobc::Resource::ixrss, jobc::Resource::Log(), jobc::Resource::majflt, jobc::Resource::maxrss, jobc::Resource::minflt, jobc::Resource::msgrcv, jobc::Resource::msgsnd, jobc::Resource::nivcsw, jobc::Resource::nsignals, jobc::Resource::nswap, jobc::Resource::nvcsw, jobc::Resource::oublock, jobc::Result, jobc::Resource::statm_drs, jobc::Resource::statm_dt, jobc::Resource::statm_lrs, jobc::Resource::statm_resident, jobc::Resource::statm_shared, jobc::Resource::statm_size, jobc::Resource::statm_trs, jobc::Resource::stime, and jobc::Resource::utime.

00049 {
00050   // Only log at intervals
00051   if (++fCount%fNsample != 0) return kPassed;
00052 
00053   fResource.Log();
00054   
00055   float x[25];
00056   x[0]  = fCount;
00057   x[1]  = evt.Header().Run();
00058   x[2]  = evt.Header().Event();
00059   x[3]  = fResource.stime;
00060   x[4]  = fResource.utime;
00061   x[5]  = fResource.maxrss;
00062   x[6]  = fResource.ixrss;
00063   x[7]  = fResource.idrss;
00064   x[8]  = fResource.isrss;
00065   x[9]  = fResource.minflt;
00066   x[10] = fResource.majflt;
00067   x[11] = fResource.nswap;
00068   x[12] = fResource.inblock;
00069   x[13] = fResource.oublock;
00070   x[14] = fResource.msgsnd;
00071   x[15] = fResource.msgrcv;
00072   x[16] = fResource.nsignals;
00073   x[17] = fResource.nvcsw;
00074   x[18] = fResource.nivcsw;  
00075   x[19] = fResource.statm_size;
00076   x[20] = fResource.statm_resident;
00077   x[21] = fResource.statm_shared;
00078   x[22] = fResource.statm_trs;
00079   x[23] = fResource.statm_drs;
00080   x[24] = fResource.statm_lrs;
00081   x[25] = fResource.statm_dt;
00082 
00083   fNt->Fill(x);
00084 
00085   return kPassed;
00086 }

void ResourceSummary::Update const cfg::Config c  )  [virtual]
 

Implements cfg::Observer.

Definition at line 41 of file ResourceSummary.cxx.

References fNsample.

00042 {
00043   c("NSample").Get(fNsample);
00044 }


Member Data Documentation

int jobc::ResourceSummary::fCount [private]
 

Count of events seen.

Definition at line 30 of file ResourceSummary.h.

Referenced by Ana().

int jobc::ResourceSummary::fNsample [private]
 

One report for every "fNsample" events.

Definition at line 28 of file ResourceSummary.h.

Referenced by Ana(), and Update().

TNtuple* jobc::ResourceSummary::fNt [private]
 

Summary ntuple.

Definition at line 32 of file ResourceSummary.h.

Referenced by Ana(), ResourceSummary(), and ~ResourceSummary().

Resource jobc::ResourceSummary::fResource [private]
 

Summary of system resources.

Definition at line 31 of file ResourceSummary.h.

Referenced by Ana().


The documentation for this class was generated from the following files:
Generated on Sun Mar 15 04:45:26 2009 for NOvA Offline by  doxygen 1.3.9.1