KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVLogReader.h
Go to the documentation of this file.
1 /*******************************************************************************
2 $Id: KVLogReader.h,v 1.10 2008/04/07 15:34:27 franklan Exp $
3 *******************************************************************************/
4 #ifndef __KVLOGREADER_H
5 #define __KVLOGREADER_H
6 
7 #include "Rtypes.h"
8 #include "KVString.h"
9 
15 class KVLogReader {
16 protected:
17 
30 
31 protected:
32  virtual Int_t GetByteMultiplier(const KVString& unit) = 0;
33  virtual void ReadLine(const KVString& line, Bool_t&);
34  virtual void ReadCPU(const KVString& line) = 0;
35  void ReadStorageReq(const KVString& line);
36  virtual void ReadScratchUsed(const KVString& line) = 0;
37  virtual void ReadMemUsed(const KVString& line) = 0;
38  virtual void ReadStatus(const KVString& line) = 0;
39  void ReadJobname(const KVString& line);
40  virtual Double_t ReadStorage(const KVString& stor) = 0;
41 
42 public:
43 
44  KVLogReader();
45  virtual ~ KVLogReader()
46  {
47  };
48 
49  void ReadFile(const Char_t* fname);
50  virtual void Reset();
51 
52  void SetNameFormat(const Char_t* fmt)
53  {
54  fFMT = fmt;
55  };
56 
58  {
59  return fCPUused;
60  };
62  {
63  return fCPUreq;
64  };
66  {
67  return fSCRreq;
68  };
70  {
71  return fMEMreq;
72  };
73  Double_t GetCPUratio() const;
75  {
76  return fScratchKB;
77  };
79  {
80  return fMemKB;
81  };
82  const Char_t* GetStatus() const
83  {
84  return fStatus.Data();
85  };
86  const Char_t* GetJobname() const
87  {
88  return fJobname.Data();
89  };
90  Int_t GetRunNumber() const;
91 
92  Bool_t JobOK() const
93  {
94  return (fOK && fGotRequests);
95  };
96 
97  Bool_t Killed() const
98  {
99  return (fStatus == "KILLED");
100  };
101  Bool_t SegFault() const
102  {
103  return (fStatus.Contains("egmentation"));
104  };
105  virtual Bool_t Incomplete() const;
106 
107  ClassDef(KVLogReader, 0)//Tool for reading CCIN2P3 batch logs
108 };
109 
110 #endif
int Int_t
char Char_t
bool Bool_t
double Double_t
#define ClassDef(name, id)
Base class for reading batch log files at CC-IN2P3.
Definition: KVLogReader.h:15
KVString fStatus
status string
Definition: KVLogReader.h:26
KVString fFMT
format string used to extract run number from job name
Definition: KVLogReader.h:18
Double_t GetSCRATCHrequest() const
Definition: KVLogReader.h:65
Double_t GetCPUrequest() const
Definition: KVLogReader.h:61
Bool_t JobOK() const
Definition: KVLogReader.h:92
virtual void ReadLine(const KVString &line, Bool_t &)
Definition: KVLogReader.cpp:74
KVString fJobname
name of job
Definition: KVLogReader.h:19
void ReadStorageReq(const KVString &line)
void ReadJobname(const KVString &line)
Bool_t fOK
job OK or not ?
Definition: KVLogReader.h:27
Double_t GetCPUratio() const
calculate ratio of used CPU to requested CPU
Double_t GetMEMused() const
Definition: KVLogReader.h:78
Double_t fCPUused
normalized used CPU time in seconds
Definition: KVLogReader.h:20
Bool_t Killed() const
Definition: KVLogReader.h:97
Double_t GetSCRATCHused() const
Definition: KVLogReader.h:74
const Char_t * GetStatus() const
Definition: KVLogReader.h:82
void ReadFile(const Char_t *fname)
Open file 'fname' and read contents.
Definition: KVLogReader.cpp:43
Double_t fMEMreq
requested memory (VIRTUAL STORAGE) in KB
Definition: KVLogReader.h:22
virtual void Reset()
reset informations read from file
Definition: KVLogReader.cpp:28
Double_t GetMEMrequest() const
Definition: KVLogReader.h:69
virtual Int_t GetByteMultiplier(const KVString &unit)=0
Double_t GetCPUused() const
Definition: KVLogReader.h:57
virtual void ReadMemUsed(const KVString &line)=0
void SetNameFormat(const Char_t *fmt)
Definition: KVLogReader.h:52
virtual void ReadCPU(const KVString &line)=0
const Char_t * GetJobname() const
Definition: KVLogReader.h:86
virtual Double_t ReadStorage(const KVString &stor)=0
virtual ~ KVLogReader()
Definition: KVLogReader.h:45
virtual Bool_t Incomplete() const
virtual void ReadScratchUsed(const KVString &line)=0
Int_t GetRunNumber() const
try to get run number from jobname using format string fFMT
Bool_t fGotRequests
set true when disk & memory request has been read
Definition: KVLogReader.h:28
Bool_t fGotStatus
set true when end of job infos have been read
Definition: KVLogReader.h:29
Double_t fMemKB
used memory in KB
Definition: KVLogReader.h:25
Bool_t SegFault() const
Definition: KVLogReader.h:101
Double_t fSCRreq
requested scratch disk space in KB
Definition: KVLogReader.h:23
virtual void ReadStatus(const KVString &line)=0
Double_t fCPUreq
requested CPU time in seconds
Definition: KVLogReader.h:21
Double_t fScratchKB
used disk space in KB
Definition: KVLogReader.h:24
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:72
const char * Data() const
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const