ROOT logo
ROOT » PROOF » PROOFPLAYER » TPerfStats

class TPerfStats: public TVirtualPerfStats


TPerfStats

Provides the interface for the PROOF internal performance measurment
and event tracing.


Function Members (Methods)

public:
virtual~TPerfStats()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
static const char*TVirtualPerfStats::EventType(TVirtualPerfStats::EEventType type)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidFileEvent(const char* slave, const char* slavename, const char* nodename, const char* filename, Bool_t isStart)
virtual voidFileOpenEvent(TFile* file, const char* filename, Double_t start)
virtual voidFileReadEvent(TFile* file, Int_t len, Double_t start)
virtual voidFileUnzipEvent(TFile* file, Long64_t pos, Double_t start, Int_t complen, Int_t objlen)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Long64_tGetBytesRead() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual Long64_tGetNumEvents() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TVirtualPerfStats&TVirtualPerfStats::operator=(const TVirtualPerfStats&)
virtual voidPacketEvent(const char* slave, const char* slavename, const char* filename, Long64_t eventsprocessed, Double_t latency, Double_t proctime, Double_t cputime, Long64_t bytesRead)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual voidRateEvent(Double_t proctime, Double_t deltatime, Long64_t eventsprocessed, Long64_t bytesRead)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetBytesRead(Long64_t num)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidSetMemValues()
virtual voidSetNumEvents(Long64_t num)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
static voidSetup(TList* input)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidSimpleEvent(TVirtualPerfStats::EEventType type)
static voidStart(TList* input, TList* output)
static voidStop()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TPerfStats(TList* input, TList* output)
voidWriteQueryLog()

Data Members

private:
Long64_tfBytesRead!track bytes read of main file
TH2D*fCpuTimeHist!histogram of cpu time spent processing packets
TStringfDataSet!Dataset string
Int_tfDataSetLen!Maximum size of the dataset string fDataSet
Int_tfDataSetSize!# of files in the dataset
Bool_tfDoHist!Fill histos
Bool_tfDoQuota!Save stats on SQL server for quota management
Bool_tfDoSlaveTrace!Full tracing in workers
Bool_tfDoTrace!Trace details in master
Bool_tfDoTraceRate!Trace processing rate in master
TH1D*fEventsHist!histogram of events processed per slave
TH2D*fLatencyHist!histogram of latency due to packet requests
Int_tfMonitorInfo!Controls what information to monitor
Bool_tfMonitorPerPacket!Whether to send the full entry per each packet
TObjArrayfMonitoringWriters!Monitoring engines
TH1D*fNodeHist!histogram of slaves per file serving node
Long64_tfNumEvents!total number of events to be processed
TList*fOutput!Saved pointer to the output list
TH1D*fPacketsHist!histogram of packets processed per slave
TPerfEvent*fPerfEvent!TPerfEvent used to fill tree
TH2D*fProcTimeHist!histogram of real time spent processing packets
Int_tfSlaves!number of active slaves
Long64_tfTotBytesRead!total bytes read on all slaves
Double_tfTotCpuTime!total cpu time of all slaves
Long64_tfTotEvents!total number of events processed
TTree*fTrace!TTree with trace events
TTimeStampfTzero!start time of this run
static Long_tfgResMemMax! Max resident memory used by this process
static Long_tfgVirtMemMax! Max virtual memory used by this process

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TPerfStats(TList* input, TList* output)
 Normal constructor.
void SimpleEvent(TVirtualPerfStats::EEventType type)
 Simple event.
void PacketEvent(const char* slave, const char* slavename, const char* filename, Long64_t eventsprocessed, Double_t latency, Double_t proctime, Double_t cputime, Long64_t bytesRead)
 Packet event.
 See WriteQueryLog for the descripition of the structure sent for monitoring
 when fMonitorPerPacket is kTRUE.
void FileEvent(const char* slave, const char* slavename, const char* nodename, const char* filename, Bool_t isStart)
 File event.
void FileOpenEvent(TFile* file, const char* filename, Double_t start)
 Open file event.
void FileReadEvent(TFile* file, Int_t len, Double_t start)
 Read file event.
void FileUnzipEvent(TFile* file, Long64_t pos, Double_t start, Int_t complen, Int_t objlen)
 Record TTree file unzip event.
 start is the TimeStamp before unzip
 pos is where in the file the compressed buffer came from
 complen is the length of the compressed buffer
 objlen is the length of the de-compressed buffer
void RateEvent(Double_t proctime, Double_t deltatime, Long64_t eventsprocessed, Long64_t bytesRead)
 Rate event.
void SetBytesRead(Long64_t num)
 Set number of bytes read.
Long64_t GetBytesRead() const
 Get number of bytes read.
void WriteQueryLog()
 Connect to SQL server and register query log used for quotas.
 The <proofquerylog> table has the format:
 CREATE TABLE <proofquerylog> (
   id            INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
   user          VARCHAR(32) NOT NULL,
   proofgroup    VARCHAR(32),
   begin         DATETIME,
   end           DATETIME,
   walltime      INT,
   cputime       FLOAT,
   bytesread     BIGINT,
   events        BIGINT,
   workers       INT
   querytag      VARCHAR(64) NOT NULL,
   vmemmxw       BIGINT,                  (*)
   rmemmxw       BIGINT,                  (*)
   vmemmxm       BIGINT,                  (*)
   rmemmxm       BIGINT,                  (*)
   dataset       VARCHAR(512),            (*, **)
   numfiles      INT                      (*)
   status        INT                      (*)
 )
 (*) Only for fMonitorInfo > 0
 (**) Size controlled by variable Proof.Monitor.DataSetLen .
 The name of the table is set while initializing the monitor writer object.
 The same info is send to Monalisa (or other monitoring systems) in the
 form of a list of name,value pairs.
void Setup(TList* input)
 Setup the PROOF input list with requested statistics and tracing options.
void Start(TList* input, TList* output)
 Initialize PROOF statistics run.
void Stop()
 Terminate the PROOF statistics run.
void SetMemValues()
 Record memory usage
virtual ~TPerfStats()
{}
void SetNumEvents(Long64_t num)
{ fNumEvents = num; }
Long64_t GetNumEvents() const
{ return fNumEvents; }