#include "TPerfStats.h"

# TPerfStats

class description - source file - inheritance tree (.ps)

## class TPerfStats : public TVirtualPerfStats

| Inheritance Chart:

`TObject`

<-

`TVirtualPerfStats`

<-

`TPerfStats`

        private:

                     TPerfStats(Int_t nslaves, TList* input, TList* output)

        public:

                           TPerfStats(const TPerfStats&)
                   virtual ~TPerfStats()
            static TClass* Class()
              virtual void FileEvent(Int_t slave, const char* slavename, const char* nodename, const char* filename, Bool_t isStart)
              virtual void FileOpenEvent(TFile* file, const char* filename, Double_t proctime)
              virtual void FileReadEvent(TFile* file, Int_t len, Double_t proctime)
          virtual Long64_t GetBytesRead() const
           virtual TClass* IsA() const
               TPerfStats& operator=(const TPerfStats&)
              virtual void PacketEvent(Int_t slave, const char* slavename, const char* filename, Long64_t eventsprocessed, Double_t latency, Double_t proctime, Double_t cputime, Long64_t bytesRead)
              virtual void SetBytesRead(Long64_t num)
               static void Setup(TList* input)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void SimpleEvent(TVirtualPerfStats::EEventType type)
               static void Start(TList* input, TList* output)
               static void Stop()
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

               TTree* fTrace         !TTree with trace events
           TTimeStamp fTzero         !start time of this run
          TPerfEvent* fPerfEvent     !TPerfEvent used to fill tree
                TH1D* fPacketsHist   !histogram of packets processed per slave
                TH1D* fEventsHist    !histogram of events processed per slave
                TH1D* fNodeHist      !histogram of slaves per file serving node
                TH2D* fLatencyHist   !histogram of latency due to packet requests
                TH2D* fProcTimeHist  !histogram of real time spent processing packets
                TH2D* fCpuTimeHist   !histogram of cpu time spent processing packets
             Long64_t fBytesRead     !track bytes read of main file

## Class Description

     TPerfStats

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

TPerfStats(Int_t nslaves, TList *input, TList *output) : fTrace(0), fPerfEvent(0), fPacketsHist(0), fEventsHist(0), fLatencyHist(0), fProcTimeHist(0), fCpuTimeHist(0)

     Normal Constructor.

void SimpleEvent(EEventType type)

void PacketEvent(Int_t slave, const char* slavename, const char* filename, Long64_t eventsprocessed, Double_t latency, Double_t proctime, Double_t cputime, Long64_t bytesRead)

void FileEvent(Int_t slave, const char *slavename, const char *nodename, const char *filename, Bool_t isStart)

void FileOpenEvent(TFile *file, const char *filename, Double_t proctime)

void FileReadEvent(TFile *file, Int_t len, Double_t proctime)

void SetBytesRead(Long64_t num)

Long64_t GetBytesRead() const

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.

### Inline Functions

                   void ~TPerfStats()
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
             TPerfStats TPerfStats(const TPerfStats&)
            TPerfStats& operator=(const TPerfStats&)

Author: Kristjan Gulbrandsen 11/05/04
Last update: root/proof:$Name: $:$Id: TPerfStats.cxx,v 1.1 2004/06/13 16:26:35 rdm Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *