Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TProofProgressMemoryPlot.h
Go to the documentation of this file.
1 // @(#)root/sessionviewer:$Id$
2 // Author: Anna Kreshuk 18/07/2008
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TProofProgressMemoryPlot
13 #define ROOT_TProofProgressMemoryPlot
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TProofProgressMemoryPlot //
18 // //
19 // This class implements a dialog, used to display the memory footprint //
20 // on the proof workers and master. For the workers, memory is plotted //
21 // as a function of number of events processed. For the master, it is //
22 // plotted as a function of number of objects merged //
23 // //
24 //////////////////////////////////////////////////////////////////////////
25 
26 #include "TGFrame.h"
27 
28 class TGListBox;
29 class TGTextButton;
30 class TRootEmbeddedCanvas;
31 class TProofProgressDialog;
32 class TGSplitButton;
33 class TProofLog;
34 class TMultiGraph;
35 class TGraph;
36 class TProofLogElem;
37 
38 class TProofProgressMemoryPlot : public TGTransientFrame {
39 
40  protected:
41  TProofProgressDialog *fDialog;
42  TGListBox *fWorkers;
43  TGTextButton *fPlot;
44  TGSplitButton *fAllWorkers; // display all workers button
45  TRootEmbeddedCanvas *fWorkersPlot;
46  TRootEmbeddedCanvas *fMasterPlot;
47  TProofLog *fProofLog;
48  TMultiGraph *fWPlot;
49  TMultiGraph *fMPlot;
50  TMultiGraph *fAPlot;
51  Bool_t fFullLogs;
52 
53  TGListBox* BuildLogList(TGFrame *parent);
54  TGraph* DoWorkerPlot(TProofLogElem *ple);
55  TGraph* DoMasterPlot(TProofLogElem *ple);
56  TGraph* DoAveragePlot(Int_t &max_el, Int_t &min_el);
57  TGraph* DoAveragePlotOld(Int_t &max_el, Int_t &min_el);
58 
59  Int_t ParseLine(TString l, Long64_t &v, Long64_t &r, Long64_t &e);
60 
61  public:
62  TProofProgressMemoryPlot(TProofProgressDialog *d, Int_t w = 700, Int_t h = 300);
63  virtual ~TProofProgressMemoryPlot();
64 
65  void Clear(Option_t * = 0);
66  void DoPlot();
67  void Select(Int_t id);
68 
69  ClassDef(TProofProgressMemoryPlot,0) //PROOF progress memory plots
70 };
71 
72 #endif