Logo ROOT  
Reference Guide
Go to the documentation of this file.
1// @(#)root/proof:$Id$
2// Author: Fons Rademakers 13/02/97
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 *************************************************************************/
12#ifndef ROOT_TProof
13#define ROOT_TProof
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// //
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"
41#include <map>
42#include <mutex>
44#define CANNOTUSE(x) Info(x,"Not manager: cannot use this method")
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;
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
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
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";
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";
158typedef void (*PrintProgress_t)(Long64_t tot, Long64_t proc, Float_t proctime, Long64_t bytes);
160// Structure for the progress information
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
173 TProofProgressInfo(Long64_t tot = 0, Long64_t proc = 0, Long64_t bytes = 0,
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) { }
181 ClassDef(TProofProgressInfo, 1); // Progress information
184// PROOF Interrupt signal handler
194 Bool_t Notify();
197// Input handler for messages from TProofServ
203 TProofInputHandler(const TProofInputHandler&); // Not implemented
207 Bool_t Notify();
208 Bool_t ReadNotify() { return Notify(); }
211// Slaves info class
212class TSlaveInfo : public TObject {
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
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) { }
229 const char *GetDataDir() const { return fDataDir; }
230 const char *GetMsd() const { return fMsd; }
231 const char *GetName() const { 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; }
238 Int_t Compare(const TObject *obj) const;
239 Bool_t IsSortable() const { return kTRUE; }
240 void Print(Option_t *option="") const;
241 Bool_t IsEqual(const TObject* obj) const;
243 ClassDef(TSlaveInfo,4) //basic info on workers
246// Merger info class
247class TMergerInfo : public TObject {
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)
259 TList *fWorkers; // List of already assigned workers
260 Bool_t fIsActive; // Merger state
262 TMergerInfo(const TMergerInfo&); // Not implemented
263 TMergerInfo& operator=(const TMergerInfo&); // Not implemented
266 TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers) :
267 fMerger(t), fPort(port), fMergedObjects(0), fWorkersToMerge(forHowManyWorkers),
269 virtual ~TMergerInfo();
271 void AddWorker(TSlave *sl);
272 TList *GetWorkers() { return fWorkers; }
274 TSlave *GetMerger() { return fMerger; }
275 Int_t GetPort() { return fPort; }
281 void SetMergedWorker();
282 void AddMergedObjects(Int_t objects) { fMergedObjects += objects; }
290 ClassDef(TMergerInfo,0) // Basic info on merger, i.e. worker serving as merger
293// Small auxiliary class for merging progress notification
300 static char fgCr[4];
302 TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1), fLastNWrks(-1) { }
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; }
316class TProof : public TNamed, public TQObject {
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
340 // PROOF status bits
348 };
350 kSync = 0,
351 kAsync = 1
352 };
354 kAppend = 0x1,
359 kAskUser = 0x0
360 };
365 };
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 };
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 };
386 kPurge = 0x1,
388 kDataset = 0x4,
389 kForceClear = 0x8
390 };
393 enum EUrgent {
395 kPing = 0,
399 };
421 kLoadMacro = 21
422 };
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 };
452 };
458 };
461 kPerUser = 0x2
462 };
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
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
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
516 Bool_t fSaveLogToMacro; // Whether to save received logs to TMacro fMacroLog (use with care)
517 TMacro fMacroLog; // Macro with the saved (last) log
519 TProofMergePrg fMergePrg; //Merging progress
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
528 Int_t fSessionID; //remote ID of the session
530 Bool_t fEndMaster; //true for a master in direct contact only with workers
532 TPackMgr *fPackMgr; // Default package manager
533 TList *fEnabledPackagesOnCluster; //list of enabled packages
535 TList *fInputData; //Input data objects sent over via file
536 TString fInputDataFile; //File with input data objects
538 TProofOutputList fOutputList; // TList implementation filtering ls(...) and Print(...)
540 PrintProgress_t fPrintProgress; //Function function to display progress info in batch mode
542 std::recursive_mutex fCloseMutex; // Avoid crashes in MarkBad or alike while closing
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
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
557 TString fPerfTree; // If non-null triggers saving of the performance info into fPerfTree
559 TList *fWrksOutputReady; // List of workers ready to send output (in control output sending mode)
561 static TPluginHandler *fgLogViewer; // Log dialog box plugin
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
583 Int_t fCollectTimeout; // Timeout for (some) collect actions
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?
591 TSelector *fSelector; // Selector to be processed, if any
593 TStopwatch fQuerySTW; // Stopwatch to measure query times
594 Float_t fPrepTime; // Preparation time
597 TProof(const TProof &); // not implemented
598 void operator=(const TProof &); // idem
600 void CleanGDirectory(TList *ol);
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);
610 Int_t SendPrint(Option_t *option="");
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);
619 void NotifyLogMsg(const char *msg, const char *sfx = "\n");
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);
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);
650 void ReleaseMonitor(TMonitor *mon);
652 virtual void FindUniqueSlaves();
653 TSlave *FindSlave(TSocket *s) const;
654 TList *GetListOfSlaves() const { return fSlaves; }
658 Int_t GetNumberOfSlaves() const;
664 Bool_t IsEndMaster() const { return fEndMaster; }
665 Int_t ModifyWorkerLists(const char *ord, Bool_t add, Bool_t save);
667 void SaveActiveList();
669 Bool_t IsSync() const { return fSync; }
672 void SetRunStatus(ERunStatus rst) { fRunStatus = rst; }
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);
679 void ActivateAsyncInput();
683 void PrintProgress(Long64_t total, Long64_t processed,
684 Float_t procTime = -1., Long64_t bytesread = -1);
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);
696 void ResetMergePrg();
697 void ParseConfigField(const char *config);
699 Bool_t Prompt(const char *p);
702 static TList *GetDataSetSrvMaps(const TString &srvmaps);
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);
715 void SetPlayer(TVirtualProofPlayer *player);
717 virtual TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0);
719 void UpdateDialog();
721 void HandleLibIncPath(const char *what, Bool_t add, const char *dirs);
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);
729 virtual Int_t PollForNewWorkers();
730 virtual void SaveWorkerInfo();
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);
737 void SetDSet(TDSet *dset) { fDSet = dset; }
738 virtual void ValidateDSet(TDSet *dset);
740 Int_t VerifyDataSetParallel(const char *uri, const char *optStr);
744 Int_t AssertPath(const char *path, Bool_t writable);
745 Int_t GetSandbox(TString &sb, Bool_t assert = kFALSE, const char *rc = 0);
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);
752 // Fast enable/disable feedback from Process
753 void SetFeedback(TString &opt, TString &optfb, Int_t action);
754 // Output file handling during Process
755 Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action);
757 static void *SlaveStartupThread(void *arg);
759 static Int_t AssertDataSet(TDSet *dset, TList *input,
760 TDataSetManager *mgr, TString &emsg);
761 static void AssertMacroPath(const char *macro);
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);
768 // Parse CINT commands
769 static Bool_t GetFileInCmd(const char *cmd, TString &fn);
771 // Pipe execution of commands
772 static void SystemCmd(const char *cmd, Int_t fdout);
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 virtual ~TProof();
780 void cd(Int_t id = -1);
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);
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");
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 = "");
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);
834 void DisableGoAsyn();
835 void GoAsynchronous();
836 void StopProcess(Bool_t abort, Int_t timeout = -1);
837 void Browse(TBrowser *b);
839 virtual Int_t Echo(const TObject *obj);
840 virtual Int_t Echo(const char *str);
842 Int_t SetParallel(Int_t nodes = -1, Bool_t random = kFALSE);
843 void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll);
845 void Close(Option_t *option="");
846 virtual void Print(Option_t *option="") const;
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);
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);
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 = "");
881 TMap *GetDataSetQuota(const char* optStr = "");
882 void ShowDataSetQuota(Option_t* opt = 0);
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);
895 virtual Int_t SetDataSetTreeName( const char *dataset, const char *treename);
897 virtual void ShowDataSetCache(const char *dataset = 0);
898 virtual void ClearDataSetCache(const char *dataset = 0);
900 virtual void ShowData();
901 void ClearData(UInt_t what = kUnregistered, const char *dsname = 0);
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; }
923 EQueryMode GetQueryMode(Option_t *mode = 0) const;
924 void SetQueryMode(EQueryMode mode);
926 void SetRealTimeLog(Bool_t on = kTRUE);
929 Long64_t GetBytesRead() const { return fBytesRead; }
930 Float_t GetRealTime() const { return fRealTime; }
931 Float_t GetCpuTime() const { return fCpuTime; }
935 Bool_t IsFolder() const { 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; }
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;
956 void AddInput(TObject *obj);
957 void ClearInput();
959 TObject *GetOutput(const char *name);
961 static TObject *GetOutput(const char *name, TList *out);
963 void ShowMissingFiles(TQueryResult *qr = 0);
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);
971 void AddFeedback(const char *name);
972 void RemoveFeedback(const char *name);
973 void ClearFeedback();
974 void ShowFeedback() const;
975 TList *GetFeedbackList() const;
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 = "");
986 Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready);
988 void SetActive(Bool_t /*active*/ = kTRUE) { }
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*
1009 void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st);
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);
1023 virtual TTree *GetTreeHeader(TDSet *tdset);
1026 void AddChain(TChain *chain);
1027 void RemoveChain(TChain *chain);
1033 void Detach(Option_t *opt = "");
1035 virtual void SetAlias(const char *alias="");
1038 void SetManager(TProofMgr *mgr);
1040 Int_t ActivateWorker(const char *ord, Bool_t save = kTRUE);
1041 Int_t DeactivateWorker(const char *ord, Bool_t save = kTRUE);
1043 const char *GetDataPoolUrl() const { return fManager ? fManager->GetMssUrl() : 0; }
1044 void SetDataPoolUrl(const char *url) { if (fManager) fManager->SetMssUrl(url); }
1048 void SetProgressDialog(Bool_t on = kTRUE);
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);
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);
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();
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);
1073 ClassDef(TProof,0) //PROOF control class
1076// Global object with default PROOF session
#define R__EXTERN
Definition: DllImport.h:27
typedef void(GLAPIENTRYP _GLUfuncptr)(void)
Definition: MessageTypes.h:34
Definition: MessageTypes.h:35
ROOT::R::TRInterface & r
Definition: Object.C:4
#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
int Int_t
Definition: RtypesCore.h:45
unsigned int UInt_t
Definition: RtypesCore.h:46
const Bool_t kFALSE
Definition: RtypesCore.h:101
long Long_t
Definition: RtypesCore.h:54
bool Bool_t
Definition: RtypesCore.h:63
double Double_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:80
float Float_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:100
const char Option_t
Definition: RtypesCore.h:66
#define ClassDef(name, id)
Definition: Rtypes.h:325
#define BIT(n)
Definition: Rtypes.h:85
static unsigned int total
char name[80]
Definition: TGX11.cxx:110
int type
Definition: TGX11.cxx:121
int nentries
Definition: THbookFile.cxx:91
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
static struct mg_connection * fc(struct mg_context *ctx)
Definition: civetweb.c:3728
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.
Definition: TDrawFeedback.h:35
A TEventList object is a list of selected events (entries) in a TTree.
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:44
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
virtual ~TMergerInfo()
Definition: TProof.cxx:287
Int_t fWorkersToMerge
Definition: TProof.h:254
TMergerInfo & operator=(const TMergerInfo &)
Bool_t IsActive()
Definition: TProof.h:288
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
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
virtual const char * GetName() const
Returns name of object.
Definition: TNamed.h:47
Mother of all ROOT objects.
Definition: TObject.h:37
Definition: TObject.h:57
The PROOF package manager contains tools to manage packages.
Definition: TPackMgr.h:37
@ kCheckROOT
Definition: TPackMgr.h:39
This packetizer is based on TPacketizer but uses different load-balancing algorithms and data structu...
This class generates packets to be processed on PROOF worker servers.
Definition: TPacketizer.h:39
TProofInputHandler(const TProofInputHandler &)
TProof * fProof
Definition: TProof.h:201
TProofInputHandler & operator=(const TProofInputHandler &)
Bool_t Notify()
Handle input.
Definition: TProof.cxx:169
TSocket * fSocket
Definition: TProof.h:200
Bool_t ReadNotify()
Notify when something can be read from the descriptor associated with this handler.
Definition: TProof.h:208
TProofInterruptHandler & operator=(const TProofInterruptHandler &)
Bool_t Notify()
TProof interrupt handler.
Definition: TProof.cxx:122
TProofInterruptHandler(TProof *p)
Definition: TProof.h:192
TProofInterruptHandler(const TProofInterruptHandler &)
This class starts a PROOF session on the local machine: no daemons, client and master merged,...
Definition: TProofLite.h:40
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
Definition: TProof.h:302
Int_t fIdx
Definition: TProof.h:297
TString fExp
Definition: TProof.h:296
const char * Export(Bool_t &changed)
Definition: TProof.h:304
static char fgCr[4]
Definition: TProof.h:300
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
virtual const char * GetMssUrl(Bool_t=kFALSE)
Definition: TProofMgr.h:87
@ kProofLite
Definition: TProofMgr.h:46
virtual void SetMssUrl(const char *mss)
Definition: TProofMgr.h:105
Derivation of TList with an overload of ls() and Print() allowing to filter out some of the variables...
Version of TProofPlayerRemote merges the functionality needed by clients and masters.
Internal class steering processing in PROOF.
Definition: TProofPlayer.h:60
This class provides a query progress bar.
Int_t fActWorkers
Definition: TProof.h:170
Long64_t fTotal
Definition: TProof.h:163
virtual ~TProofProgressInfo()
Definition: TProof.h:180
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
Int_t fTotSessions
Definition: TProof.h:171
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:8994
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:6529
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
Definition: TProof.cxx:1992
void ShowPackages(Bool_t all=kFALSE, Bool_t redirlog=kFALSE)
List contents of package directory.
Definition: TProof.cxx:7766
virtual void ShowData()
List contents of the data directory in the sandbox.
Definition: TProof.cxx:7392
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:7064
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
Definition: TProof.cxx:11720
Bool_t CreateMerger(TSlave *sl, Int_t port)
Create a new merger.
Definition: TProof.cxx:4450
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:2447
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:2101
TProofMgr * fManager
Definition: TProof.h:587
void ActivateAsyncInput()
Activate the a-sync input handler.
Definition: TProof.cxx:4406
TList * GetOutputNames()
FIXME: to be written.
Definition: TProof.cxx:10114
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:6255
void PutLog(TQueryResult *qr)
Display log of query pq into the log window frame.
Definition: TProof.cxx:10317
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:6354
void Activate(TList *slaves=0)
Activate slave server list.
Definition: TProof.cxx:2385
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file).
Definition: TProof.cxx:8437
TMonitor * fCurrentMonitor
Definition: TProof.h:487
TMonitor * fAllUniqueMonitor
Definition: TProof.h:486
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:5228
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
Definition: TProof.cxx:6754
void Close(Option_t *option="")
Close all open slave servers.
Definition: TProof.cxx:1794
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:7108
Int_t fSessionID
Definition: TProof.h:528
Definition: TProof.h:449
@ kDeactivateWorker
Definition: TProof.h:451
@ kActivateWorker
Definition: TProof.h:450
Int_t DisablePackages()
Remove all packages.
Definition: TProof.cxx:7938
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:8330
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:11272
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:12307
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:2161
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:7986
Bool_t IsTty() const
Definition: TProof.h:938
virtual void Print(Option_t *option="") const
Print status of PROOF cluster.
Definition: TProof.cxx:4799
Int_t GetClientProtocol() const
Definition: TProof.h:914
Int_t fCollectTimeout
Definition: TProof.h:583
virtual ~TProof()
Clean up PROOF environment.
Definition: TProof.cxx:652
EQueryMode fQueryMode
Definition: TProof.h:588
TList * GetListOfInactiveSlaves() const
Definition: TProof.h:655
void RemoveChain(TChain *chain)
Remove chain from data set.
Definition: TProof.cxx:10227
void operator=(const TProof &)
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:1524
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:12409
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:7050
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
Definition: TProof.cxx:4933
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:9985
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:12466
TVirtualProofPlayer * GetPlayer() const
Definition: TProof.h:716
void CleanGDirectory(TList *ol)
Remove links to objects in list 'ol' from gDirectory.
Definition: TProof.cxx:3042
void DeActivateAsyncInput()
De-activate a-sync input handler.
Definition: TProof.cxx:4419
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:2563
static void ResetEnvVars()
Clear the list of environment variables passed to proofserv on the master and slaves.
Definition: TProof.cxx:11792
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:9518
void AskParallel()
Ask the for the number of parallel slaves.
Definition: TProof.cxx:2073
FileMap_t fFileMap
Definition: TProof.h:502
virtual void ClearCache(const char *file=0)
Remove file from all file caches.
Definition: TProof.cxx:7710
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:10892
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:11349
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
Definition: TProof.cxx:6088
virtual Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
Definition: TProof.cxx:11042
TList * fChains
Definition: TProof.h:496
TObject * GetParameter(const char *par) const
Get specified parameter.
Definition: TProof.cxx:9914
void SetRunStatus(ERunStatus rst)
Definition: TProof.h:672
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:6053
void AskForOutput(TSlave *sl)
Master asks for output from worker sl.
Definition: TProof.cxx:4330
TList * GetListOfPackages()
Get from the master the list of names of the packages available.
Definition: TProof.cxx:9104
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'.
Definition: TProof.cxx:2144
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
Definition: TProof.cxx:1974
void StartupMessage(const char *msg, Bool_t status, Int_t done, Int_t total)
Send startup message.
Definition: TProof.cxx:9308
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:8595
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:8884
virtual TMap * GetDataSets(const char *uri="", const char *optStr="")
Lists all datasets that match given uri.
Definition: TProof.cxx:10805
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:7687
void ClearFeedback()
Clear feedback list.
Definition: TProof.cxx:10008
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition: TProof.h:935
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:11579
void Browse(TBrowser *b)
Build the PROOF's structure in the browser.
Definition: TProof.cxx:10175
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:11331
void ResetMergePrg()
Reset the merge progress notificator.
Definition: TProof.cxx:2461
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
Definition: TProof.cxx:12620
void ClearData(UInt_t what=kUnregistered, const char *dsname=0)
Remove files for the data directory.
Definition: TProof.cxx:7408
Bool_t IsValid() const
Definition: TProof.h:937
void Touch()
Ping PROOF slaves. Returns the number of slaves that responded.
Definition: TProof.cxx:4778
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:1265
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr="filter:SsCc")
Like GetStagingStatusDataSet, but displays results immediately.
Definition: TProof.cxx:11112
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
Definition: TProof.cxx:11177
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:11385
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition: TProof.cxx:7136
Int_t GoMoreParallel(Int_t nWorkersToAdd)
Add nWorkersToAdd workers to current list of workers.
Definition: TProof.cxx:7166
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:10910
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:4300
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:6661
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:11756
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:6491
virtual void ShowDataSets(const char *uri="", const char *optStr="")
Shows datasets in locations that match the uri.
Definition: TProof.cxx:10842
Int_t fOtherQueries
Definition: TProof.h:523
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:2665
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:7666
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
Definition: TProof.cxx:12376
void SetPlayer(TVirtualProofPlayer *player)
Set a new PROOF player.
Definition: TProof.cxx:10195
Int_t ClearPackage(const char *package)
Remove a specific package.
Definition: TProof.cxx:7853
Int_t SendInitialState()
Transfer the initial (i.e.
Definition: TProof.cxx:6770
Int_t AddWorkers(TList *wrks)
Works on the master node only.
Definition: TProof.cxx:1316
void GetStatistics(Bool_t verbose=kFALSE)
Get statistics about CPU time, real time and bytes read.
Definition: TProof.cxx:2031
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:10703
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:2471
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
Definition: TProof.cxx:9929
Bool_t IsWaiting() const
Definition: TProof.h:941
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:9635
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:4254
Int_t GetNumberOfDrawQueries()
Definition: TProof.h:979
void HandleSubmerger(TMessage *mess, TSlave *sl)
Process a message of type kPROOF_SUBMERGER.
Definition: TProof.cxx:4010
TString fDataPoolUrl
Definition: TProof.h:585
Bool_t fEndMaster
Definition: TProof.h:530
Bool_t fLogToWindowOnly
Definition: TProof.h:514
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:9581
Int_t fStatus
Definition: TProof.h:470
TList * fRunningDSets
Definition: TProof.h:581
Int_t ClearPackages()
Remove all packages.
Definition: TProof.cxx:7836
void SetParameter(const char *par, const char *value)
Set input list parameter.
Definition: TProof.cxx:9818
virtual Bool_t StartSlaves(Bool_t attach=kFALSE)
Start up PROOF slaves.
Definition: TProof.cxx:1656
Int_t Ping()
Ping PROOF. Returns 1 if master server responded.
Definition: TProof.cxx:4740
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:1871
void SaveActiveList()
Save current list of active workers.
Definition: TProof.cxx:11538
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:10762
Bool_t IsIdle() const
Definition: TProof.h:940
TList * fBadSlaves
Definition: TProof.h:574
TProof(const TProof &)
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:12518
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient=kFALSE)
Remove 'incpath' from the inc path search.
Definition: TProof.cxx:8963
void SetMonitor(TMonitor *mon=0, Bool_t on=kTRUE)
Activate (on == TRUE) or deactivate (on == FALSE) all sockets monitored by 'mon'.
Definition: TProof.cxx:2404
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
Definition: TProof.cxx:2300
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:8110
std::map< TString, MD5Mod_t > FileMap_t
Definition: TProof.h:501
void RemoveFeedback(const char *name)
Remove object from feedback list.
Definition: TProof.cxx:9996
Int_t Remove(Int_t query, Bool_t all=kFALSE)
Send remove request for the qry-th query in fQueries.
Definition: TProof.cxx:6009
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:4349
void AskStatistics()
Ask the for the statistics of the slaves.
Definition: TProof.cxx:2018
virtual void SetAlias(const char *alias="")
Set an alias for this session.
Definition: TProof.cxx:10579
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:10514
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:9136
void FinalizationDone()
Definition: TProof.h:694
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:6142
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:11366
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:7092
void cd(Int_t id=-1)
Set session with 'id' the default one.
Definition: TProof.cxx:10492
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:12577
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:2010
Int_t Retrieve(Int_t query, const char *path=0)
Send retrieve request for the qry-th query in fQueries.
Definition: TProof.cxx:5944
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:2606
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:9954
TMonitor * fActiveMonitor
Definition: TProof.h:484
void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st)
Send or notify data set status.
Definition: TProof.cxx:9332
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:10987
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:6410
static void Reset(const char *url, Bool_t hard=kFALSE)
Wrapper around TProofMgr::Reset(...).
Definition: TProof.cxx:11732
virtual Int_t PollForNewWorkers()
Asks the PROOF Serv for new workers in Dynamic Startup mode and activates them.
Definition: TProof.cxx:2966
Int_t fLastAssignedMerger
Definition: TProof.h:552
TList * GetQueryResults()
Return pointer to the list of query results in the player.
Definition: TProof.cxx:2135
void ShowFeedback() const
Show items in feedback list.
Definition: TProof.cxx:10016
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:7269
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
Definition: TProof.cxx:6103
Int_t UnloadPackages()
Unload all packages.
Definition: TProof.cxx:8143
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
Definition: TProof.cxx:10207
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:11006
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
Definition: TProof.cxx:12642
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:8624
@ 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:8839
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:1593
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
Definition: TProof.cxx:9197
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
Definition: TProof.cxx:5879
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient=kFALSE)
Remove 'libpath' from the lib path search.
Definition: TProof.cxx:8929
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:11305
Bool_t fIsPollingWorkers
Definition: TProof.h:475
void DeleteDrawFeedback(TDrawFeedback *f)
Delete draw feedback object.
Definition: TProof.cxx:10106
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:11069
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:6795
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:7645
void SetProgressDialog(Bool_t on=kTRUE)
Enable/Disable the graphic progress dialog.
Definition: TProof.cxx:12505
TString fLogFileName
Definition: TProof.h:511
void GoAsynchronous()
Send GOASYNC message to the master.
Definition: TProof.cxx:6263
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:9804
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:1297
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:6640
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:6220
TList * GetEnabledPackages() const
Definition: TProof.h:735
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
Definition: TProof.cxx:1983
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:1849
void GetMaxQueries()
Get max number of queries whose full results are kept in the remote sandbox.
Definition: TProof.cxx:2124
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:6890
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:12010
FILE * fLogFileR
Definition: TProof.h:513
void Interrupt(EUrgent type, ESlaves list=kActive)
Send interrupt to master or slave servers.
Definition: TProof.cxx:2272
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:10631
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:4517
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
Definition: TProof.cxx:6456
Bool_t IsProofd() const
Definition: TProof.h:934
Int_t RestoreActiveList()
Restore saved list of active workers.
Definition: TProof.cxx:11553
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:7024
void ShowLog(Int_t qry=-1)
Display on screen the content of the temporary log file.
Definition: TProof.cxx:10367
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:9534
Int_t SendCommand(const char *cmd, ESlaves list=kActive)
Send command to be executed on the PROOF master and/or slaves.
Definition: TProof.cxx:6627
void Feedback(TList *objs)
Get list of feedback objects.
Definition: TProof.cxx:9264
virtual Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
Definition: TProof.cxx:11016
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:9758
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
Definition: TProof.cxx:2317
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
Definition: TProof.cxx:10038
virtual void ValidateDSet(TDSet *dset)
Validate a TDSet.
Definition: TProof.cxx:9376
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:10680
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
virtual void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique (user) file system image.
Definition: TProof.cxx:1908
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:4692
static void SystemCmd(const char *cmd, Int_t fdout)
Exec system command 'cmd'. If fdout > -1, append the output to fdout.
Definition: TProof.cxx:7731
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
Definition: TProof.cxx:6115
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:8065
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:9295
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)
Set draw feedback option.
Definition: TProof.cxx:10098
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:10933
Bool_t fSync
Definition: TProof.h:506
Bool_t fDataReady
Definition: TProof.h:576
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:10090
void AddChain(TChain *chain)
Add chain to data set.
Definition: TProof.cxx:10219
static const TList * GetEnvVars()
Get environemnt variables.
Definition: TProof.cxx:11747
TSlave * FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
Definition: TProof.cxx:1887
TString fGroup
Definition: TProof.h:468
TList * GetListOfEnabledPackages()
Get from the master the list of names of the packages enabled.
Definition: TProof.cxx:9120
TList * GetFeedbackList() const
Return feedback list.
Definition: TProof.cxx:10029
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:9608
TList * fEnabledPackages
Definition: TProof.h:580
virtual TList * GetListOfQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition: TProof.cxx:2084
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:11778
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list.
Definition: TProof.cxx:2539
void SetLogLevel(Int_t level, UInt_t mask=TProofDebug::kAll)
Set server logging level.
Definition: TProof.cxx:7075
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:5299
void ClearInput()
Clear input object list.
Definition: TProof.cxx:9738
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:7881
Int_t GetQueryReference(Int_t qry, TString &ref)
Get reference for the qry-th query in fQueries (as displayed by ShowQueries).
Definition: TProof.cxx:5853
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
Definition: TProof.cxx:2001
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise.
Definition: TProof.cxx:10864
void ShowDataSet(const char *dataset="", const char *opt="filter:SsCc")
display meta-info for given dataset usi
Definition: TProof.cxx:10973
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail=kFALSE)
Analyze the received message.
Definition: TProof.cxx:3101
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:9730
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:6283
Bool_t IsMaster() const
Definition: TProof.h:936
void CloseProgressDialog()
Close progress dialog.
Definition: TProof.cxx:9279
TProofOutputList fOutputList
Definition: TProof.h:538
Int_t GetActiveMergersCount()
Get the active mergers count.
Definition: TProof.cxx:4432
void DataSetStatus(const char *msg, Bool_t status, Int_t done, Int_t total)
Send dataset preparation status.
Definition: TProof.cxx:9320
TMacro * GetLastLog()
Fill a TMacro with the log lines since the last reading (fLogFileR) Return (TMacro *)0 if no line was...
Definition: TProof.cxx:10253
TList * GetLoadedMacros() const
Definition: TProof.h:944
TList * GetInputList()
Get input list.
Definition: TProof.cxx:9749
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:2650
void ShowEnabledPackages(Bool_t all=kFALSE)
List which packages are enabled.
Definition: TProof.cxx:7814
void SetMaxDrawQueries(Int_t max)
Set max number of draw queries whose results are saved.
Definition: TProof.cxx:2111
void GetLog(Int_t start=-1, Int_t end=-1)
Ask for remote logs in the range [start, end].
Definition: TProof.cxx:10236
Int_t CollectInputFrom(TSocket *s, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect and analyze available input from socket s.
Definition: TProof.cxx:3056
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:9365
virtual void SaveWorkerInfo()
Save information about the worker set in the file .workers in the working dir.
Definition: TProof.cxx:11804
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package.
Definition: TProof.cxx:8171
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:2236
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:11126
TString fImage
Definition: TProof.h:570
This is the ROOT implementation of the Qt object communication mechanism (see also http://www....
Definition: TQObject.h:48
A container class for query results.
Definition: TQueryResult.h:41
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
Definition: TSelector.h:31
const char * GetMsd() const
Definition: TProof.h:230
ESlaveStatus fStatus
Definition: TProof.h:222
Int_t Compare(const TObject *obj) const
Used to sort slaveinfos by ordinal.
Definition: TProof.cxx:183
TString fMsd
Definition: TProof.h:218
SysInfo_t GetSysInfo() const
Definition: TProof.h:233
TString fDataDir
Definition: TProof.h:219
Int_t fPerfIndex
Definition: TProof.h:220
Bool_t IsSortable() const
Definition: TProof.h:239
void SetStatus(ESlaveStatus stat)
Definition: TProof.h:234
Definition: TProof.h:214
@ kActive
Definition: TProof.h:214
@ 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
void SetOrdinal(const char *ord)
Definition: TProof.h:236
SysInfo_t fSysInfo
Definition: TProof.h:221
const char * GetName() const
Returns name of object.
Definition: TProof.h:231
Bool_t IsEqual(const TObject *obj) const
Used to compare slaveinfos by ordinal.
Definition: TProof.cxx:211
const char * GetDataDir() const
Definition: TProof.h:229
void Print(Option_t *option="") const
Print slave info.
Definition: TProof.cxx:225
Version of TSlave for local worker servers.
Definition: TSlaveLite.h:31
Class describing a PROOF worker server.
Definition: TSlave.h:46
Stopwatch class.
Definition: TStopwatch.h:28
Basic string class.
Definition: TString.h:136
const char * Data() const
Definition: TString.h:369
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition: TString.cxx:2314
A TTree represents a columnar dataset.
Definition: TTree.h:79
This class represents a WWW compatible URL.
Definition: TUrl.h:33
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
Definition: TUrl.cxx:389
const char * GetUser() const
Definition: TUrl.h:65
Int_t GetPort() const
Definition: TUrl.h:78
The packetizer is a load balancing object created for each query.
Abstract interface for the PROOF player.
Implementation of the functionality provided by TProofMgr in the case of a xproofd-based session.
Definition: TXProofMgr.h:40
This class implements the XProofD version of TProofServ, with respect to which it differs only for th...
Definition: TXProofServ.h:30
This is the version of TSlave for workers servers based on XProofD.
Definition: TXSlave.h:32
Input handler for XProofD sockets.
High level handler of connections to XProofD.
Definition: TXSocket.h:59
const Int_t n
Definition: legend1.C:16
static constexpr double s
Definition: file.py:1
static const char * what
Definition: stlLoader.cc:6
Long_t fModtime
Definition: TProof.h:499
auto * m
Definition: textangle.C:8