Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TProof.h
Go to the documentation of this file.
1// @(#)root/proof:$Id$
2// Author: Fons Rademakers 13/02/97
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, 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_TProof
13#define ROOT_TProof
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TProof //
19// //
20// This class controls a Parallel ROOT Facility, PROOF, cluster. //
21// It fires the worker servers, it keeps track of how many workers are //
22// running, it keeps track of the workers running status, it broadcasts //
23// messages to all workers, it collects results, etc. //
24// //
25//////////////////////////////////////////////////////////////////////////
26
27#include "TProofMgr.h"
28#include "TProofDebug.h"
29#include "TString.h"
30#include "TMacro.h"
31#include "MessageTypes.h"
32#include "TMD5.h"
33#include "TRegexp.h"
34#include "TSysEvtHandler.h"
35#include "TUrl.h"
36#include "TProofOutputList.h"
37#include "TStopwatch.h"
38#include "TVirtualMutex.h"
39#include "TPackMgr.h"
40
41#include <map>
42#include <mutex>
43
44#define CANNOTUSE(x) Info(x,"Not manager: cannot use this method")
45
46class TChain;
47class TCondor;
48class TCondorSlave;
49class TDrawFeedback;
50class TDSet;
51class TEventList;
52class THashList;
53class TList;
54class TCollection;
55class TMessage;
56class TMonitor;
57class TPluginHandler;
58class TProof;
61class TProofLockPath;
63class TProofPlayer;
66class TProofServ;
67class TQueryResult;
68class TSignalHandler;
69class TSlave;
70class TSocket;
71class TTree;
72class TFileCollection;
73class TMap;
74class TDataSetManager;
76class TMacro;
77class TSelector;
78
79// protocol changes:
80// 1 -> 2: new arguments for Process() command, option added
81// 2 -> 3: package manager enabling protocol changed
82// 3 -> 4: introduction of multi-level-master support
83// 4 -> 5: added friends support
84// 5 -> 6: drop TFTP, support for asynchronous queries
85// 6 -> 7: support for multisessions, archieve, retrieve, ...
86// 7 -> 8: return number of entries in GetNextPacket
87// 8 -> 9: support for stateless connection via xproofd
88// 9 -> 10: new features requested, tested at CAF
89// 10 -> 11: new merging strategy
90// 11 -> 12: new progress message
91// 12 -> 13: exchange version/architecture/compiler info
92// 13 -> 14: new proofserv environment setting
93// 14 -> 15: add support for entry lists; new version of TFileInfo
94// 15 -> 16: add support for generic non-data based processing
95// 16 -> 17: new dataset handling system; support for TFileCollection processing
96// 17 -> 18: support for reconnection on daemon restarts
97// 18 -> 19: TProofProgressStatus used in kPROOF_PROGRESS, kPROOF_STOPPROCESS
98// and kPROOF_GETNEXTPACKET messages in Master - worker communication
99// 19 -> 20: Fix the asynchronous mode (required changes in some messages)
100// 20 -> 21: Add support for session queuing
101// 21 -> 22: Add support for switching from sync to async while running ('Ctrl-Z' functionality)
102// 22 -> 23: New dataset features (default tree name; classification per fileserver)
103// 23 -> 24: Merging optimization
104// 24 -> 25: Handling of 'data' dir; group information
105// 25 -> 26: Use new TProofProgressInfo class
106// 26 -> 27: Use new file for updating the session status
107// 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStatistics,
108// package download, dataset caching
109// 28 -> 29: Support for config parameters in EnablePackage, idle-timeout
110// 29 -> 30: Add information about data dir in TSlaveInfo
111// 30 -> 31: Development cycle 5.29
112// 31 -> 32: New log path trasmission
113// 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startup technology, ...)
114// 33 -> 34: Development cycle 5.33/02 (fix load issue, ...)
115// 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests in separate dsmgr...)
116// 35 -> 36: SetParallel in dynamic mode (changes default in GoParallel), cancel staging requests
117// 36 -> 37: Support for remote (web) PAR packages
118
119// PROOF magic constants
120const Int_t kPROOF_Protocol = 37; // protocol version number
121const Int_t kPROOF_Port = 1093; // IANA registered PROOF port
122const char* const kPROOF_ConfFile = "proof.conf"; // default config file
123const char* const kPROOF_ConfDir = "/usr/local/root"; // default config dir
124const char* const kPROOF_WorkDir = ".proof"; // default working directory
125const char* const kPROOF_CacheDir = "cache"; // file cache dir, under WorkDir
126const char* const kPROOF_PackDir = "packages"; // package dir, under WorkDir
127const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with downloaded PARs, under PackDir
128const char* const kPROOF_QueryDir = "queries"; // query dir, under WorkDir
129const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, under WorkDir
130const char* const kPROOF_DataDir = "data"; // dir for produced data, under WorkDir
131const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file
132const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // package lock file
133const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file
134const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad
135const char* const kPROOF_WorkerIdleTO = "+++ idle-timeout +++"; // signal worker idle timeout in MarkBad
136const char* const kPROOF_InputDataFile = "inputdata.root"; // Default input data file name
137const char* const kPROOF_MissingFiles = "MissingFiles"; // Missingfile list name
138const Long64_t kPROOF_DynWrkPollInt_s = 10; // minimum number of seconds between two polls for dyn wrks
139
140#ifndef R__WIN32
141const char* const kCP = "/bin/cp -fp";
142const char* const kRM = "/bin/rm -rf";
143const char* const kLS = "/bin/ls -l";
144const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)";
145const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)";
146const char* const kUNTAR3 = "%s -c %s | (tar xf -)";
147const char* const kGUNZIP = "gunzip";
148#else
149const char* const kCP = "copy";
150const char* const kRM = "delete";
151const char* const kLS = "dir";
152const char* const kUNTAR = "...";
153const char* const kUNTAR2 = "...";
154const char* const kUNTAR3 = "...";
155const char* const kGUNZIP = "gunzip";
156#endif
157
158typedef void (*PrintProgress_t)(Long64_t tot, Long64_t proc, Float_t proctime, Long64_t bytes);
159
160// Structure for the progress information
162public:
163 Long64_t fTotal; // Total number of events to process
164 Long64_t fProcessed; // Number of events processed
165 Long64_t fBytesRead; // Number of bytes read
166 Float_t fInitTime; // Time for initialization
167 Float_t fProcTime; // Time for processing
168 Float_t fEvtRateI; // Instantaneous event rate
169 Float_t fMBRateI; // Instantaneous byte read rate
170 Int_t fActWorkers; // Numebr of workers still active
171 Int_t fTotSessions; // Numebr of PROOF sessions running currently on the clusters
172 Float_t fEffSessions; // Number of effective sessions running on the machines allocated to this session
174 Float_t initt = -1., Float_t proct = -1.,
175 Float_t evts = -1., Float_t mbs = -1.,
176 Int_t actw = 0, Int_t tsess = 0, Float_t esess = 0.) :
177 fTotal(tot), fProcessed(proc), fBytesRead(bytes),
178 fInitTime(initt), fProcTime(proct), fEvtRateI(evts), fMBRateI(mbs),
179 fActWorkers(actw), fTotSessions(tsess), fEffSessions(esess) { }
180 ~TProofProgressInfo() override { }
181 ClassDefOverride(TProofProgressInfo, 1); // Progress information
182};
183
184// PROOF Interrupt signal handler
196
197// Input handler for messages from TProofServ
199private:
202
203 TProofInputHandler(const TProofInputHandler&); // Not implemented
205public:
207 Bool_t Notify() override;
208 Bool_t ReadNotify() override { return Notify(); }
209};
210
211// Slaves info class
212class TSlaveInfo : public TObject {
213public:
215
216 TString fOrdinal; //slave ordinal
217 TString fHostName; //hostname this slave is running on
218 TString fMsd; //mass storage domain slave is in
219 TString fDataDir; //directory for user data
220 Int_t fPerfIndex; //relative performance of this slave
221 SysInfo_t fSysInfo; //Infomation about its hardware
222 ESlaveStatus fStatus; //slave status
223
224 TSlaveInfo(const char *ordinal = "", const char *host = "", Int_t perfidx = 0,
225 const char *msd = "", const char *datadir = "") :
226 fOrdinal(ordinal), fHostName(host), fMsd(msd), fDataDir(datadir),
227 fPerfIndex(perfidx), fSysInfo(), fStatus(kNotActive) { }
228
229 const char *GetDataDir() const { return fDataDir; }
230 const char *GetMsd() const { return fMsd; }
231 const char *GetName() const override { return fHostName; }
232 const char *GetOrdinal() const { return fOrdinal; }
233 SysInfo_t GetSysInfo() const { return fSysInfo; }
234 void SetStatus(ESlaveStatus stat) { fStatus = stat; }
235 void SetSysInfo(SysInfo_t si);
236 void SetOrdinal(const char *ord) { fOrdinal = ord; }
237
238 Int_t Compare(const TObject *obj) const override;
239 Bool_t IsSortable() const override { return kTRUE; }
240 void Print(Option_t *option="") const override;
241 Bool_t IsEqual(const TObject* obj) const override;
242
243 ClassDefOverride(TSlaveInfo,4) //basic info on workers
244};
245
246// Merger info class
247class TMergerInfo : public TObject {
248private:
249
250 TSlave *fMerger; // Slave that acts as merger
251 Int_t fPort; // Port number, on which it accepts outputs from other workers
252 Int_t fMergedObjects; // Total number of objects it must accept from other workers
253 // (-1 == not set yet)
254 Int_t fWorkersToMerge; // Number of workers that are merged on this merger
255 // (does not change during time)
256 Int_t fMergedWorkers; // Current number of already merged workers
257 // (does change during time as workers are being merged)
258
259 TList *fWorkers; // List of already assigned workers
260 Bool_t fIsActive; // Merger state
261
262 TMergerInfo(const TMergerInfo&); // Not implemented
263 TMergerInfo& operator=(const TMergerInfo&); // Not implemented
264
265public:
266 TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers) :
267 fMerger(t), fPort(port), fMergedObjects(0), fWorkersToMerge(forHowManyWorkers),
269 ~TMergerInfo() override;
270
271 void AddWorker(TSlave *sl);
272 TList *GetWorkers() { return fWorkers; }
273
274 TSlave *GetMerger() { return fMerger; }
275 Int_t GetPort() { return fPort; }
276
280
281 void SetMergedWorker();
282 void AddMergedObjects(Int_t objects) { fMergedObjects += objects; }
283
286
289
290 ClassDefOverride(TMergerInfo,0) // Basic info on merger, i.e. worker serving as merger
291};
292
293// Small auxiliary class for merging progress notification
295private:
300 static char fgCr[4];
301public:
302 TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1), fLastNWrks(-1) { }
303
304 const char *Export(Bool_t &changed) {
305 fExp.Form("%c (%d workers still sending) ", fgCr[fIdx], fNWrks);
306 changed = (fLastNWrks != fNWrks || fLastNWrks == -1) ? kTRUE : kFALSE;
308 return fExp.Data(); }
309 void DecreaseNWrks() { fNWrks--; }
310 void IncreaseNWrks() { fNWrks++; }
311 void IncreaseIdx() { fIdx++; if (fIdx == 4) fIdx = 0; }
312 void Reset(Int_t n = -1) { fIdx = -1; SetNWrks(n); }
313 void SetNWrks(Int_t n) { fNWrks = n; }
314};
315
316class TProof : public TNamed, public TQObject {
317
318friend class TPacketizer;
319friend class TPacketizerDev;
321friend class TProofLite;
322friend class TDataSetManager;
323friend class TProofServ;
326friend class TProofPlayer;
327friend class TProofPlayerLite;
330friend class TSlave;
331friend class TSlaveLite;
333friend class TXSlave;
334friend class TXSocket; // to access kPing
335friend class TXSocketHandler; // to access fCurrentMonitor and CollectInputFrom
336friend class TXProofMgr; // to access EUrgent
337friend class TXProofServ; // to access EUrgent
338
339public:
340 // PROOF status bits
350 kSync = 0,
352 };
367 kUntar = 0x0, //Untar over existing dir [default]
368 kRemoveOld = 0x1 //Remove existing dir with same name
369 };
371 kRunning = 0, // Normal status
372 kStopped = 1, // After the stop button has been pressed
373 kAborted = 2 // After the abort button has been pressed
374 };
375
377 kOutputSize = 1, //Number of objects in worker's output list
378 kSendOutput = 2, //Naster asks worker for its output list
379 kBeMerger = 3, //Master tells worker to be a merger
380 kMergerDown = 4, //Merger cannot serve
381 kStopMerging = 5, //Master tells worker to stop merging (and return output)
382 kOutputSent = 6 //Worker reports sending its output to given worker
383 };
384
391
392private:
424 kUploadDataSet = 1, //Upload a dataset
425 kCheckDataSetName = 2, //Check wheter dataset of this name exists
426 kGetDataSets = 3, //List datasets saved on the master node
427 kRegisterDataSet = 4, //Save a TList object as a dataset
428 kGetDataSet = 5, //Get a TFileCollection of TFileInfo objects
429 kVerifyDataSet = 6, //Try open all files from a dataset and report results
430 kRemoveDataSet = 7, //Remove a dataset but leave files belonging to it
431 kMergeDataSet = 8, //Add new files to an existing dataset
432 kShowDataSets = 9, //Shows datasets, returns formatted output
433 kGetQuota = 10, //Get quota info per group
434 kShowQuota = 11, //Show quotas
435 kSetDefaultTreeName = 12, //Set the default tree name
436 kCache = 13, //Show/clear cache
437 kRequestStaging = 14, //Request staging of a dataset
438 kStagingStatus = 15, //Obtain staging status for the given dataset
439 kCancelStaging = 16 //Cancels dataset staging request
440 };
442 kAscii = 0x0,
443 kBinary = 0x1,
444 kForce = 0x2,
445 kForward = 0x4,
446 kCpBin = 0x8,
447 kCp = 0x10
448 };
463
464 Bool_t fValid; //is this a valid proof object
465 Bool_t fTty; //TRUE if connected to a terminal
466 TString fMaster; //master server ("" if a master); used in the browser
467 TString fWorkDir; //current work directory on remote servers
468 TString fGroup; //PROOF group of this user
469 Int_t fLogLevel; //server debug logging level
470 Int_t fStatus; //remote return status (part of kPROOF_LOGDONE)
471 Int_t fCheckFileStatus; //remote return status after kPROOF_CHECKFILE
472 TList *fRecvMessages; //Messages received during collect not yet processed
473 TList *fSlaveInfo; //!list returned by kPROOF_GETSLAVEINFO
474 Bool_t fSendGroupView; //if true send new group view
475 Bool_t fIsPollingWorkers; //will be set to kFALSE to prevent recursive dyn workers check in dyn mode
476 Long64_t fLastPollWorkers_s; //timestamp (in seconds) of last poll for workers, -1 if never checked
477 TList *fActiveSlaves; //list of active slaves (subset of all slaves)
478 TString fActiveSlavesSaved;// comma-separated list of active slaves (before last call to
479 // SetParallel or Activate/DeactivateWorkers)
480 TList *fInactiveSlaves; //list of inactive slaves (good but not used for processing)
481 TList *fUniqueSlaves; //list of all active slaves with unique file systems
482 TList *fAllUniqueSlaves; //list of all active slaves with unique file systems, including all submasters
483 TList *fNonUniqueMasters; //list of all active masters with a nonunique file system
484 TMonitor *fActiveMonitor; //monitor activity on all active slave sockets
485 TMonitor *fUniqueMonitor; //monitor activity on all unique slave sockets
486 TMonitor *fAllUniqueMonitor; //monitor activity on all unique slave sockets, including all submasters
487 TMonitor *fCurrentMonitor; //currently active monitor
488 Long64_t fBytesRead; //bytes read by all slaves during the session
489 Float_t fRealTime; //realtime spent by all slaves during the session
490 Float_t fCpuTime; //CPU time spent by all slaves during the session
491 TSignalHandler *fIntHandler; //interrupt signal handler (ctrl-c)
492 TPluginHandler *fProgressDialog; //progress dialog plugin
493 Bool_t fProgressDialogStarted; //indicates if the progress dialog is up
494 TVirtualProofPlayer *fPlayer; //current player
495 TList *fFeedback; //list of names to be returned as feedback
496 TList *fChains; //chains with this proof set
497 struct MD5Mod_t {
498 TMD5 fMD5; //file's md5
499 Long_t fModtime; //file's modification time
500 };
501 typedef std::map<TString, MD5Mod_t> FileMap_t;
502 FileMap_t fFileMap; //map keeping track of a file's md5 and mod time
503 TDSet *fDSet; //current TDSet being validated
504
505 Int_t fNotIdle; //Number of non-idle sub-nodes
506 Bool_t fSync; //true if type of currently processed query is sync
507 ERunStatus fRunStatus; //run status
508 Bool_t fIsWaiting; //true if queries have been enqueued
509
510 Bool_t fRedirLog; //redirect received log info
511 TString fLogFileName; //name of the temp file for redirected logs
512 FILE *fLogFileW; //temp file to redirect logs
513 FILE *fLogFileR; //temp file to read redirected logs
514 Bool_t fLogToWindowOnly; //send log to window only
515
516 Bool_t fSaveLogToMacro; // Whether to save received logs to TMacro fMacroLog (use with care)
517 TMacro fMacroLog; // Macro with the saved (last) log
518
519 TProofMergePrg fMergePrg; //Merging progress
520
521 TList *fWaitingSlaves; //stores a TPair of the slaves's TSocket and TMessage
522 TList *fQueries; //list of TProofQuery objects
523 Int_t fOtherQueries; //number of queries in list from previous sessions
524 Int_t fDrawQueries; //number of draw queries during this sessions
525 Int_t fMaxDrawQueries; //max number of draw queries kept
526 Int_t fSeqNum; //Remote sequential # of the last query submitted
527
528 Int_t fSessionID; //remote ID of the session
529
530 Bool_t fEndMaster; //true for a master in direct contact only with workers
531
532 TPackMgr *fPackMgr; // Default package manager
533 TList *fEnabledPackagesOnCluster; //list of enabled packages
534
535 TList *fInputData; //Input data objects sent over via file
536 TString fInputDataFile; //File with input data objects
537
538 TProofOutputList fOutputList; // TList implementation filtering ls(...) and Print(...)
539
540 PrintProgress_t fPrintProgress; //Function function to display progress info in batch mode
541
542 std::recursive_mutex fCloseMutex; // Avoid crashes in MarkBad or alike while closing
543
544 TList *fLoadedMacros; // List of loaded macros (just file names)
545 static TList *fgProofEnvList; // List of TNameds defining environment
546 // variables to pass to proofserv
547
548 Bool_t fMergersSet; // Indicates, if the following variables have been initialized properly
549 Bool_t fMergersByHost; // Mergers assigned by host name
551 Int_t fWorkersToMerge; // Current total number of workers, which have not been yet assigned to any merger
556
557 TString fPerfTree; // If non-null triggers saving of the performance info into fPerfTree
558
559 TList *fWrksOutputReady; // List of workers ready to send output (in control output sending mode)
560
561 static TPluginHandler *fgLogViewer; // Log dialog box plugin
562
563protected:
565
566 Bool_t fMasterServ; //true if we are a master server
567 TUrl fUrl; //Url of the master
568 TString fConfFile; //file containing config information
569 TString fConfDir; //directory containing cluster config information
570 TString fImage; //master's image name
571 Int_t fProtocol; //remote PROOF server protocol version number
572 TList *fSlaves; //list of all slave servers as in config file
573 TList *fTerminatedSlaveInfos; //list of unique infos of terminated slaves
574 TList *fBadSlaves; //dead slaves (subset of all slaves)
575 TMonitor *fAllMonitor; //monitor activity on all valid slave sockets
576 Bool_t fDataReady; //true if data is ready to be analyzed
577 Long64_t fBytesReady; //number of bytes staged
578 Long64_t fTotalBytes; //number of bytes to be analyzed
579 TList *fAvailablePackages; //list of available packages
580 TList *fEnabledPackages; //list of enabled packages
581 TList *fRunningDSets; // Temporary datasets used for async running
582
583 Int_t fCollectTimeout; // Timeout for (some) collect actions
584
585 TString fDataPoolUrl; // default data pool entry point URL
586 TProofMgr::EServType fServType; // type of server: proofd, XrdProofd
587 TProofMgr *fManager; // manager to which this session belongs (if any)
588 EQueryMode fQueryMode; // default query mode
589 Bool_t fDynamicStartup; // are the workers started dynamically?
590
591 TSelector *fSelector; // Selector to be processed, if any
592
593 TStopwatch fQuerySTW; // Stopwatch to measure query times
594 Float_t fPrepTime; // Preparation time
595
596private:
597 TProof(const TProof &); // not implemented
598 void operator=(const TProof &); // idem
599
600 void CleanGDirectory(TList *ol);
601
602 Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster);
603 Int_t SendCommand(const char *cmd, ESlaves list = kActive);
606 Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t cpopt = (kCp | kCpBin));
607 Int_t SendObject(const TObject *obj, ESlaves list = kActive);
611 Int_t Ping(ESlaves list);
612 void Interrupt(EUrgent type, ESlaves list = kActive);
613 void AskStatistics();
614 void AskParallel();
615 Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE);
616 Int_t GoMoreParallel(Int_t nWorkersToAdd);
617 Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE);
618 void RecvLogFile(TSocket *s, Int_t size);
619 void NotifyLogMsg(const char *msg, const char *sfx = "\n");
620
621 Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuildAll, Int_t chkveropt = TPackMgr::kCheckROOT, TList *workers = 0);
622 Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE, TList *loadopts = 0, TList *workers = 0);
623 Int_t UnloadPackage(const char *package);
625 Int_t DisablePackage(const char *package);
627
628 void Activate(TList *slaves = 0);
629 Int_t Broadcast(const TMessage &mess, TList *slaves);
630 Int_t Broadcast(const TMessage &mess, ESlaves list = kActive);
631 Int_t Broadcast(const char *mess, Int_t kind, TList *slaves);
632 Int_t Broadcast(const char *mess, Int_t kind = kMESS_STRING, ESlaves list = kActive);
633 Int_t Broadcast(Int_t kind, TList *slaves) { return Broadcast(0, kind, slaves); }
634 Int_t Broadcast(Int_t kind, ESlaves list = kActive) { return Broadcast(0, kind, list); }
635 Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile, TList *wrks);
636 Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile = 0, ESlaves list = kAllUnique);
637 Int_t BroadcastGroupPriority(const char *grp, Int_t priority, ESlaves list = kAllUnique);
638 Int_t BroadcastGroupPriority(const char *grp, Int_t priority, TList *workers);
639 Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves);
640 Int_t BroadcastObject(const TObject *obj, Int_t kind = kMESS_OBJECT, ESlaves list = kActive);
641 Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves);
642 Int_t BroadcastRaw(const void *buffer, Int_t length, ESlaves list = kActive);
643 Int_t Collect(const TSlave *sl, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
644 Int_t Collect(TMonitor *mon, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
645 Int_t CollectInputFrom(TSocket *s, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
646 Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail = kFALSE);
647 void HandleSubmerger(TMessage *mess, TSlave *sl);
648 void SetMonitor(TMonitor *mon = 0, Bool_t on = kTRUE);
649
650 void ReleaseMonitor(TMonitor *mon);
651
652 virtual void FindUniqueSlaves();
653 TSlave *FindSlave(TSocket *s) const;
654 TList *GetListOfSlaves() const { return fSlaves; }
658 Int_t GetNumberOfSlaves() const;
663
664 Bool_t IsEndMaster() const { return fEndMaster; }
665 Int_t ModifyWorkerLists(const char *ord, Bool_t add, Bool_t save);
667 void SaveActiveList();
668
669 Bool_t IsSync() const { return fSync; }
671
672 void SetRunStatus(ERunStatus rst) { fRunStatus = rst; }
673
674 void MarkBad(TSlave *wrk, const char *reason = 0);
675 void MarkBad(TSocket *s, const char *reason = 0);
676 void TerminateWorker(TSlave *wrk);
677 void TerminateWorker(const char *ord);
678
679 void ActivateAsyncInput();
681
683 void PrintProgress(Long64_t total, Long64_t processed,
684 Float_t procTime = -1., Long64_t bytesread = -1);
685
686 // Managing mergers
687 Bool_t CreateMerger(TSlave *sl, Int_t port);
688 void RedirectWorker(TSocket *s, TSlave * sl, Int_t output_size);
692 void AskForOutput(TSlave *sl);
693
695
696 void ResetMergePrg();
697 void ParseConfigField(const char *config);
698
699 Bool_t Prompt(const char *p);
701
702 static TList *GetDataSetSrvMaps(const TString &srvmaps);
703
704protected:
705 TProof(); // For derived classes to use
706 void InitMembers();
707 Int_t Init(const char *masterurl, const char *conffile,
708 const char *confdir, Int_t loglevel,
709 const char *alias = 0);
710 virtual Bool_t StartSlaves(Bool_t attach = kFALSE);
711 Int_t AddWorkers(TList *wrks);
713 void SetupWorkersEnv(TList *wrks, Bool_t increasingpool = kFALSE);
714
715 void SetPlayer(TVirtualProofPlayer *player);
717 virtual TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0);
718
719 void UpdateDialog();
720
721 void HandleLibIncPath(const char *what, Bool_t add, const char *dirs);
722
724 TSlave *CreateSlave(const char *url, const char *ord,
725 Int_t perf, const char *image, const char *workdir);
726 TSlave *CreateSubmaster(const char *url, const char *ord,
727 const char *image, const char *msd, Int_t nwk = 1);
728
729 virtual Int_t PollForNewWorkers();
730 virtual void SaveWorkerInfo();
731
732 Int_t Collect(ESlaves list = kActive, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
733 Int_t Collect(TList *slaves, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
734
736
737 void SetDSet(TDSet *dset) { fDSet = dset; }
738 virtual void ValidateDSet(TDSet *dset);
739
740 Int_t VerifyDataSetParallel(const char *uri, const char *optStr);
741
743
744 Int_t AssertPath(const char *path, Bool_t writable);
745 Int_t GetSandbox(TString &sb, Bool_t assert = kFALSE, const char *rc = 0);
746
747 void PrepareInputDataFile(TString &dataFile);
748 virtual void SendInputDataFile();
749 Int_t SendFile(const char *file, Int_t opt = (kBinary | kForward | kCp | kCpBin),
750 const char *rfile = 0, TSlave *sl = 0);
751
752 // Fast enable/disable feedback from Process
753 void SetFeedback(TString &opt, TString &optfb, Int_t action);
754 // Output file handling during Process
756
757 static void *SlaveStartupThread(void *arg);
758
759 static Int_t AssertDataSet(TDSet *dset, TList *input,
760 TDataSetManager *mgr, TString &emsg);
761 static void AssertMacroPath(const char *macro);
762
763 // Input data handling
764 static Int_t GetInputData(TList *input, const char *cachedir, TString &emsg);
765 static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TString &emsg);
766 static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg);
767
768 // Parse CINT commands
769 static Bool_t GetFileInCmd(const char *cmd, TString &fn);
770
771 // Pipe execution of commands
772 static void SystemCmd(const char *cmd, Int_t fdout);
773
774public:
775 TProof(const char *masterurl, const char *conffile = kPROOF_ConfFile,
776 const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
777 const char *alias = 0, TProofMgr *mgr = 0);
778 ~TProof() override;
779
780 void cd(Int_t id = -1);
781
782 Int_t Ping();
783 void Touch();
784 Int_t Exec(const char *cmd, Bool_t plusMaster = kFALSE);
785 Int_t Exec(const char *cmd, const char *ord, Bool_t logtomacro = kFALSE);
786
787 TString Getenv(const char *env, const char *ord = "0");
788 Int_t GetRC(const char *RCenv, Int_t &env, const char *ord = "0");
789 Int_t GetRC(const char *RCenv, Double_t &env, const char *ord = "0");
790 Int_t GetRC(const char *RCenv, TString &env, const char *ord = "0");
791
792 virtual Long64_t Process(TDSet *dset, const char *selector,
793 Option_t *option = "", Long64_t nentries = -1,
794 Long64_t firstentry = 0);
795 virtual Long64_t Process(TFileCollection *fc, const char *selector,
796 Option_t *option = "", Long64_t nentries = -1,
797 Long64_t firstentry = 0);
798 virtual Long64_t Process(const char *dsetname, const char *selector,
799 Option_t *option = "", Long64_t nentries = -1,
800 Long64_t firstentry = 0, TObject *enl = 0);
801 virtual Long64_t Process(const char *selector, Long64_t nentries,
802 Option_t *option = "");
803 // Process via TSelector
804 virtual Long64_t Process(TDSet *dset, TSelector *selector,
805 Option_t *option = "", Long64_t nentries = -1,
806 Long64_t firstentry = 0);
807 virtual Long64_t Process(TFileCollection *fc, TSelector *selector,
808 Option_t *option = "", Long64_t nentries = -1,
809 Long64_t firstentry = 0);
810 virtual Long64_t Process(const char *dsetname, TSelector *selector,
811 Option_t *option = "", Long64_t nentries = -1,
812 Long64_t firstentry = 0, TObject *enl = 0);
813 virtual Long64_t Process(TSelector *selector, Long64_t nentries,
814 Option_t *option = "");
815
816 virtual Long64_t DrawSelect(TDSet *dset, const char *varexp,
817 const char *selection = "",
818 Option_t *option = "", Long64_t nentries = -1,
819 Long64_t firstentry = 0);
820 Long64_t DrawSelect(const char *dsetname, const char *varexp,
821 const char *selection = "",
822 Option_t *option = "", Long64_t nentries = -1,
823 Long64_t firstentry = 0, TObject *enl = 0);
824 Int_t Archive(Int_t query, const char *url);
825 Int_t Archive(const char *queryref, const char *url = 0);
826 Int_t CleanupSession(const char *sessiontag);
827 Long64_t Finalize(Int_t query = -1, Bool_t force = kFALSE);
828 Long64_t Finalize(const char *queryref, Bool_t force = kFALSE);
829 Int_t Remove(Int_t query, Bool_t all = kFALSE);
830 Int_t Remove(const char *queryref, Bool_t all = kFALSE);
831 Int_t Retrieve(Int_t query, const char *path = 0);
832 Int_t Retrieve(const char *queryref, const char *path = 0);
833
834 void DisableGoAsyn();
835 void GoAsynchronous();
836 void StopProcess(Bool_t abort, Int_t timeout = -1);
837 void Browse(TBrowser *b) override;
838
839 virtual Int_t Echo(const TObject *obj);
840 virtual Int_t Echo(const char *str);
841
842 Int_t SetParallel(Int_t nodes = -1, Bool_t random = kFALSE);
844
845 void Close(Option_t *option="");
846 void Print(Option_t *option="") const override;
847
848 //-- cache and package management
849 virtual void ShowCache(Bool_t all = kFALSE);
850 virtual void ClearCache(const char *file = 0);
853 void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE);
856 Int_t ClearPackage(const char *package);
857 Int_t DownloadPackage(const char *par, const char *dstdir = 0);
858 Int_t EnablePackage(const char *package, Bool_t notOnClient = kFALSE, TList *workers = 0);
859 Int_t EnablePackage(const char *package, const char *loadopts,
860 Bool_t notOnClient = kFALSE, TList *workers = 0);
861 Int_t EnablePackage(const char *package, TList *loadopts,
862 Bool_t notOnClient = kFALSE, TList *workers = 0);
863 Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUntar, TList *workers = 0);
864 virtual Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t uniqueOnly = kTRUE,
865 TList *wrks = 0);
866
867 Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE, TList *wrks = 0, Bool_t doCollect = kTRUE);
868 Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE, TList *wrks = 0, Bool_t doCollect = kTRUE);
869 Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFALSE);
870 Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFALSE);
871
872 //-- dataset management
873 Int_t UploadDataSet(const char *, TList *, const char * = 0, Int_t = 0, TList * = 0);
874 Int_t UploadDataSet(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0);
875 Int_t UploadDataSetFromFile(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0);
876 virtual Bool_t RegisterDataSet(const char *name,
877 TFileCollection *dataset, const char* optStr = "");
878 virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "");
879 virtual void ShowDataSets(const char *uri = "", const char* optStr = "");
880
881 TMap *GetDataSetQuota(const char* optStr = "");
882 void ShowDataSetQuota(Option_t* opt = 0);
883
884 virtual Bool_t ExistsDataSet(const char *dataset);
885 void ShowDataSet(const char *dataset = "", const char* opt = "filter:SsCc");
886 virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "");
887 virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "");
888 virtual TFileCollection *GetDataSet(const char *dataset, const char* optStr = "");
889 TList *FindDataSets(const char *searchString, const char* optStr = "");
890 virtual Bool_t RequestStagingDataSet(const char *dataset);
891 virtual TFileCollection *GetStagingStatusDataSet(const char *dataset);
892 virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr = "filter:SsCc");
893 virtual Bool_t CancelStagingDataSet(const char *dataset);
894
895 virtual Int_t SetDataSetTreeName( const char *dataset, const char *treename);
896
897 virtual void ShowDataSetCache(const char *dataset = 0);
898 virtual void ClearDataSetCache(const char *dataset = 0);
899
900 virtual void ShowData();
901 void ClearData(UInt_t what = kUnregistered, const char *dsname = 0);
902
903 const char *GetMaster() const { return fMaster; }
904 const char *GetConfDir() const { return fConfDir; }
905 const char *GetConfFile() const { return fConfFile; }
906 const char *GetUser() const { return fUrl.GetUser(); }
907 const char *GetGroup() const { return fGroup; }
908 const char *GetWorkDir() const { return fWorkDir; }
909 const char *GetSessionTag() const { return GetName(); }
910 const char *GetImage() const { return fImage; }
911 const char *GetUrl() { return fUrl.GetUrl(); }
912 Int_t GetPort() const { return fUrl.GetPort(); }
915 Int_t GetStatus() const { return fStatus; }
916 Int_t GetLogLevel() const { return fLogLevel; }
917 Int_t GetParallel() const;
918 Int_t GetSeqNum() const { return fSeqNum; }
919 Int_t GetSessionID() const { return fSessionID; }
922
923 EQueryMode GetQueryMode(Option_t *mode = 0) const;
924 void SetQueryMode(EQueryMode mode);
925
927
928 void GetStatistics(Bool_t verbose = kFALSE);
929 Long64_t GetBytesRead() const { return fBytesRead; }
930 Float_t GetRealTime() const { return fRealTime; }
931 Float_t GetCpuTime() const { return fCpuTime; }
932
935 Bool_t IsFolder() const override { return kTRUE; }
936 Bool_t IsMaster() const { return fMasterServ; }
937 Bool_t IsValid() const { return fValid; }
938 Bool_t IsTty() const { return fTty; }
939 Bool_t IsParallel() const { return GetParallel() > 0 ? kTRUE : kFALSE; }
940 Bool_t IsIdle() const { return (fNotIdle <= 0) ? kTRUE : kFALSE; }
941 Bool_t IsWaiting() const { return fIsWaiting; }
942
945
946 //-- input list parameter handling
947 void SetParameter(const char *par, const char *value);
948 void SetParameter(const char *par, Int_t value);
949 void SetParameter(const char *par, Long_t value);
950 void SetParameter(const char *par, Long64_t value);
951 void SetParameter(const char *par, Double_t value);
952 TObject *GetParameter(const char *par) const;
953 void DeleteParameters(const char *wildcard);
954 void ShowParameters(const char *wildcard = "PROOF_*") const;
955
956 void AddInput(TObject *obj);
957 void ClearInput();
959 TObject *GetOutput(const char *name);
961 static TObject *GetOutput(const char *name, TList *out);
962
963 void ShowMissingFiles(TQueryResult *qr = 0);
965
966 void AddInputData(TObject *obj, Bool_t push = kFALSE);
967 void SetInputDataFile(const char *datafile);
968 void ClearInputData(TObject *obj = 0);
969 void ClearInputData(const char *name);
970
971 void AddFeedback(const char *name);
972 void RemoveFeedback(const char *name);
973 void ClearFeedback();
974 void ShowFeedback() const;
975 TList *GetFeedbackList() const;
976
977 virtual TList *GetListOfQueries(Option_t *opt = "");
981 TQueryResult *GetQueryResult(const char *ref = 0);
982 void GetMaxQueries();
983 void SetMaxDrawQueries(Int_t max);
984 void ShowQueries(Option_t *opt = "");
985
986 Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready);
987
988 void SetActive(Bool_t /*active*/ = kTRUE) { }
989
990 void LogMessage(const char *msg, Bool_t all); //*SIGNAL*
991 void Progress(Long64_t total, Long64_t processed); //*SIGNAL*
992 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
993 Float_t initTime, Float_t procTime,
994 Float_t evtrti, Float_t mbrti); // *SIGNAL*
995 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
996 Float_t initTime, Float_t procTime,
997 Float_t evtrti, Float_t mbrti,
998 Int_t actw, Int_t tses, Float_t eses); // *SIGNAL*
999 void Feedback(TList *objs); //*SIGNAL*
1000 void QueryResultReady(const char *ref); //*SIGNAL*
1001 void CloseProgressDialog(); //*SIGNAL*
1002 void ResetProgressDialog(const char *sel, Int_t sz,
1003 Long64_t fst, Long64_t ent); //*SIGNAL*
1004 void StartupMessage(const char *msg, Bool_t status, Int_t done,
1005 Int_t total); //*SIGNAL*
1006 void DataSetStatus(const char *msg, Bool_t status,
1007 Int_t done, Int_t total); //*SIGNAL*
1008
1009 void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st);
1010
1011 void GetLog(Int_t start = -1, Int_t end = -1);
1012 TMacro *GetLastLog();
1013 void PutLog(TQueryResult *qr);
1014 void ShowLog(Int_t qry = -1);
1015 void ShowLog(const char *queryref);
1018
1020
1022
1023 virtual TTree *GetTreeHeader(TDSet *tdset);
1025
1026 void AddChain(TChain *chain);
1027 void RemoveChain(TChain *chain);
1028
1032
1033 void Detach(Option_t *opt = "");
1034
1035 virtual void SetAlias(const char *alias="");
1036
1038 void SetManager(TProofMgr *mgr);
1039
1040 Int_t ActivateWorker(const char *ord, Bool_t save = kTRUE);
1041 Int_t DeactivateWorker(const char *ord, Bool_t save = kTRUE);
1042
1043 const char *GetDataPoolUrl() const { return fManager ? fManager->GetMssUrl() : 0; }
1044 void SetDataPoolUrl(const char *url) { if (fManager) fManager->SetMssUrl(url); }
1045
1047
1049
1050 // Enable the performance tree
1051 Int_t SavePerfTree(const char *pf = 0, const char *qref = 0);
1052 void SetPerfTree(const char *pf = "perftree.root", Bool_t withWrks = kFALSE);
1053
1054 // Opening and managing PROOF connections
1055 static TProof *Open(const char *url = 0, const char *conffile = 0,
1056 const char *confdir = 0, Int_t loglevel = 0);
1057 static void LogViewer(const char *url = 0, Int_t sessionidx = 0);
1058 static TProofMgr *Mgr(const char *url);
1059 static void Reset(const char *url, Bool_t hard = kFALSE);
1060
1061 static void AddEnvVar(const char *name, const char *value);
1062 static void DelEnvVar(const char *name);
1063 static const TList *GetEnvVars();
1064 static void ResetEnvVars();
1065
1066 // Input/output list utilities
1067 static Int_t GetParameter(TCollection *c, const char *par, TString &value);
1068 static Int_t GetParameter(TCollection *c, const char *par, Int_t &value);
1069 static Int_t GetParameter(TCollection *c, const char *par, Long_t &value);
1070 static Int_t GetParameter(TCollection *c, const char *par, Long64_t &value);
1071 static Int_t GetParameter(TCollection *c, const char *par, Double_t &value);
1072
1073 ClassDefOverride(TProof,0) //PROOF control class
1074};
1075
1076// Global object with default PROOF session
1078
1079#endif
#define R__EXTERN
Definition DllImport.h:26
@ kMESS_STRING
@ kMESS_OBJECT
#define b(i)
Definition RSha256.hxx:100
#define f(i)
Definition RSha256.hxx:104
#define c(i)
Definition RSha256.hxx:101
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
bool Bool_t
Definition RtypesCore.h:63
int Int_t
Definition RtypesCore.h:45
long Long_t
Definition RtypesCore.h:54
unsigned int UInt_t
Definition RtypesCore.h:46
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
double Double_t
Definition RtypesCore.h:59
long long Long64_t
Definition RtypesCore.h:80
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66
#define BIT(n)
Definition Rtypes.h:85
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
static unsigned int total
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
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 mask
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 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 Atom_t target
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
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 length
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char mode
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 bytes
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 Atom_t Atom_t Time_t type
char name[80]
Definition TGX11.cxx:110
int nentries
const char *const kPROOF_WorkerIdleTO
Definition TProof.h:135
const char *const kPROOF_QueryDir
Definition TProof.h:128
void(* PrintProgress_t)(Long64_t tot, Long64_t proc, Float_t proctime, Long64_t bytes)
Definition TProof.h:158
const char *const kPROOF_DataSetDir
Definition TProof.h:129
const char *const kPROOF_DataDir
Definition TProof.h:130
const char *const kPROOF_PackDownloadDir
Definition TProof.h:127
const char *const kRM
Definition TProof.h:142
const char *const kPROOF_CacheLockFile
Definition TProof.h:131
const char *const kUNTAR
Definition TProof.h:144
const char *const kCP
Definition TProof.h:141
const char *const kUNTAR3
Definition TProof.h:146
const char *const kPROOF_CacheDir
Definition TProof.h:125
const char *const kPROOF_PackDir
Definition TProof.h:126
const char *const kGUNZIP
Definition TProof.h:147
const char *const kPROOF_ConfFile
Definition TProof.h:122
const char *const kLS
Definition TProof.h:143
const Int_t kPROOF_Port
Definition TProof.h:121
const char *const kPROOF_WorkDir
Definition TProof.h:124
const char *const kUNTAR2
Definition TProof.h:145
const Long64_t kPROOF_DynWrkPollInt_s
Definition TProof.h:138
const char *const kPROOF_PackageLockFile
Definition TProof.h:132
const char *const kPROOF_MissingFiles
Definition TProof.h:137
const char *const kPROOF_InputDataFile
Definition TProof.h:136
const char *const kPROOF_QueryLockFile
Definition TProof.h:133
R__EXTERN TProof * gProof
Definition TProof.h:1077
const char *const kPROOF_ConfDir
Definition TProof.h:123
const Int_t kPROOF_Protocol
Definition TProof.h:120
const char *const kPROOF_TerminateWorker
Definition TProof.h:134
@ kSigInterrupt
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
A chain is a collection of files containing TTree objects.
Definition TChain.h:33
Collection abstract base class.
Definition TCollection.h:65
This class implements a data set to be used for PROOF processing.
Definition TDSet.h:153
Utility class to draw objects in the feedback list during queries.
<div class="legacybox"><h2>Legacy Code</h2> TEventList is a legacy interface: there will be no bug fi...
Definition TEventList.h:31
Class that contains a list of TFileInfo's and accumulated meta data information about its entries.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
Definition THashList.h:34
A doubly linked list.
Definition TList.h:38
This code implements the MD5 message-digest algorithm.
Definition TMD5.h:44
Class supporting a collection of lines with C++ code.
Definition TMacro.h:31
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition TMap.h:40
Int_t fMergedObjects
Definition TProof.h:252
Bool_t AreAllWorkersAssigned()
Return if the determined number of workers has been already assigned to this merger.
Definition TProof.cxx:331
Int_t GetMergedWorkers()
Definition TProof.h:278
Bool_t AreAllWorkersMerged()
Return if merger has already merged all workers, i.e. if it has finished its merging job.
Definition TProof.cxx:323
TSlave * GetMerger()
Definition TProof.h:274
Int_t fWorkersToMerge
Definition TProof.h:254
TMergerInfo & operator=(const TMergerInfo &)
Bool_t IsActive()
Definition TProof.h:288
~TMergerInfo() override
Destructor.
Definition TProof.cxx:287
Int_t GetWorkersToMerge()
Definition TProof.h:277
TMergerInfo(const TMergerInfo &)
Int_t GetMergedObjects()
Definition TProof.h:279
Bool_t fIsActive
Definition TProof.h:260
TList * fWorkers
Definition TProof.h:259
void SetMergedWorker()
Increase number of already merged workers by 1.
Definition TProof.cxx:298
void AddWorker(TSlave *sl)
Add new worker to the list of workers to be merged by this merger.
Definition TProof.cxx:309
void Deactivate()
Definition TProof.h:287
Int_t fMergedWorkers
Definition TProof.h:256
Int_t fPort
Definition TProof.h:251
TList * GetWorkers()
Definition TProof.h:272
TSlave * fMerger
Definition TProof.h:250
Int_t GetPort()
Definition TProof.h:275
void AddMergedObjects(Int_t objects)
Definition TProof.h:282
TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers)
Definition TProof.h:266
const char * GetName() const override
Returns name of object.
Definition TNamed.h:47
TNamed()
Definition TNamed.h:36
Mother of all ROOT objects.
Definition TObject.h:41
TObject()
TObject constructor.
Definition TObject.h:251
The PROOF package manager contains tools to manage packages.
Definition TPackMgr.h:37
@ kCheckROOT
Definition TPackMgr.h:39
TProofInputHandler(const TProofInputHandler &)
TProof * fProof
Definition TProof.h:201
Bool_t ReadNotify() override
Notify when something can be read from the descriptor associated with this handler.
Definition TProof.h:208
TProofInputHandler & operator=(const TProofInputHandler &)
Bool_t Notify() override
Handle input.
Definition TProof.cxx:169
TSocket * fSocket
Definition TProof.h:200
TProofInterruptHandler & operator=(const TProofInterruptHandler &)
Bool_t Notify() override
TProof interrupt handler.
Definition TProof.cxx:122
TProofInterruptHandler(TProof *p)
Definition TProof.h:192
TProofInterruptHandler(const TProofInterruptHandler &)
Int_t fLastNWrks
Definition TProof.h:299
void IncreaseIdx()
Definition TProof.h:311
void DecreaseNWrks()
Definition TProof.h:309
Int_t fNWrks
Definition TProof.h:298
void Reset(Int_t n=-1)
Definition TProof.h:312
TString fExp
Definition TProof.h:296
const char * Export(Bool_t &changed)
Definition TProof.h:304
static char fgCr[4]
Definition TProof.h:111
void IncreaseNWrks()
Definition TProof.h:310
void SetNWrks(Int_t n)
Definition TProof.h:313
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
Definition TProofMgr.h:43
Derivation of TList with an overload of ls() and Print() allowing to filter out some of the variables...
Internal class steering processing in PROOF.
This class provides a query progress bar.
Long64_t fTotal
Definition TProof.h:163
Long64_t fBytesRead
Definition TProof.h:165
Float_t fEvtRateI
Definition TProof.h:168
Float_t fProcTime
Definition TProof.h:167
Float_t fEffSessions
Definition TProof.h:172
Float_t fMBRateI
Definition TProof.h:169
TProofProgressInfo(Long64_t tot=0, Long64_t proc=0, Long64_t bytes=0, Float_t initt=-1., Float_t proct=-1., Float_t evts=-1., Float_t mbs=-1., Int_t actw=0, Int_t tsess=0, Float_t esess=0.)
Definition TProof.h:173
Long64_t fProcessed
Definition TProof.h:164
Float_t fInitTime
Definition TProof.h:166
~TProofProgressInfo() override
Definition TProof.h:180
Class providing the PROOF server.
Definition TProofServ.h:66
This class controls a Parallel ROOT Facility, PROOF, cluster.
Definition TProof.h:316
void HandleLibIncPath(const char *what, Bool_t add, const char *dirs)
Handle lib, inc search paths modification request.
Definition TProof.cxx:8998
const char * GetSessionTag() const
Definition TProof.h:909
Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster)
Send command to be executed on the PROOF master and/or slaves.
Definition TProof.cxx:6533
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
Definition TProof.cxx:1996
void ShowPackages(Bool_t all=kFALSE, Bool_t redirlog=kFALSE)
List contents of package directory.
Definition TProof.cxx:7770
virtual void ShowData()
List contents of the data directory in the sandbox.
Definition TProof.cxx:7396
Bool_t fRedirLog
Definition TProof.h:510
Bool_t fMergersByHost
Definition TProof.h:549
Int_t SendPrint(Option_t *option="")
Send print command to master server.
Definition TProof.cxx:7068
friend class TXSocketHandler
Definition TProof.h:335
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
Definition TProof.cxx:11724
Bool_t CreateMerger(TSlave *sl, Int_t port)
Create a new merger.
Definition TProof.cxx:4454
Int_t BroadcastGroupPriority(const char *grp, Int_t priority, ESlaves list=kAllUnique)
Broadcast the group priority to all workers in the specified list.
Definition TProof.cxx:2451
void Print(Option_t *option="") const override
Print status of PROOF cluster.
Definition TProof.cxx:4803
EUrgent
Definition TProof.h:393
@ kShutdownInterrupt
Definition TProof.h:398
@ kHardInterrupt
Definition TProof.h:396
@ kLocalInterrupt
Definition TProof.h:394
@ kPing
Definition TProof.h:395
@ kSoftInterrupt
Definition TProof.h:397
Bool_t fValid
Definition TProof.h:464
Int_t GetNumberOfQueries()
Number of queries processed by this session.
Definition TProof.cxx:2105
TProofMgr * fManager
Definition TProof.h:587
void ActivateAsyncInput()
Activate the a-sync input handler.
Definition TProof.cxx:4410
TList * GetOutputNames()
FIXME: to be written.
Definition TProof.cxx:10118
Bool_t IsEndMaster() const
Definition TProof.h:664
TList * fUniqueSlaves
Definition TProof.h:481
Int_t fMergersCount
Definition TProof.h:550
void DisableGoAsyn()
Signal to disable related switches.
Definition TProof.cxx:6259
void PutLog(TQueryResult *qr)
Display log of query pq into the log window frame.
Definition TProof.cxx:10321
void NotifyLogMsg(const char *msg, const char *sfx="\n")
Notify locally 'msg' to the appropriate units (file, stdout, window) If defined, 'sfx' is added after...
Definition TProof.cxx:6358
void Activate(TList *slaves=0)
Activate slave server list.
Definition TProof.cxx:2389
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file).
Definition TProof.cxx:8441
TMonitor * fCurrentMonitor
Definition TProof.h:487
TMonitor * fAllUniqueMonitor
Definition TProof.h:486
~TProof() override
Clean up PROOF environment.
Definition TProof.cxx:652
void SendLogToWindow(Bool_t mode)
Definition TProof.h:1017
void SetFeedback(TString &opt, TString &optfb, Int_t action)
Extract from opt in optfb information about wanted feedback settings.
Definition TProof.cxx:5232
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
Definition TProof.cxx:6758
void Close(Option_t *option="")
Close all open slave servers.
Definition TProof.cxx:1798
friend class TProofLite
Definition TProof.h:321
TList * fTerminatedSlaveInfos
Definition TProof.h:573
TString fWorkDir
Definition TProof.h:467
TList * GetListOfSlaves() const
Definition TProof.h:654
static TList * GetDataSetSrvMaps(const TString &srvmaps)
TMonitor * fUniqueMonitor
Definition TProof.h:485
Int_t SetParallelSilent(Int_t nodes, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition TProof.cxx:7112
Int_t fSessionID
Definition TProof.h:528
void Browse(TBrowser *b) override
Build the PROOF's structure in the browser.
Definition TProof.cxx:10179
EProofWrkListAction
Definition TProof.h:449
@ kDeactivateWorker
Definition TProof.h:451
@ kActivateWorker
Definition TProof.h:450
Int_t DisablePackages()
Remove all packages.
Definition TProof.cxx:7942
Bool_t fProgressDialogStarted
Definition TProof.h:493
Int_t DownloadPackage(const char *par, const char *dstdir=0)
Download a PROOF archive (PAR file) from the master package repository.
Definition TProof.cxx:8334
EBuildPackageOpt
Definition TProof.h:453
@ kDontBuildOnClient
Definition TProof.h:454
@ kCollectBuildResults
Definition TProof.h:457
@ kBuildOnSlavesNoWait
Definition TProof.h:455
@ kBuildAll
Definition TProof.h:456
TMap * GetDataSetQuota(const char *optStr="")
returns a map of the quotas of all groups
Definition TProof.cxx:11276
static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TString &emsg)
Save input data file from 'cachedir' into the sandbox or create a the file with input data objects.
Definition TProof.cxx:12311
Int_t fLogLevel
Definition TProof.h:469
FILE * fLogFileW
Definition TProof.h:512
void ShowQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition TProof.cxx:2165
Int_t fDrawQueries
Definition TProof.h:524
Int_t BuildPackage(const char *package, EBuildPackageOpt opt=kBuildAll, Int_t chkveropt=TPackMgr::kCheckROOT, TList *workers=0)
Build specified package.
Definition TProof.cxx:7990
Bool_t IsTty() const
Definition TProof.h:938
Int_t GetClientProtocol() const
Definition TProof.h:914
Int_t fCollectTimeout
Definition TProof.h:583
EQueryMode fQueryMode
Definition TProof.h:588
TList * GetListOfInactiveSlaves() const
Definition TProof.h:655
friend class TXSocket
Definition TProof.h:334
void RemoveChain(TChain *chain)
Remove chain from data set.
Definition TProof.cxx:10231
void operator=(const TProof &)
EProofShowQuotaOpt
Definition TProof.h:459
@ kPerGroup
Definition TProof.h:460
@ kPerUser
Definition TProof.h:461
void SetupWorkersEnv(TList *wrks, Bool_t increasingpool=kFALSE)
Set up packages, loaded macros, include and lib paths ...
Definition TProof.cxx:1528
static Int_t GetInputData(TList *input, const char *cachedir, TString &emsg)
Get the input data from the file defined in the input list.
Definition TProof.cxx:12413
friend class TPacketizer
Definition TProof.h:318
TList * fNonUniqueMasters
Definition TProof.h:483
Int_t SendObject(const TObject *obj, ESlaves list=kActive)
Send object to master or slave servers.
Definition TProof.cxx:7054
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
Definition TProof.cxx:4937
friend class TProofPlayerRemote
Definition TProof.h:328
TVirtualProofPlayer * fPlayer
Definition TProof.h:494
Bool_t fIsWaiting
Definition TProof.h:508
void AddFeedback(const char *name)
Add object to feedback list.
Definition TProof.cxx:9989
TList * fSlaveInfo
Definition TProof.h:473
Bool_t IsParallel() const
Definition TProof.h:939
static void LogViewer(const char *url=0, Int_t sessionidx=0)
Start the log viewer window usign the plugin manager.
Definition TProof.cxx:12470
TVirtualProofPlayer * GetPlayer() const
Definition TProof.h:716
void CleanGDirectory(TList *ol)
Remove links to objects in list 'ol' from gDirectory.
Definition TProof.cxx:3046
void DeActivateAsyncInput()
De-activate a-sync input handler.
Definition TProof.cxx:4423
TString fMaster
Definition TProof.h:466
Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves)
Broadcast a raw buffer of specified length to all slaves in the specified list.
Definition TProof.cxx:2567
static void ResetEnvVars()
Clear the list of environment variables passed to proofserv on the master and slaves.
Definition TProof.cxx:11796
void AddInputData(TObject *obj, Bool_t push=kFALSE)
Add data objects that might be needed during the processing of the selector (see Process()).
Definition TProof.cxx:9522
void AskParallel()
Ask the for the number of parallel slaves.
Definition TProof.cxx:2077
FileMap_t fFileMap
Definition TProof.h:502
virtual void ClearCache(const char *file=0)
Remove file from all file caches.
Definition TProof.cxx:7714
TList * fInactiveSlaves
Definition TProof.h:480
static void * SlaveStartupThread(void *arg)
virtual void ClearDataSetCache(const char *dataset=0)
Clear the content of the dataset cache, if any (matching 'dataset', if defined).
Definition TProof.cxx:10896
Int_t ActivateWorker(const char *ord, Bool_t save=kTRUE)
Make sure that the worker identified by the ordinal number 'ord' is in the active list.
Definition TProof.cxx:11353
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
Definition TProof.cxx:6092
virtual Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
Definition TProof.cxx:11046
TList * fChains
Definition TProof.h:496
TObject * GetParameter(const char *par) const
Get specified parameter.
Definition TProof.cxx:9918
void SetRunStatus(ERunStatus rst)
Definition TProof.h:672
friend class TProofPlayerLite
Definition TProof.h:327
TList * fActiveSlaves
Definition TProof.h:477
const char * GetWorkDir() const
Definition TProof.h:908
TString fInputDataFile
Definition TProof.h:536
Long64_t fLastPollWorkers_s
Definition TProof.h:476
TUrl fUrl
Definition TProof.h:567
Int_t Archive(Int_t query, const char *url)
Send archive request for the qry-th query in fQueries.
Definition TProof.cxx:6057
friend class TXSlave
Definition TProof.h:333
void AskForOutput(TSlave *sl)
Master asks for output from worker sl.
Definition TProof.cxx:4334
TList * GetListOfPackages()
Get from the master the list of names of the packages available.
Definition TProof.cxx:9108
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'.
Definition TProof.cxx:2148
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
Definition TProof.cxx:1978
void StartupMessage(const char *msg, Bool_t status, Int_t done, Int_t total)
Send startup message.
Definition TProof.cxx:9312
TList * fLoadedMacros
Definition TProof.h:544
Long64_t fTotalBytes
Definition TProof.h:578
static void AssertMacroPath(const char *macro)
Make sure that the directory path contained by macro is in the macro path.
Definition TProof.cxx:8599
ERunStatus
Definition TProof.h:370
@ kStopped
Definition TProof.h:372
@ kAborted
Definition TProof.h:373
@ kRunning
Definition TProof.h:371
Int_t AddIncludePath(const char *incpath, Bool_t onClient=kFALSE, TList *wrks=0, Bool_t doCollect=kTRUE)
Add 'incpath' to the inc path search.
Definition TProof.cxx:8888
virtual TMap * GetDataSets(const char *uri="", const char *optStr="")
Lists all datasets that match given uri.
Definition TProof.cxx:10809
Int_t fWorkersToMerge
Definition TProof.h:551
PrintProgress_t fPrintProgress
Definition TProof.h:540
virtual void ShowCache(Bool_t all=kFALSE)
List contents of file cache.
Definition TProof.cxx:7691
void ClearFeedback()
Clear feedback list.
Definition TProof.cxx:10012
void SetDataPoolUrl(const char *url)
Definition TProof.h:1044
Int_t Broadcast(Int_t kind, ESlaves list=kActive)
Definition TProof.h:634
static TProof * Open(const char *url=0, const char *conffile=0, const char *confdir=0, Int_t loglevel=0)
Start a PROOF session on a specific cluster.
Definition TProof.cxx:11583
Int_t GetPort() const
Definition TProof.h:912
TPluginHandler * GetProgressDialog() const
Definition TProof.h:742
void InterruptCurrentMonitor()
If in active in a monitor set ready state.
Definition TProof.cxx:11335
void ResetMergePrg()
Reset the merge progress notificator.
Definition TProof.cxx:2465
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
Definition TProof.cxx:12624
void ClearData(UInt_t what=kUnregistered, const char *dsname=0)
Remove files for the data directory.
Definition TProof.cxx:7412
Bool_t IsValid() const
Definition TProof.h:937
void Touch()
Ping PROOF slaves. Returns the number of slaves that responded.
Definition TProof.cxx:4782
Int_t AssertPath(const char *path, Bool_t writable)
Make sure that 'path' exists; if 'writable' is kTRUE, make also sure that the path is writable.
Definition TProof.cxx:1269
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr="filter:SsCc")
Like GetStagingStatusDataSet, but displays results immediately.
Definition TProof.cxx:11116
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
Definition TProof.cxx:11181
const char * GetConfFile() const
Definition TProof.h:905
Int_t fMaxDrawQueries
Definition TProof.h:525
Int_t GetRemoteProtocol() const
Definition TProof.h:913
Int_t ModifyWorkerLists(const char *ord, Bool_t add, Bool_t save)
Modify the worker active/inactive list by making the worker identified by the ordinal number 'ord' ac...
Definition TProof.cxx:11389
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition TProof.cxx:7140
Int_t GoMoreParallel(Int_t nWorkersToAdd)
Add nWorkersToAdd workers to current list of workers.
Definition TProof.cxx:7170
Int_t fSeqNum
Definition TProof.h:526
TList * fAllUniqueSlaves
Definition TProof.h:482
virtual void ShowDataSetCache(const char *dataset=0)
Display the content of the dataset cache, if any (matching 'dataset', if defined).
Definition TProof.cxx:10914
const char * GetImage() const
Definition TProof.h:910
Int_t FindNextFreeMerger()
Return a merger, which is both active and still accepts some workers to be assigned to it.
Definition TProof.cxx:4304
ESubMerger
Definition TProof.h:376
@ kStopMerging
Definition TProof.h:381
@ kOutputSent
Definition TProof.h:382
@ kMergerDown
Definition TProof.h:380
@ kSendOutput
Definition TProof.h:378
@ kOutputSize
Definition TProof.h:377
@ kBeMerger
Definition TProof.h:379
Float_t fPrepTime
Definition TProof.h:594
Int_t GetRC(const char *RCenv, Int_t &env, const char *ord="0")
Get into 'env' the value of integer RC env variable 'rcenv' on node 'ord'.
Definition TProof.cxx:6665
static void AddEnvVar(const char *name, const char *value)
Add an variable to the list of environment variables passed to proofserv on the master and slaves.
Definition TProof.cxx:11760
Bool_t fSaveLogToMacro
Definition TProof.h:516
static Bool_t GetFileInCmd(const char *cmd, TString &fn)
Static method to extract the filename (if any) form a CINT command.
Definition TProof.cxx:6495
virtual void ShowDataSets(const char *uri="", const char *optStr="")
Shows datasets in locations that match the uri.
Definition TProof.cxx:10846
Int_t fOtherQueries
Definition TProof.h:523
EProofClearData
Definition TProof.h:385
@ kUnregistered
Definition TProof.h:387
@ kPurge
Definition TProof.h:386
@ kForceClear
Definition TProof.h:389
@ kDataset
Definition TProof.h:388
Int_t Collect(const TSlave *sl, Long_t timeout=-1, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect responses from slave sl.
Definition TProof.cxx:2669
friend class TPacketizerAdaptive
Definition TProof.h:320
TList * GetListOfUniqueSlaves() const
Definition TProof.h:656
Float_t GetCpuTime() const
Definition TProof.h:931
void ClearDataProgress(Int_t r, Int_t t)
Progress bar for clear data.
Definition TProof.cxx:7670
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
Definition TProof.cxx:12380
void SetPlayer(TVirtualProofPlayer *player)
Set a new PROOF player.
Definition TProof.cxx:10199
Int_t ClearPackage(const char *package)
Remove a specific package.
Definition TProof.cxx:7857
Int_t SendInitialState()
Transfer the initial (i.e.
Definition TProof.cxx:6774
Int_t AddWorkers(TList *wrks)
Works on the master node only.
Definition TProof.cxx:1320
void GetStatistics(Bool_t verbose=kFALSE)
Get statistics about CPU time, real time and bytes read.
Definition TProof.cxx:2035
virtual Bool_t RegisterDataSet(const char *name, TFileCollection *dataset, const char *optStr="")
Register the 'dataSet' on the cluster under the current user, group and the given 'dataSetName'.
Definition TProof.cxx:10707
friend class TPacketizerDev
Definition TProof.h:319
Int_t Broadcast(const TMessage &mess, TList *slaves)
Broadcast a message to all slaves in the specified list.
Definition TProof.cxx:2475
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
Definition TProof.cxx:9933
Bool_t IsWaiting() const
Definition TProof.h:941
friend class TDataSetManager
Definition TProof.h:322
void PrepareInputDataFile(TString &dataFile)
Prepare the file with the input data objects to be sent the master; the objects are taken from the de...
Definition TProof.cxx:9639
void InitMembers()
Default initializations.
Definition TProof.cxx:527
void RedirectWorker(TSocket *s, TSlave *sl, Int_t output_size)
Redirect output of worker sl to some merger.
Definition TProof.cxx:4258
Int_t GetNumberOfDrawQueries()
Definition TProof.h:979
void HandleSubmerger(TMessage *mess, TSlave *sl)
Process a message of type kPROOF_SUBMERGER.
Definition TProof.cxx:4014
TString fDataPoolUrl
Definition TProof.h:585
Bool_t fEndMaster
Definition TProof.h:530
friend class TXProofMgr
Definition TProof.h:336
Bool_t fLogToWindowOnly
Definition TProof.h:514
friend class TProofPlayer
Definition TProof.h:326
Bool_t IsSync() const
Definition TProof.h:669
void SetInputDataFile(const char *datafile)
Set the file to be used to optimally distribute the input data objects.
Definition TProof.cxx:9585
Int_t fStatus
Definition TProof.h:470
TList * fRunningDSets
Definition TProof.h:581
Int_t ClearPackages()
Remove all packages.
Definition TProof.cxx:7840
void SetParameter(const char *par, const char *value)
Set input list parameter.
Definition TProof.cxx:9822
virtual Bool_t StartSlaves(Bool_t attach=kFALSE)
Start up PROOF slaves.
Definition TProof.cxx:1660
Int_t Ping()
Ping PROOF. Returns 1 if master server responded.
Definition TProof.cxx:4744
TList * fQueries
Definition TProof.h:522
void SetActive(Bool_t=kTRUE)
Definition TProof.h:988
TSlave * CreateSubmaster(const char *url, const char *ord, const char *image, const char *msd, Int_t nwk=1)
Create a new TSlave of type TSlave::kMaster.
Definition TProof.cxx:1875
void SaveActiveList()
Save current list of active workers.
Definition TProof.cxx:11542
Bool_t fMasterServ
Definition TProof.h:566
const char * GetDataPoolUrl() const
Definition TProof.h:1043
TList * fFeedback
Definition TProof.h:495
virtual Int_t SetDataSetTreeName(const char *dataset, const char *treename)
Set/Change the name of the default tree.
Definition TProof.cxx:10766
Bool_t IsIdle() const
Definition TProof.h:940
TList * fBadSlaves
Definition TProof.h:574
TProof(const TProof &)
EUploadPackageOpt
Definition TProof.h:366
@ kUntar
Definition TProof.h:367
@ kRemoveOld
Definition TProof.h:368
Bool_t fMergersSet
Definition TProof.h:548
Int_t fRedirectNext
Definition TProof.h:555
void ShowMissingFiles(TQueryResult *qr=0)
Show information about missing files during query described by 'qr' or the last query if qr is null (...
Definition TProof.cxx:12522
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient=kFALSE)
Remove 'incpath' from the inc path search.
Definition TProof.cxx:8967
void SetMonitor(TMonitor *mon=0, Bool_t on=kTRUE)
Activate (on == TRUE) or deactivate (on == FALSE) all sockets monitored by 'mon'.
Definition TProof.cxx:2408
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
Definition TProof.cxx:2304
ESlaves
Definition TProof.h:564
@ kUnique
Definition TProof.h:564
@ kAllUnique
Definition TProof.h:564
@ kActive
Definition TProof.h:564
@ kAll
Definition TProof.h:564
Int_t UnloadPackage(const char *package)
Unload specified package.
Definition TProof.cxx:8114
std::map< TString, MD5Mod_t > FileMap_t
Definition TProof.h:501
void RemoveFeedback(const char *name)
Remove object from feedback list.
Definition TProof.cxx:10000
Int_t Remove(Int_t query, Bool_t all=kFALSE)
Send remove request for the qry-th query in fQueries.
Definition TProof.cxx:6013
TList * fWrksOutputReady
Definition TProof.h:559
std::recursive_mutex fCloseMutex
Definition TProof.h:542
Bool_t SendingLogToWindow() const
Definition TProof.h:1016
static TPluginHandler * fgLogViewer
Definition TProof.h:561
TList * fMergers
Definition TProof.h:553
Long64_t GetBytesRead() const
Definition TProof.h:929
void UpdateDialog()
Final update of the progress dialog.
Definition TProof.cxx:4353
void AskStatistics()
Ask the for the statistics of the slaves.
Definition TProof.cxx:2022
virtual void SetAlias(const char *alias="")
Set an alias for this session.
Definition TProof.cxx:10583
Float_t fCpuTime
Definition TProof.h:490
Bool_t fFinalizationRunning
Definition TProof.h:554
void Detach(Option_t *opt="")
Detach this instance to its proofserv.
Definition TProof.cxx:10518
void PrintProgress(Long64_t total, Long64_t processed, Float_t procTime=-1., Long64_t bytesread=-1)
Print a progress bar on stderr. Used in batch mode.
Definition TProof.cxx:9140
void FinalizationDone()
Definition TProof.h:694
friend class TSlaveLite
Definition TProof.h:331
TPluginHandler * fProgressDialog
Definition TProof.h:492
Int_t Init(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias=0)
Start the PROOF environment.
Definition TProof.cxx:757
Int_t GetSeqNum() const
Definition TProof.h:918
const char * GetConfDir() const
Definition TProof.h:904
virtual Long64_t DrawSelect(TDSet *dset, const char *varexp, const char *selection="", Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Execute the specified drawing action on a data set (TDSet).
Definition TProof.cxx:6146
Int_t DeactivateWorker(const char *ord, Bool_t save=kTRUE)
Remove the worker identified by the ordinal number 'ord' from the the active list.
Definition TProof.cxx:11370
EProofDataSetCommands
Definition TProof.h:423
@ kRemoveDataSet
Definition TProof.h:430
@ kRegisterDataSet
Definition TProof.h:427
@ kShowQuota
Definition TProof.h:434
@ kGetQuota
Definition TProof.h:433
@ kStagingStatus
Definition TProof.h:438
@ kShowDataSets
Definition TProof.h:432
@ kCache
Definition TProof.h:436
@ kSetDefaultTreeName
Definition TProof.h:435
@ kRequestStaging
Definition TProof.h:437
@ kGetDataSets
Definition TProof.h:426
@ kMergeDataSet
Definition TProof.h:431
@ kCheckDataSetName
Definition TProof.h:425
@ kVerifyDataSet
Definition TProof.h:429
@ kCancelStaging
Definition TProof.h:439
@ kGetDataSet
Definition TProof.h:428
@ kUploadDataSet
Definition TProof.h:424
TProofMergePrg fMergePrg
Definition TProof.h:519
void SetRealTimeLog(Bool_t on=kTRUE)
Switch ON/OFF the real-time logging facility.
Definition TProof.cxx:7096
void cd(Int_t id=-1)
Set session with 'id' the default one.
Definition TProof.cxx:10496
TMacro fMacroLog
Definition TProof.h:517
TFileCollection * GetMissingFiles(TQueryResult *qr=0)
Get a TFileCollection with the files missing in the query described by 'qr' or the last query if qr i...
Definition TProof.cxx:12581
friend class TSlave
Definition TProof.h:330
void ParseConfigField(const char *config)
The config file field may contain special instructions which need to be parsed at the beginning,...
Definition TProof.cxx:1043
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves.
Definition TProof.cxx:2014
Int_t Retrieve(Int_t query, const char *path=0)
Send retrieve request for the qry-th query in fQueries.
Definition TProof.cxx:5948
Long64_t fBytesRead
Definition TProof.h:488
Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile, TList *wrks)
Broadcast file to all workers in the specified list.
Definition TProof.cxx:2610
Int_t GetStatus() const
Definition TProof.h:915
TList * fInputData
Definition TProof.h:535
TString fPerfTree
Definition TProof.h:557
void ShowParameters(const char *wildcard="PROOF_*") const
Show the input list parameters specified by the wildcard.
Definition TProof.cxx:9958
TMonitor * fActiveMonitor
Definition TProof.h:484
Bool_t IsFolder() const override
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition TProof.h:935
void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st)
Send or notify data set status.
Definition TProof.cxx:9336
Bool_t fTty
Definition TProof.h:465
virtual Int_t RemoveDataSet(const char *dataset, const char *optStr="")
Remove the specified dataset from the PROOF cluster.
Definition TProof.cxx:10991
ERunStatus GetRunStatus() const
Definition TProof.h:943
void LogMessage(const char *msg, Bool_t all)
Log a message into the appropriate window by emitting a signal.
Definition TProof.cxx:6414
static void Reset(const char *url, Bool_t hard=kFALSE)
Wrapper around TProofMgr::Reset(...).
Definition TProof.cxx:11736
virtual Int_t PollForNewWorkers()
Asks the PROOF Serv for new workers in Dynamic Startup mode and activates them.
Definition TProof.cxx:2970
Int_t fLastAssignedMerger
Definition TProof.h:552
TList * GetQueryResults()
Return pointer to the list of query results in the player.
Definition TProof.cxx:2139
void ShowFeedback() const
Show items in feedback list.
Definition TProof.cxx:10020
TString fConfDir
Definition TProof.h:569
Int_t GoParallel(Int_t nodes, Bool_t accept=kFALSE, Bool_t random=kFALSE)
Go in parallel mode with at most "nodes" slaves.
Definition TProof.cxx:7273
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
Definition TProof.cxx:6107
Int_t UnloadPackages()
Unload all packages.
Definition TProof.cxx:8147
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
Definition TProof.cxx:10211
TList * GetListOfActiveSlaves() const
Definition TProof.h:723
TSignalHandler * fIntHandler
Definition TProof.h:491
TList * FindDataSets(const char *searchString, const char *optStr="")
Find datasets, returns in a TList all found datasets.
Definition TProof.cxx:11010
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
Definition TProof.cxx:12646
virtual Int_t Load(const char *macro, Bool_t notOnClient=kFALSE, Bool_t uniqueOnly=kTRUE, TList *wrks=0)
Load the specified macro on master, workers and, if notOnClient is kFALSE, on the client.
Definition TProof.cxx:8628
EStatusBits
Definition TProof.h:341
@ kIsClient
Definition TProof.h:344
@ kNewInputData
Definition TProof.h:343
@ kIsMaster
Definition TProof.h:345
@ kUseProgressDialog
Definition TProof.h:347
@ kIsTopMaster
Definition TProof.h:346
@ kUsingSessionGui
Definition TProof.h:342
Int_t AddDynamicPath(const char *libpath, Bool_t onClient=kFALSE, TList *wrks=0, Bool_t doCollect=kTRUE)
Add 'libpath' to the lib path search.
Definition TProof.cxx:8843
TProof()
Protected constructor to be used by classes deriving from TProof (they have to call Init themselves a...
Definition TProof.cxx:513
Bool_t fDynamicStartup
Definition TProof.h:589
Int_t RemoveWorkers(TList *wrks)
Used for shuting down the workres after a query is finished.
Definition TProof.cxx:1597
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
Definition TProof.cxx:9201
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
Definition TProof.cxx:5883
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient=kFALSE)
Remove 'libpath' from the lib path search.
Definition TProof.cxx:8933
TSelector * fSelector
Definition TProof.h:591
void ShowDataSetQuota(Option_t *opt=0)
shows the quota and usage of all groups if opt contains "U" shows also distribution of usage on user-...
Definition TProof.cxx:11309
Bool_t fIsPollingWorkers
Definition TProof.h:475
void DeleteDrawFeedback(TDrawFeedback *f)
Delete draw feedback object.
Definition TProof.cxx:10110
Bool_t IsLite() const
Definition TProof.h:933
virtual TFileCollection * GetStagingStatusDataSet(const char *dataset)
Obtains a TFileCollection showing the staging status of the specified dataset.
Definition TProof.cxx:11073
Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t cpopt=(kCp|kCpBin))
Check if a file needs to be send to the slave.
Definition TProof.cxx:6799
Float_t fRealTime
Definition TProof.h:489
Bool_t Prompt(const char *p)
Prompt the question 'p' requiring an answer y,Y,n,N Return kTRUE is the answer was y or Y,...
Definition TProof.cxx:7649
void SetProgressDialog(Bool_t on=kTRUE)
Enable/Disable the graphic progress dialog.
Definition TProof.cxx:12509
TString fLogFileName
Definition TProof.h:511
void GoAsynchronous()
Send GOASYNC message to the master.
Definition TProof.cxx:6267
ERegisterOpt
Definition TProof.h:361
@ kOverwriteIfExists
Definition TProof.h:363
@ kMergeIfExists
Definition TProof.h:364
@ kFailIfExists
Definition TProof.h:362
Int_t fCheckFileStatus
Definition TProof.h:471
TList * GetOutputList()
Get list with all object created during processing (see Process()).
Definition TProof.cxx:9808
TList * fAvailablePackages
Definition TProof.h:579
TList * fRecvMessages
Definition TProof.h:472
void SetManager(TProofMgr *mgr)
Set manager and schedule its destruction after this for clean operations.
Definition TProof.cxx:1301
Int_t Broadcast(Int_t kind, TList *slaves)
Definition TProof.h:633
TString Getenv(const char *env, const char *ord="0")
Get value of environment variable 'env' on node 'ord'.
Definition TProof.cxx:6644
void ResetProgressDialogStatus()
Definition TProof.h:1021
Int_t fProtocol
Definition TProof.h:571
void StopProcess(Bool_t abort, Int_t timeout=-1)
Send STOPPROCESS message to master and workers.
Definition TProof.cxx:6224
TList * GetEnabledPackages() const
Definition TProof.h:735
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
Definition TProof.cxx:1987
TSlave * CreateSlave(const char *url, const char *ord, Int_t perf, const char *image, const char *workdir)
Create a new TSlave of type TSlave::kSlave.
Definition TProof.cxx:1853
void GetMaxQueries()
Get max number of queries whose full results are kept in the remote sandbox.
Definition TProof.cxx:2128
ERunStatus fRunStatus
Definition TProof.h:507
Int_t SendFile(const char *file, Int_t opt=(kBinary|kForward|kCp|kCpBin), const char *rfile=0, TSlave *sl=0)
Send a file to master or slave servers.
Definition TProof.cxx:6894
static Int_t AssertDataSet(TDSet *dset, TList *input, TDataSetManager *mgr, TString &emsg)
Make sure that dataset is in the form to be processed.
Definition TProof.cxx:12014
friend class TProofInputHandler
Definition TProof.h:324
FILE * fLogFileR
Definition TProof.h:513
void Interrupt(EUrgent type, ESlaves list=kActive)
Send interrupt to master or slave servers.
Definition TProof.cxx:2276
Float_t GetRealTime() const
Definition TProof.h:930
Int_t UploadDataSet(const char *, TList *, const char *=0, Int_t=0, TList *=0)
*** This function is deprecated and will disappear in future versions *** *** It is just a wrapper ar...
Definition TProof.cxx:10635
TList * fWaitingSlaves
Definition TProof.h:521
void MarkBad(TSlave *wrk, const char *reason=0)
Add a bad slave server to the bad slave list and remove it from the active list and from the two moni...
Definition TProof.cxx:4521
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
Definition TProof.cxx:6460
Bool_t IsProofd() const
Definition TProof.h:934
Int_t RestoreActiveList()
Restore saved list of active workers.
Definition TProof.cxx:11557
virtual Int_t Echo(const TObject *obj)
Sends an object to master and workers and expect them to send back a message with the output of its T...
Definition TProof.cxx:7028
void ShowLog(Int_t qry=-1)
Display on screen the content of the temporary log file.
Definition TProof.cxx:10371
TString fConfFile
Definition TProof.h:568
void ClearInputData(TObject *obj=0)
Remove obj form the input data list; if obj is null (default), clear the input data info.
Definition TProof.cxx:9538
Int_t SendCommand(const char *cmd, ESlaves list=kActive)
Send command to be executed on the PROOF master and/or slaves.
Definition TProof.cxx:6631
void Feedback(TList *objs)
Get list of feedback objects.
Definition TProof.cxx:9268
virtual Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
Definition TProof.cxx:11020
Int_t GetLogLevel() const
Definition TProof.h:916
TObject * GetOutput(const char *name)
Get specified object that has been produced during the processing (see Process()).
Definition TProof.cxx:9762
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
Definition TProof.cxx:2321
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
Definition TProof.cxx:10042
virtual void ValidateDSet(TDSet *dset)
Validate a TDSet.
Definition TProof.cxx:9380
TProofMgr::EServType fServType
Definition TProof.h:586
Int_t UploadDataSetFromFile(const char *, const char *, const char *=0, Int_t=0, TList *=0)
*** This function is deprecated and will disappear in future versions *** *** It is just a wrapper ar...
Definition TProof.cxx:10684
EProofCacheCommands
Definition TProof.h:400
@ kDisableSubPackage
Definition TProof.h:413
@ kClearPackages
Definition TProof.h:404
@ kShowSubPackages
Definition TProof.h:411
@ kShowEnabledPackages
Definition TProof.h:408
@ kListEnabledPackages
Definition TProof.h:420
@ kClearPackage
Definition TProof.h:405
@ kLoadMacro
Definition TProof.h:421
@ kShowSubCache
Definition TProof.h:409
@ kDisablePackage
Definition TProof.h:416
@ kDisablePackages
Definition TProof.h:418
@ kLoadPackage
Definition TProof.h:407
@ kBuildPackage
Definition TProof.h:406
@ kListPackages
Definition TProof.h:419
@ kUnloadPackages
Definition TProof.h:417
@ kUnloadPackage
Definition TProof.h:415
@ kShowCache
Definition TProof.h:401
@ kClearSubCache
Definition TProof.h:410
@ kBuildSubPackage
Definition TProof.h:414
@ kClearCache
Definition TProof.h:402
@ kShowPackages
Definition TProof.h:403
@ kDisableSubPackages
Definition TProof.h:412
static TList * fgProofEnvList
Definition TProof.h:545
friend class TXProofServ
Definition TProof.h:337
virtual void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique (user) file system image.
Definition TProof.cxx:1912
TMacro * GetMacroLog()
Definition TProof.h:1019
void SetPrintProgress(PrintProgress_t pp)
Definition TProof.h:1046
const char * GetUser() const
Definition TProof.h:906
TPackMgr * fPackMgr
Definition TProof.h:532
void TerminateWorker(TSlave *wrk)
Ask an active worker 'wrk' to terminate, i.e. to shutdown.
Definition TProof.cxx:4696
static void SystemCmd(const char *cmd, Int_t fdout)
Exec system command 'cmd'. If fdout > -1, append the output to fdout.
Definition TProof.cxx:7735
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
Definition TProof.cxx:6119
TString fActiveSlavesSaved
Definition TProof.h:478
Int_t LoadPackage(const char *package, Bool_t notOnClient=kFALSE, TList *loadopts=0, TList *workers=0)
Load specified package.
Definition TProof.cxx:8069
Bool_t fSendGroupView
list returned by kPROOF_GETSLAVEINFO
Definition TProof.h:474
TDSet * fDSet
Definition TProof.h:503
void ResetProgressDialog(const char *sel, Int_t sz, Long64_t fst, Long64_t ent)
Reset progress dialog.
Definition TProof.cxx:9299
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)
Set draw feedback option.
Definition TProof.cxx:10102
friend class TProofInterruptHandler
Definition TProof.h:325
virtual TFileCollection * GetDataSet(const char *dataset, const char *optStr="")
Get a list of TFileInfo objects describing the files of the specified dataset.
Definition TProof.cxx:10937
Bool_t fSync
Definition TProof.h:506
Bool_t fDataReady
Definition TProof.h:576
ESendFileOpt
Definition TProof.h:441
@ kBinary
Definition TProof.h:443
@ kCp
Definition TProof.h:447
@ kAscii
Definition TProof.h:442
@ kForce
Definition TProof.h:444
@ kCpBin
Definition TProof.h:446
@ kForward
Definition TProof.h:445
Long64_t fBytesReady
Definition TProof.h:577
TDrawFeedback * CreateDrawFeedback()
Draw feedback creation proxy.
Definition TProof.cxx:10094
void AddChain(TChain *chain)
Add chain to data set.
Definition TProof.cxx:10223
static const TList * GetEnvVars()
Get environemnt variables.
Definition TProof.cxx:11751
TSlave * FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
Definition TProof.cxx:1891
TString fGroup
Definition TProof.h:468
TList * GetListOfEnabledPackages()
Get from the master the list of names of the packages enabled.
Definition TProof.cxx:9124
TList * GetFeedbackList() const
Return feedback list.
Definition TProof.cxx:10033
friend class TVirtualPacketizer
Definition TProof.h:332
EUploadOpt
Definition TProof.h:353
@ kOverwriteAllFiles
Definition TProof.h:357
@ kAppend
Definition TProof.h:354
@ kOverwriteNoFiles
Definition TProof.h:358
@ kNoOverwriteDataSet
Definition TProof.h:356
@ kOverwriteDataSet
Definition TProof.h:355
@ kAskUser
Definition TProof.h:359
virtual void SendInputDataFile()
Send the input data objects to the master; the objects are taken from the dedicated list and / or the...
Definition TProof.cxx:9612
TList * fEnabledPackages
Definition TProof.h:580
virtual TList * GetListOfQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition TProof.cxx:2088
static void DelEnvVar(const char *name)
Remove an variable from the list of environment variables passed to proofserv on the master and slave...
Definition TProof.cxx:11782
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list.
Definition TProof.cxx:2543
void SetLogLevel(Int_t level, UInt_t mask=TProofDebug::kAll)
Set server logging level.
Definition TProof.cxx:7079
TList * fEnabledPackagesOnCluster
Definition TProof.h:533
virtual Long64_t Process(TDSet *dset, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Process a data set (TDSet) using the specified selector (.C) file or Tselector object Entry- or event...
Definition TProof.cxx:5303
void ClearInput()
Clear input object list.
Definition TProof.cxx:9742
TList * GetListOfBadSlaves() const
Definition TProof.h:657
Int_t GetSandbox(TString &sb, Bool_t assert=kFALSE, const char *rc=0)
Set the sandbox path from ' Proof.Sandbox' or the alternative var 'rc'.
Definition TProof.cxx:1016
Int_t DisablePackage(const char *package)
Remove a specific package.
Definition TProof.cxx:7885
friend class TProofProgressDialog
Definition TProof.h:329
friend class TProofServ
Definition TProof.h:323
Int_t GetQueryReference(Int_t qry, TString &ref)
Get reference for the qry-th query in fQueries (as displayed by ShowQueries).
Definition TProof.cxx:5857
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
Definition TProof.cxx:2005
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise.
Definition TProof.cxx:10868
void ShowDataSet(const char *dataset="", const char *opt="filter:SsCc")
display meta-info for given dataset usi
Definition TProof.cxx:10977
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail=kFALSE)
Analyze the received message.
Definition TProof.cxx:3105
void SetDSet(TDSet *dset)
Definition TProof.h:737
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()).
Definition TProof.cxx:9734
Int_t fNotIdle
Definition TProof.h:505
void RecvLogFile(TSocket *s, Int_t size)
Receive the log file of the slave with socket s.
Definition TProof.cxx:6287
Bool_t IsMaster() const
Definition TProof.h:936
void CloseProgressDialog()
Close progress dialog.
Definition TProof.cxx:9283
TProofOutputList fOutputList
Definition TProof.h:538
Int_t GetActiveMergersCount()
Get the active mergers count.
Definition TProof.cxx:4436
void DataSetStatus(const char *msg, Bool_t status, Int_t done, Int_t total)
Send dataset preparation status.
Definition TProof.cxx:9324
TMacro * GetLastLog()
Fill a TMacro with the log lines since the last reading (fLogFileR) Return (TMacro *)0 if no line was...
Definition TProof.cxx:10257
TList * GetLoadedMacros() const
Definition TProof.h:944
TList * GetInputList()
Get input list.
Definition TProof.cxx:9753
TStopwatch fQuerySTW
Definition TProof.h:593
const char * GetUrl()
Definition TProof.h:911
void ReleaseMonitor(TMonitor *mon)
Release the used monitor to be used, making sure to delete newly created monitors.
Definition TProof.cxx:2654
void ShowEnabledPackages(Bool_t all=kFALSE)
List which packages are enabled.
Definition TProof.cxx:7818
void SetMaxDrawQueries(Int_t max)
Set max number of draw queries whose results are saved.
Definition TProof.cxx:2115
void GetLog(Int_t start=-1, Int_t end=-1)
Ask for remote logs in the range [start, end].
Definition TProof.cxx:10240
Int_t CollectInputFrom(TSocket *s, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect and analyze available input from socket s.
Definition TProof.cxx:3060
EQueryMode
Definition TProof.h:349
@ kAsync
Definition TProof.h:351
@ kSync
Definition TProof.h:350
Bool_t UseDynamicStartup() const
Definition TProof.h:921
void ResetMergers()
Definition TProof.h:691
Int_t GetSessionID() const
Definition TProof.h:919
const char * GetMaster() const
Definition TProof.h:903
void QueryResultReady(const char *ref)
Notify availability of a query result.
Definition TProof.cxx:9369
virtual void SaveWorkerInfo()
Save information about the worker set in the file .workers in the working dir.
Definition TProof.cxx:11808
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package.
Definition TProof.cxx:8175
TList * fSlaves
Definition TProof.h:572
Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready)
See if the data is ready to be analyzed.
Definition TProof.cxx:2240
TProofMgr * GetManager()
Definition TProof.h:1037
TMonitor * fAllMonitor
Definition TProof.h:575
const char * GetGroup() const
Definition TProof.h:907
virtual Int_t VerifyDataSet(const char *dataset, const char *optStr="")
Verify if all files in the specified dataset are available.
Definition TProof.cxx:11130
TString fImage
Definition TProof.h:570
TQObject(const TQObject &)=delete
A container class for query results.
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
Definition TSelector.h:31
Bool_t IsEqual(const TObject *obj) const override
Used to compare slaveinfos by ordinal.
Definition TProof.cxx:211
void Print(Option_t *option="") const override
Print slave info.
Definition TProof.cxx:225
const char * GetMsd() const
Definition TProof.h:230
ESlaveStatus fStatus
Definition TProof.h:222
TString fMsd
Definition TProof.h:218
SysInfo_t GetSysInfo() const
Definition TProof.h:233
TString fDataDir
Definition TProof.h:219
const char * GetName() const override
Returns name of object.
Definition TProof.h:231
Bool_t IsSortable() const override
Definition TProof.h:239
Int_t fPerfIndex
Definition TProof.h:220
void SetStatus(ESlaveStatus stat)
Definition TProof.h:234
@ kNotActive
Definition TProof.h:214
TString fOrdinal
Definition TProof.h:216
const char * GetOrdinal() const
Definition TProof.h:232
TString fHostName
Definition TProof.h:217
void SetSysInfo(SysInfo_t si)
Setter for fSysInfo.
Definition TProof.cxx:268
TSlaveInfo(const char *ordinal="", const char *host="", Int_t perfidx=0, const char *msd="", const char *datadir="")
Definition TProof.h:224
Int_t Compare(const TObject *obj) const override
Used to sort slaveinfos by ordinal.
Definition TProof.cxx:183
void SetOrdinal(const char *ord)
Definition TProof.h:236
SysInfo_t fSysInfo
Definition TProof.h:221
const char * GetDataDir() const
Definition TProof.h:229
Class describing a PROOF worker server.
Definition TSlave.h:46
This class implements client sockets.
Definition TSocket.h:41
Stopwatch class.
Definition TStopwatch.h:28
Basic string class.
Definition TString.h:139
A TTree represents a columnar dataset.
Definition TTree.h:79
This class represents a WWW compatible URL.
Definition TUrl.h:33
Abstract interface for the PROOF player.
const Int_t n
Definition legend1.C:16
static const char * what
Definition stlLoader.cc:5
Long_t fModtime
Definition TProof.h:499
TMarker m
Definition textangle.C:8