46#define kMemValuePosMaster 8
47#define kEventNumberPos 13
80 pm->AddEntry(
"Select All", 0);
81 pm->AddEntry(
"Clear All", 1);
93 fPlot->
Connect(
"Clicked()",
"TProofProgressMemoryPlot",
this,
"DoPlot()");
148 c->AddEntry(
"average", 0);
209 Error(
"DoPlot",
"TProofProgessDialog instance undefined - protocol error?");
216 Error(
"DoPlot",
"could not get a valid instance of TProofLog");
223 if (!
elem) {
Error(
"DoPlot",
"No log elements\n");
return;}
264 legw->SetHeader(
"Workers");
282 legw->SetHeader(
"Workers");
298 legw->SetHeader(
"Workers");
312 const char *
role =
ple->GetRole();
323 legw->SetHeader(
"Workers");
341 legm->SetHeader(
"Master");
385 Error(
"DoAveragePlot",
"Empty log");
404 for (
Int_t i=0; i<
elem->GetEntries(); i++) {
409 const char *
role =
ple->GetRole();
410 if (
role[0] !=
'w')
continue;
411 TList *lines =
ple->GetMacro()->GetListOfLines();
412 if (!lines || lines->
GetSize() <= 0)
continue;
417 Warning(
"DoAveragePlot",
"error parsing line: '%s'",
curline->String().Data());
428 Warning(
"DoAveragePlot",
"error parsing line: '%s'",
curline->String().Data());
453 const char *
role =
ple->GetRole();
454 if (
role[0]!=
'w')
continue;
455 TList *lines =
ple->GetMacro()->GetListOfLines();
456 if (!lines || lines->
GetSize() <= 0)
continue;
464 Warning(
"DoWorkerPlot",
"error parsing line: '%s'",
curline->String().Data());
511 if (
l.IsNull())
return -1;
514 if (
v < 0 &&
r < 0 &&
e < 0)
return 0;
518 if ((from =
l.Index(
"Memory")) ==
kNPOS)
return -1;
526 if (!
l.Tokenize(
tok, from,
" "))
return -1;
532 if ((from =
l.Index(
"virtual", from)) ==
kNPOS)
return -1;
534 if (!
l.Tokenize(
tok, from,
" "))
return -1;
540 if ((from =
l.Index(
"event", from)) ==
kNPOS)
return -1;
542 if (!
l.Tokenize(
tok, from,
" "))
return -1;
556 TList *lines =
ple->GetMacro()->GetListOfLines();
568 Error(
"DoWorkerPlot",
"error parsing line: '%s'",
curline->String().Data());
576 Error(
"DoWorkerPlot",
"error parsing line: '%s'",
prevline->String().Data());
581 Error(
"DoWorkerPlot",
"null or negative step (%lld) - cannot continue", step);
595 Warning(
"DoWorkerPlot",
"error parsing line: '%s'",
curline->String().Data());
611 TList *lines =
ple->GetMacro()->GetListOfLines();
617 if (
curline->String().Contains(
"Start"))
break;
632 Warning(
"DoWorkerPlot",
"error parsing line: '%s'",
curline->String().Data());
const Bool_t kIterBackward
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
void Clear(Option_t *option="") override
Remove all primitives from the canvas.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set current canvas & pad.
void Update() override
Update canvas pad buffers.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
void MapWindow() override
map window
A composite frame that layout their children in horizontal way.
TGHotString is a string with a "hot" character underlined.
This class handles GUI labels.
This class describes layout hints used by the layout classes.
A listbox is a box, possibly with scrollbar, containing entries.
virtual TGLBEntry * Select(Int_t id, Bool_t sel=kTRUE)
virtual Int_t GetNumberOfEntries() const
void Resize(UInt_t w, UInt_t h) override
Resize the listbox widget.
virtual void SetMultipleSelections(Bool_t multi=kTRUE)
virtual void GetSelectedEntries(TList *selected)
Adds all selected entries (TGLBEntry) of the list box into the list selected.
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
Yield an action as soon as it is clicked.
Text string listbox entries.
Defines transient windows that typically are used for dialogs windows.
virtual void CenterOnParent(Bool_t croot=kTRUE, EPlacement pos=kCenter)
Position transient frame centered relative to the parent frame.
A composite frame that layout their children in vertical way.
A TGraph is an object made of two arrays X and Y with npoints each.
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
This class displays a legend box (TPaveText) containing several legend entries.
TObject * Before(const TObject *obj) const override
Returns the object before object obj.
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
A TMultiGraph is a collection of TGraph (or derived) objects.
virtual void Add(TGraph *graph, Option_t *chopt="")
Add a new graph to the list of graphs.
void Draw(Option_t *chopt="") override
Draw this multigraph with its current attributes.
TAxis * GetYaxis()
Get y axis of the graph.
TAxis * GetXaxis()
Get x axis of the graph.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Collectable string class.
TList * GetListOfLogs() const
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
This class provides a query progress bar.
TProofProgressMemoryPlot * fMemWindow
This class implements a dialog, used to display the memory footprint on the proof workers and master.
~TProofProgressMemoryPlot() override
Destructor.
TRootEmbeddedCanvas * fWorkersPlot
void Clear(Option_t *=nullptr) override
Clear the canvases.
TGListBox * BuildLogList(TGFrame *parent)
Build the list of workers.
TProofProgressDialog * fDialog
TGraph * DoMasterPlot(TProofLogElem *ple)
a master or submaster log display without meaningful labels for now
TGraph * DoWorkerPlot(TProofLogElem *ple)
Make a memory consumption graph for a worker.
TRootEmbeddedCanvas * fMasterPlot
TGSplitButton * fAllWorkers
TProofProgressMemoryPlot(TProofProgressDialog *d, Int_t w=700, Int_t h=300)
Main constructor.
Int_t ParseLine(TString l, Long64_t &v, Long64_t &r, Long64_t &e)
Extract from line 'l' the virtual memory 'v', the resident memory 'r' and the number of events 'e'.
void DoPlot()
Draw the plot from the logs.
void Select(Int_t id)
actions of select all/clear all button
TGraph * DoAveragePlot(Int_t &max_el, Int_t &min_el)
Create the average plots.
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
const char * GetMaster() const
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
This class creates a TGCanvas in which a TCanvas is created.
TCanvas * GetCanvas() const
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
This class represents a WWW compatible URL.