12 #ifndef ROOT_TProofPerfAnalysis 
   13 #define ROOT_TProofPerfAnalysis 
   32 class TProofPerfAnalysis : 
public TNamed {
 
   46    TSortedList fWrksInfo;        
 
   47    TSortedList fFilesInfo;       
 
   60    Double_t fEvtRateAvgMax;      
 
   61    Double_t fMBRateAvgMax;       
 
   69    static Bool_t fgDebug;         
 
   71    Int_t CompareOrd(
const char *ord1, 
const char *ord2);
 
   72    void  FillFileDist(TH1F *hf, TH1F *hb, TH2F *hx, Bool_t wdet = kFALSE);
 
   73    void  FillFileDistOneSrv(TH1F *hx, Bool_t wdet = kFALSE);
 
   74    void  FillWrkInfo(Bool_t force = kFALSE);
 
   75    void  FillFileInfo(Bool_t force = kFALSE);
 
   76    TString GetCanvasTitle(
const char *t);
 
   77    void  GetWrkFileList(TList *wl, TList *sl);
 
   78    void  LoadTree(TDirectory *dir);
 
   79    void  DoDraw(TObject *o, Option_t *opt = 
"", 
const char *name = 0);
 
   83    TProofPerfAnalysis(
const char *perffile, 
const char *title = 
"",
 
   84                   const char *treename = 
"PROOF_PerfStats");
 
   85    TProofPerfAnalysis(TTree *tree, 
const char *title = 
"");
 
   86    virtual ~TProofPerfAnalysis();
 
   88    Bool_t IsValid()
 const { 
return (fFile && fTree) ? kTRUE : kFALSE; }
 
   89    Bool_t WrkInfoOK()
 const { 
return (fWrksInfo.GetSize() > 0) ? kTRUE : kFALSE; }
 
   92    void  FileDist(Bool_t writedet = kFALSE);   
 
   93    void  LatencyPlot(
const char *wrks = 0);    
 
   94    void  RatePlot(
const char *wrks = 0);       
 
   95    void  WorkerActivity();                     
 
   96    void  PrintWrkInfo(Int_t showlast = 10);    
 
   97    void  PrintWrkInfo(
const char *wrk);        
 
   99    void  PrintFileInfo(Int_t showlast = 10, 
const char *opt = 
"", 
const char *out = 0);   
 
  100    void  PrintFileInfo(
const char *fn, 
const char *opt = 
"P", 
const char *out = 0);        
 
  101    void  FileProcPlot(
const char *fn, 
const char *out = 0); 
 
  102    void  FileRatePlot(
const char *fns = 0);    
 
  104    Double_t GetEvtRateAvgMax()
 const { 
return fEvtRateAvgMax; }      
 
  105    Double_t GetMBRateAvgMax()
 const { 
return fMBRateAvgMax; }       
 
  106    Double_t GetEvtRateAvg()
 const { 
return fEvtRateAvg; }         
 
  107    Double_t GetMBRateAvg()
 const { 
return fMBRateAvg; }          
 
  108    void GetAverages(Double_t &evtmax, Double_t &mbmax, Double_t &evt, Double_t &mb)
 const 
  109         { evtmax = fEvtRateAvgMax; mbmax = fMBRateAvgMax; evt = fEvtRateAvg; mb = fMBRateAvg; 
return; }
 
  111    void  Summary(Option_t *opt = 
"", 
const char *out = 
"");
 
  113    Int_t SetSaveResult(
const char *file = 
"results.root", Option_t *mode = 
"RECREATE");
 
  115    void  SetDebug(Int_t d = 0);   
 
  116    static void  SetgDebug(Bool_t on = kTRUE);   
 
  118    ClassDef(TProofPerfAnalysis, 0)