Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TProof.h
Go to the documentation of this file.
1// @(#)root/proof:$Id$
2// Author: Fons Rademakers 13/02/97
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TProof
13#define ROOT_TProof
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TProof //
19// //
20// This class controls a Parallel ROOT Facility, PROOF, cluster. //
21// It fires the worker servers, it keeps track of how many workers are //
22// running, it keeps track of the workers running status, it broadcasts //
23// messages to all workers, it collects results, etc. //
24// //
25//////////////////////////////////////////////////////////////////////////
26
27#include "TProofMgr.h"
28#include "TProofDebug.h"
29#include "TString.h"
30#include "TMacro.h"
31#include "MessageTypes.h"
32#include "TMD5.h"
33#include "TRegexp.h"
34#include "TSysEvtHandler.h"
35#include "TUrl.h"
36#include "TProofOutputList.h"
37#include "TStopwatch.h"
38#include "TVirtualMutex.h"
39#include "TPackMgr.h"
40
41#include <map>
42#include <mutex>
43
44#define CANNOTUSE(x) Info(x,"Not manager: cannot use this method")
45
46class TChain;
47class TCondor;
48class TCondorSlave;
49class TDrawFeedback;
50class TDSet;
51class TEventList;
52class THashList;
53class TList;
54class TCollection;
55class TMessage;
56class TMonitor;
57class TPluginHandler;
58class TProof;
61class TProofLockPath;
63class TProofPlayer;
66class TProofServ;
67class TQueryResult;
68class TSignalHandler;
69class TSlave;
70class TSocket;
71class TTree;
72class TFileCollection;
73class TMap;
74class TDataSetManager;
76class TMacro;
77class TSelector;
78
79// protocol changes:
80// 1 -> 2: new arguments for Process() command, option added
81// 2 -> 3: package manager enabling protocol changed
82// 3 -> 4: introduction of multi-level-master support
83// 4 -> 5: added friends support
84// 5 -> 6: drop TFTP, support for asynchronous queries
85// 6 -> 7: support for multisessions, archieve, retrieve, ...
86// 7 -> 8: return number of entries in GetNextPacket
87// 8 -> 9: support for stateless connection via xproofd
88// 9 -> 10: new features requested, tested at CAF
89// 10 -> 11: new merging strategy
90// 11 -> 12: new progress message
91// 12 -> 13: exchange version/architecture/compiler info
92// 13 -> 14: new proofserv environment setting
93// 14 -> 15: add support for entry lists; new version of TFileInfo
94// 15 -> 16: add support for generic non-data based processing
95// 16 -> 17: new dataset handling system; support for TFileCollection processing
96// 17 -> 18: support for reconnection on daemon restarts
97// 18 -> 19: TProofProgressStatus used in kPROOF_PROGRESS, kPROOF_STOPPROCESS
98// and kPROOF_GETNEXTPACKET messages in Master - worker communication
99// 19 -> 20: Fix the asynchronous mode (required changes in some messages)
100// 20 -> 21: Add support for session queuing
101// 21 -> 22: Add support for switching from sync to async while running ('Ctrl-Z' functionality)
102// 22 -> 23: New dataset features (default tree name; classification per fileserver)
103// 23 -> 24: Merging optimization
104// 24 -> 25: Handling of 'data' dir; group information
105// 25 -> 26: Use new TProofProgressInfo class
106// 26 -> 27: Use new file for updating the session status
107// 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStatistics,
108// package download, dataset caching
109// 28 -> 29: Support for config parameters in EnablePackage, idle-timeout
110// 29 -> 30: Add information about data dir in TSlaveInfo
111// 30 -> 31: Development cycle 5.29
112// 31 -> 32: New log path trasmission
113// 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startup technology, ...)
114// 33 -> 34: Development cycle 5.33/02 (fix load issue, ...)
115// 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests in separate dsmgr...)
116// 35 -> 36: SetParallel in dynamic mode (changes default in GoParallel), cancel staging requests
117// 36 -> 37: Support for remote (web) PAR packages
118
119// PROOF magic constants
120const Int_t kPROOF_Protocol = 37; // protocol version number
121const Int_t kPROOF_Port = 1093; // IANA registered PROOF port
122const char* const kPROOF_ConfFile = "proof.conf"; // default config file
123const char* const kPROOF_ConfDir = "/usr/local/root"; // default config dir
124const char* const kPROOF_WorkDir = ".proof"; // default working directory
125const char* const kPROOF_CacheDir = "cache"; // file cache dir, under WorkDir
126const char* const kPROOF_PackDir = "packages"; // package dir, under WorkDir
127const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with downloaded PARs, under PackDir
128const char* const kPROOF_QueryDir = "queries"; // query dir, under WorkDir
129const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, under WorkDir
130const char* const kPROOF_DataDir = "data"; // dir for produced data, under WorkDir
131const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file
132const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // package lock file
133const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file
134const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad
135const char* const kPROOF_WorkerIdleTO = "+++ idle-timeout +++"; // signal worker idle timeout in MarkBad
136const char* const kPROOF_InputDataFile = "inputdata.root"; // Default input data file name
137const char* const kPROOF_MissingFiles = "MissingFiles"; // Missingfile list name
138const Long64_t kPROOF_DynWrkPollInt_s = 10; // minimum number of seconds between two polls for dyn wrks
139
140#ifndef R__WIN32
141const char* const kCP = "/bin/cp -fp";
142const char* const kRM = "/bin/rm -rf";
143const char* const kLS = "/bin/ls -l";
144const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)";
145const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)";
146const char* const kUNTAR3 = "%s -c %s | (tar xf -)";
147const char* const kGUNZIP = "gunzip";
148#else
149const char* const kCP = "copy";
150const char* const kRM = "delete";
151const char* const kLS = "dir";
152const char* const kUNTAR = "...";
153const char* const kUNTAR2 = "...";
154const char* const kUNTAR3 = "...";
155const char* const kGUNZIP = "gunzip";
156#endif
157
158typedef void (*PrintProgress_t)(Long64_t tot, Long64_t proc, Float_t proctime, Long64_t bytes);
159
160// Structure for the progress information
162public:
163 Long64_t fTotal; // Total number of events to process
164 Long64_t fProcessed; // Number of events processed
165 Long64_t fBytesRead; // Number of bytes read
166 Float_t fInitTime; // Time for initialization
167 Float_t fProcTime; // Time for processing
168 Float_t fEvtRateI; // Instantaneous event rate
169 Float_t fMBRateI; // Instantaneous byte read rate
170 Int_t fActWorkers; // Numebr of workers still active
171 Int_t fTotSessions; // Numebr of PROOF sessions running currently on the clusters
172 Float_t fEffSessions; // Number of effective sessions running on the machines allocated to this session
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
182};
183
184// PROOF Interrupt signal handler
186private:
188
191public:
194 Bool_t Notify();
195};
196
197// Input handler for messages from TProofServ
199private:
202
203 TProofInputHandler(const TProofInputHandler&); // Not implemented
205public:
207 Bool_t Notify();
208 Bool_t ReadNotify() { return Notify(); }
209};
210
211// Slaves info class
212class TSlaveInfo : public TObject {
213public:
215
216 TString fOrdinal; //slave ordinal
217 TString fHostName; //hostname this slave is running on
218 TString fMsd; //mass storage domain slave is in
219 TString fDataDir; //directory for user data
220 Int_t fPerfIndex; //relative performance of this slave
221 SysInfo_t fSysInfo; //Infomation about its hardware
222 ESlaveStatus fStatus; //slave status
223
224 TSlaveInfo(const char *ordinal = "", const char *host = "", Int_t perfidx = 0,
225 const char *msd = "", const char *datadir = "") :
226 fOrdinal(ordinal), fHostName(host), fMsd(msd), fDataDir(datadir),
227 fPerfIndex(perfidx), fSysInfo(), fStatus(kNotActive) { }
228
229 const char *GetDataDir() const { return fDataDir; }
230 const char *GetMsd() const { return fMsd; }
231 const char *GetName() const { return fHostName; }
232 const char *GetOrdinal() const { return fOrdinal; }
233 SysInfo_t GetSysInfo() const { return fSysInfo; }
234 void SetStatus(ESlaveStatus stat) { fStatus = stat; }
235 void SetSysInfo(SysInfo_t si);
236 void SetOrdinal(const char *ord) { fOrdinal = ord; }
237
238 Int_t Compare(const TObject *obj) const;
239 Bool_t IsSortable() const { return kTRUE; }
240 void Print(Option_t *option="") const;
241 Bool_t IsEqual(const TObject* obj) const;
242
243 ClassDef(TSlaveInfo,4) //basic info on workers
244};
245
246// Merger info class
247class TMergerInfo : public TObject {
248private:
249
250 TSlave *fMerger; // Slave that acts as merger
251 Int_t fPort; // Port number, on which it accepts outputs from other workers
252 Int_t fMergedObjects; // Total number of objects it must accept from other workers
253 // (-1 == not set yet)
254 Int_t fWorkersToMerge; // Number of workers that are merged on this merger
255 // (does not change during time)
256 Int_t fMergedWorkers; // Current number of already merged workers
257 // (does change during time as workers are being merged)
258
259 TList *fWorkers; // List of already assigned workers
260 Bool_t fIsActive; // Merger state
261
262 TMergerInfo(const TMergerInfo&); // Not implemented
263 TMergerInfo& operator=(const TMergerInfo&); // Not implemented
264
265public:
266 TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers) :
267 fMerger(t), fPort(port), fMergedObjects(0), fWorkersToMerge(forHowManyWorkers),
269 virtual ~TMergerInfo();
270
271 void AddWorker(TSlave *sl);
272 TList *GetWorkers() { return fWorkers; }
273
274 TSlave *GetMerger() { return fMerger; }
275 Int_t GetPort() { return fPort; }
276
280
281 void SetMergedWorker();
282 void AddMergedObjects(Int_t objects) { fMergedObjects += objects; }
283
286
289
290 ClassDef(TMergerInfo,0) // Basic info on merger, i.e. worker serving as merger
291};
292
293// Small auxiliary class for merging progress notification
295private:
300 static char fgCr[4];
301public:
302 TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1), fLastNWrks(-1) { }
303
304 const char *Export(Bool_t &changed) {
305 fExp.Form("%c (%d workers still sending) ", fgCr[fIdx], fNWrks);
306 changed = (fLastNWrks != fNWrks || fLastNWrks == -1) ? kTRUE : kFALSE;
308 return fExp.Data(); }
309 void DecreaseNWrks() { fNWrks--; }
310 void IncreaseNWrks() { fNWrks++; }
311 void IncreaseIdx() { fIdx++; if (fIdx == 4) fIdx = 0; }
312 void Reset(Int_t n = -1) { fIdx = -1; SetNWrks(n); }
313 void SetNWrks(Int_t n) { fNWrks = n; }
314};
315
316class TProof : public TNamed, public TQObject {
317
318friend class TPacketizer;
319friend class TPacketizerDev;
321friend class TProofLite;
322friend class TDataSetManager;
323friend class TProofServ;
326friend class TProofPlayer;
327friend class TProofPlayerLite;
330friend class TSlave;
331friend class TSlaveLite;
333friend class TXSlave;
334friend class TXSocket; // to access kPing
335friend class TXSocketHandler; // to access fCurrentMonitor and CollectInputFrom
336friend class TXProofMgr; // to access EUrgent
337friend class TXProofServ; // to access EUrgent
338
339public:
340 // PROOF status bits
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 };
375
377 kOutputSize = 1, //Number of objects in worker's output list
378 kSendOutput = 2, //Naster asks worker for its output list
379 kBeMerger = 3, //Master tells worker to be a merger
380 kMergerDown = 4, //Merger cannot serve
381 kStopMerging = 5, //Master tells worker to stop merging (and return output)
382 kOutputSent = 6 //Worker reports sending its output to given worker
383 };
384
386 kPurge = 0x1,
388 kDataset = 0x4,
389 kForceClear = 0x8
390 };
391
392private:
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 };
463
464 Bool_t fValid; //is this a valid proof object
465 Bool_t fTty; //TRUE if connected to a terminal
466 TString fMaster; //master server ("" if a master); used in the browser
467 TString fWorkDir; //current work directory on remote servers
468 TString fGroup; //PROOF group of this user
469 Int_t fLogLevel; //server debug logging level
470 Int_t fStatus; //remote return status (part of kPROOF_LOGDONE)
471 Int_t fCheckFileStatus; //remote return status after kPROOF_CHECKFILE
472 TList *fRecvMessages; //Messages received during collect not yet processed
473 TList *fSlaveInfo; //!list returned by kPROOF_GETSLAVEINFO
474 Bool_t fSendGroupView; //if true send new group view
475 Bool_t fIsPollingWorkers; //will be set to kFALSE to prevent recursive dyn workers check in dyn mode
476 Long64_t fLastPollWorkers_s; //timestamp (in seconds) of last poll for workers, -1 if never checked
477 TList *fActiveSlaves; //list of active slaves (subset of all slaves)
478 TString fActiveSlavesSaved;// comma-separated list of active slaves (before last call to
479 // SetParallel or Activate/DeactivateWorkers)
480 TList *fInactiveSlaves; //list of inactive slaves (good but not used for processing)
481 TList *fUniqueSlaves; //list of all active slaves with unique file systems
482 TList *fAllUniqueSlaves; //list of all active slaves with unique file systems, including all submasters
483 TList *fNonUniqueMasters; //list of all active masters with a nonunique file system
484 TMonitor *fActiveMonitor; //monitor activity on all active slave sockets
485 TMonitor *fUniqueMonitor; //monitor activity on all unique slave sockets
486 TMonitor *fAllUniqueMonitor; //monitor activity on all unique slave sockets, including all submasters
487 TMonitor *fCurrentMonitor; //currently active monitor
488 Long64_t fBytesRead; //bytes read by all slaves during the session
489 Float_t fRealTime; //realtime spent by all slaves during the session
490 Float_t fCpuTime; //CPU time spent by all slaves during the session
491 TSignalHandler *fIntHandler; //interrupt signal handler (ctrl-c)
492 TPluginHandler *fProgressDialog; //progress dialog plugin
493 Bool_t fProgressDialogStarted; //indicates if the progress dialog is up
494 TVirtualProofPlayer *fPlayer; //current player
495 TList *fFeedback; //list of names to be returned as feedback
496 TList *fChains; //chains with this proof set
497 struct MD5Mod_t {
498 TMD5 fMD5; //file's md5
499 Long_t fModtime; //file's modification time
500 };
501 typedef std::map<TString, MD5Mod_t> FileMap_t;
502 FileMap_t fFileMap; //map keeping track of a file's md5 and mod time
503 TDSet *fDSet; //current TDSet being validated
504
505 Int_t fNotIdle; //Number of non-idle sub-nodes
506 Bool_t fSync; //true if type of currently processed query is sync
507 ERunStatus fRunStatus; //run status
508 Bool_t fIsWaiting; //true if queries have been enqueued
509
510 Bool_t fRedirLog; //redirect received log info
511 TString fLogFileName; //name of the temp file for redirected logs
512 FILE *fLogFileW; //temp file to redirect logs
513 FILE *fLogFileR; //temp file to read redirected logs
514 Bool_t fLogToWindowOnly; //send log to window only
515
516 Bool_t fSaveLogToMacro; // Whether to save received logs to TMacro fMacroLog (use with care)
517 TMacro fMacroLog; // Macro with the saved (last) log
518
519 TProofMergePrg fMergePrg; //Merging progress
520
521 TList *fWaitingSlaves; //stores a TPair of the slaves's TSocket and TMessage
522 TList *fQueries; //list of TProofQuery objects
523 Int_t fOtherQueries; //number of queries in list from previous sessions
524 Int_t fDrawQueries; //number of draw queries during this sessions
525 Int_t fMaxDrawQueries; //max number of draw queries kept
526 Int_t fSeqNum; //Remote sequential # of the last query submitted
527
528 Int_t fSessionID; //remote ID of the session
529
530 Bool_t fEndMaster; //true for a master in direct contact only with workers
531
532 TPackMgr *fPackMgr; // Default package manager
533 TList *fEnabledPackagesOnCluster; //list of enabled packages
534
535 TList *fInputData; //Input data objects sent over via file
536 TString fInputDataFile; //File with input data objects
537
538 TProofOutputList fOutputList; // TList implementation filtering ls(...) and Print(...)
539
540 PrintProgress_t fPrintProgress; //Function function to display progress info in batch mode
541
542 std::recursive_mutex fCloseMutex; // Avoid crashes in MarkBad or alike while closing
543
544 TList *fLoadedMacros; // List of loaded macros (just file names)
545 static TList *fgProofEnvList; // List of TNameds defining environment
546 // variables to pass to proofserv
547
548 Bool_t fMergersSet; // Indicates, if the following variables have been initialized properly
549 Bool_t fMergersByHost; // Mergers assigned by host name
551 Int_t fWorkersToMerge; // Current total number of workers, which have not been yet assigned to any merger
556
557 TString fPerfTree; // If non-null triggers saving of the performance info into fPerfTree
558
559 TList *fWrksOutputReady; // List of workers ready to send output (in control output sending mode)
560
561 static TPluginHandler *fgLogViewer; // Log dialog box plugin
562
563protected:
565
566 Bool_t fMasterServ; //true if we are a master server
567 TUrl fUrl; //Url of the master
568 TString fConfFile; //file containing config information
569 TString fConfDir; //directory containing cluster config information
570 TString fImage; //master's image name
571 Int_t fProtocol; //remote PROOF server protocol version number
572 TList *fSlaves; //list of all slave servers as in config file
573 TList *fTerminatedSlaveInfos; //list of unique infos of terminated slaves
574 TList *fBadSlaves; //dead slaves (subset of all slaves)
575 TMonitor *fAllMonitor; //monitor activity on all valid slave sockets
576 Bool_t fDataReady; //true if data is ready to be analyzed
577 Long64_t fBytesReady; //number of bytes staged
578 Long64_t fTotalBytes; //number of bytes to be analyzed
579 TList *fAvailablePackages; //list of available packages
580 TList *fEnabledPackages; //list of enabled packages
581 TList *fRunningDSets; // Temporary datasets used for async running
582
583 Int_t fCollectTimeout; // Timeout for (some) collect actions
584
585 TString fDataPoolUrl; // default data pool entry point URL
586 TProofMgr::EServType fServType; // type of server: proofd, XrdProofd
587 TProofMgr *fManager; // manager to which this session belongs (if any)
588 EQueryMode fQueryMode; // default query mode
589 Bool_t fDynamicStartup; // are the workers started dynamically?
590
591 TSelector *fSelector; // Selector to be processed, if any
592
593 TStopwatch fQuerySTW; // Stopwatch to measure query times
594 Float_t fPrepTime; // Preparation time
595
596private:
597 TProof(const TProof &); // not implemented
598 void operator=(const TProof &); // idem
599
600 void CleanGDirectory(TList *ol);
601
602 Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster);
603 Int_t SendCommand(const char *cmd, ESlaves list = kActive);
606 Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t cpopt = (kCp | kCpBin));
607 Int_t SendObject(const TObject *obj, ESlaves list = kActive);
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);
618 void RecvLogFile(TSocket *s, Int_t size);
619 void NotifyLogMsg(const char *msg, const char *sfx = "\n");
620
621 Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuildAll, Int_t chkveropt = TPackMgr::kCheckROOT, TList *workers = 0);
622 Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE, TList *loadopts = 0, TList *workers = 0);
623 Int_t UnloadPackage(const char *package);
625 Int_t DisablePackage(const char *package);
627
628 void Activate(TList *slaves = 0);
629 Int_t Broadcast(const TMessage &mess, TList *slaves);
630 Int_t Broadcast(const TMessage &mess, ESlaves list = kActive);
631 Int_t Broadcast(const char *mess, Int_t kind, TList *slaves);
632 Int_t Broadcast(const char *mess, Int_t kind = kMESS_STRING, ESlaves list = kActive);
633 Int_t Broadcast(Int_t kind, TList *slaves) { return Broadcast(0, kind, slaves); }
634 Int_t Broadcast(Int_t kind, ESlaves list = kActive) { return Broadcast(0, kind, list); }
635 Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile, TList *wrks);
636 Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile = 0, ESlaves list = kAllUnique);
637 Int_t BroadcastGroupPriority(const char *grp, Int_t priority, ESlaves list = kAllUnique);
638 Int_t BroadcastGroupPriority(const char *grp, Int_t priority, TList *workers);
639 Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves);
640 Int_t BroadcastObject(const TObject *obj, Int_t kind = kMESS_OBJECT, ESlaves list = kActive);
641 Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves);
642 Int_t BroadcastRaw(const void *buffer, Int_t length, ESlaves list = kActive);
643 Int_t Collect(const TSlave *sl, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
644 Int_t Collect(TMonitor *mon, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
645 Int_t CollectInputFrom(TSocket *s, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
646 Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail = kFALSE);
647 void HandleSubmerger(TMessage *mess, TSlave *sl);
648 void SetMonitor(TMonitor *mon = 0, Bool_t on = kTRUE);
649
650 void ReleaseMonitor(TMonitor *mon);
651
652 virtual void FindUniqueSlaves();
653 TSlave *FindSlave(TSocket *s) const;
654 TList *GetListOfSlaves() const { return fSlaves; }
658 Int_t GetNumberOfSlaves() const;
663
664 Bool_t IsEndMaster() const { return fEndMaster; }
665 Int_t ModifyWorkerLists(const char *ord, Bool_t add, Bool_t save);
667 void SaveActiveList();
668
669 Bool_t IsSync() const { return fSync; }
671
672 void SetRunStatus(ERunStatus rst) { fRunStatus = rst; }
673
674 void MarkBad(TSlave *wrk, const char *reason = 0);
675 void MarkBad(TSocket *s, const char *reason = 0);
676 void TerminateWorker(TSlave *wrk);
677 void TerminateWorker(const char *ord);
678
679 void ActivateAsyncInput();
681
683 void PrintProgress(Long64_t total, Long64_t processed,
684 Float_t procTime = -1., Long64_t bytesread = -1);
685
686 // Managing mergers
687 Bool_t CreateMerger(TSlave *sl, Int_t port);
688 void RedirectWorker(TSocket *s, TSlave * sl, Int_t output_size);
692 void AskForOutput(TSlave *sl);
693
695
696 void ResetMergePrg();
697 void ParseConfigField(const char *config);
698
699 Bool_t Prompt(const char *p);
701
702 static TList *GetDataSetSrvMaps(const TString &srvmaps);
703
704protected:
705 TProof(); // For derived classes to use
706 void InitMembers();
707 Int_t Init(const char *masterurl, const char *conffile,
708 const char *confdir, Int_t loglevel,
709 const char *alias = 0);
710 virtual Bool_t StartSlaves(Bool_t attach = kFALSE);
711 Int_t AddWorkers(TList *wrks);
713 void SetupWorkersEnv(TList *wrks, Bool_t increasingpool = kFALSE);
714
715 void SetPlayer(TVirtualProofPlayer *player);
717 virtual TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0);
718
719 void UpdateDialog();
720
721 void HandleLibIncPath(const char *what, Bool_t add, const char *dirs);
722
724 TSlave *CreateSlave(const char *url, const char *ord,
725 Int_t perf, const char *image, const char *workdir);
726 TSlave *CreateSubmaster(const char *url, const char *ord,
727 const char *image, const char *msd, Int_t nwk = 1);
728
729 virtual Int_t PollForNewWorkers();
730 virtual void SaveWorkerInfo();
731
732 Int_t Collect(ESlaves list = kActive, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
733 Int_t Collect(TList *slaves, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
734
736
737 void SetDSet(TDSet *dset) { fDSet = dset; }
738 virtual void ValidateDSet(TDSet *dset);
739
740 Int_t VerifyDataSetParallel(const char *uri, const char *optStr);
741
743
744 Int_t AssertPath(const char *path, Bool_t writable);
745 Int_t GetSandbox(TString &sb, Bool_t assert = kFALSE, const char *rc = 0);
746
747 void PrepareInputDataFile(TString &dataFile);
748 virtual void SendInputDataFile();
749 Int_t SendFile(const char *file, Int_t opt = (kBinary | kForward | kCp | kCpBin),
750 const char *rfile = 0, TSlave *sl = 0);
751
752 // Fast enable/disable feedback from Process
753 void SetFeedback(TString &opt, TString &optfb, Int_t action);
754 // Output file handling during Process
755 Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action);
756
757 static void *SlaveStartupThread(void *arg);
758
759 static Int_t AssertDataSet(TDSet *dset, TList *input,
760 TDataSetManager *mgr, TString &emsg);
761 static void AssertMacroPath(const char *macro);
762
763 // Input data handling
764 static Int_t GetInputData(TList *input, const char *cachedir, TString &emsg);
765 static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TString &emsg);
766 static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg);
767
768 // Parse CINT commands
769 static Bool_t GetFileInCmd(const char *cmd, TString &fn);
770
771 // Pipe execution of commands
772 static void SystemCmd(const char *cmd, Int_t fdout);
773
774public:
775 TProof(const char *masterurl, const char *conffile = kPROOF_ConfFile,
776 const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
777 const char *alias = 0, TProofMgr *mgr = 0);
778 virtual ~TProof();
779
780 void cd(Int_t id = -1);
781
782 Int_t Ping();
783 void Touch();
784 Int_t Exec(const char *cmd, Bool_t plusMaster = kFALSE);
785 Int_t Exec(const char *cmd, const char *ord, Bool_t logtomacro = kFALSE);
786
787 TString Getenv(const char *env, const char *ord = "0");
788 Int_t GetRC(const char *RCenv, Int_t &env, const char *ord = "0");
789 Int_t GetRC(const char *RCenv, Double_t &env, const char *ord = "0");
790 Int_t GetRC(const char *RCenv, TString &env, const char *ord = "0");
791
792 virtual Long64_t Process(TDSet *dset, const char *selector,
793 Option_t *option = "", Long64_t nentries = -1,
794 Long64_t firstentry = 0);
795 virtual Long64_t Process(TFileCollection *fc, const char *selector,
796 Option_t *option = "", Long64_t nentries = -1,
797 Long64_t firstentry = 0);
798 virtual Long64_t Process(const char *dsetname, const char *selector,
799 Option_t *option = "", Long64_t nentries = -1,
800 Long64_t firstentry = 0, TObject *enl = 0);
801 virtual Long64_t Process(const char *selector, Long64_t nentries,
802 Option_t *option = "");
803 // Process via TSelector
804 virtual Long64_t Process(TDSet *dset, TSelector *selector,
805 Option_t *option = "", Long64_t nentries = -1,
806 Long64_t firstentry = 0);
807 virtual Long64_t Process(TFileCollection *fc, TSelector *selector,
808 Option_t *option = "", Long64_t nentries = -1,
809 Long64_t firstentry = 0);
810 virtual Long64_t Process(const char *dsetname, TSelector *selector,
811 Option_t *option = "", Long64_t nentries = -1,
812 Long64_t firstentry = 0, TObject *enl = 0);
813 virtual Long64_t Process(TSelector *selector, Long64_t nentries,
814 Option_t *option = "");
815
816 virtual Long64_t DrawSelect(TDSet *dset, const char *varexp,
817 const char *selection = "",
818 Option_t *option = "", Long64_t nentries = -1,
819 Long64_t firstentry = 0);
820 Long64_t DrawSelect(const char *dsetname, const char *varexp,
821 const char *selection = "",
822 Option_t *option = "", Long64_t nentries = -1,
823 Long64_t firstentry = 0, TObject *enl = 0);
824 Int_t Archive(Int_t query, const char *url);
825 Int_t Archive(const char *queryref, const char *url = 0);
826 Int_t CleanupSession(const char *sessiontag);
827 Long64_t Finalize(Int_t query = -1, Bool_t force = kFALSE);
828 Long64_t Finalize(const char *queryref, Bool_t force = kFALSE);
829 Int_t Remove(Int_t query, Bool_t all = kFALSE);
830 Int_t Remove(const char *queryref, Bool_t all = kFALSE);
831 Int_t Retrieve(Int_t query, const char *path = 0);
832 Int_t Retrieve(const char *queryref, const char *path = 0);
833
834 void DisableGoAsyn();
835 void GoAsynchronous();
836 void StopProcess(Bool_t abort, Int_t timeout = -1);
837 void Browse(TBrowser *b);
838
839 virtual Int_t Echo(const TObject *obj);
840 virtual Int_t Echo(const char *str);
841
842 Int_t SetParallel(Int_t nodes = -1, Bool_t random = kFALSE);
843 void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll);
844
845 void Close(Option_t *option="");
846 virtual void Print(Option_t *option="") const;
847
848 //-- cache and package management
849 virtual void ShowCache(Bool_t all = kFALSE);
850 virtual void ClearCache(const char *file = 0);
853 void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE);
856 Int_t ClearPackage(const char *package);
857 Int_t DownloadPackage(const char *par, const char *dstdir = 0);
858 Int_t EnablePackage(const char *package, Bool_t notOnClient = kFALSE, TList *workers = 0);
859 Int_t EnablePackage(const char *package, const char *loadopts,
860 Bool_t notOnClient = kFALSE, TList *workers = 0);
861 Int_t EnablePackage(const char *package, TList *loadopts,
862 Bool_t notOnClient = kFALSE, TList *workers = 0);
863 Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUntar, TList *workers = 0);
864 virtual Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t uniqueOnly = kTRUE,
865 TList *wrks = 0);
866
867 Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE, TList *wrks = 0, Bool_t doCollect = kTRUE);
868 Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE, TList *wrks = 0, Bool_t doCollect = kTRUE);
869 Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFALSE);
870 Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFALSE);
871
872 //-- dataset management
873 Int_t UploadDataSet(const char *, TList *, const char * = 0, Int_t = 0, TList * = 0);
874 Int_t UploadDataSet(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0);
875 Int_t UploadDataSetFromFile(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0);
876 virtual Bool_t RegisterDataSet(const char *name,
877 TFileCollection *dataset, const char* optStr = "");
878 virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "");
879 virtual void ShowDataSets(const char *uri = "", const char* optStr = "");
880
881 TMap *GetDataSetQuota(const char* optStr = "");
882 void ShowDataSetQuota(Option_t* opt = 0);
883
884 virtual Bool_t ExistsDataSet(const char *dataset);
885 void ShowDataSet(const char *dataset = "", const char* opt = "filter:SsCc");
886 virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "");
887 virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "");
888 virtual TFileCollection *GetDataSet(const char *dataset, const char* optStr = "");
889 TList *FindDataSets(const char *searchString, const char* optStr = "");
890 virtual Bool_t RequestStagingDataSet(const char *dataset);
891 virtual TFileCollection *GetStagingStatusDataSet(const char *dataset);
892 virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr = "filter:SsCc");
893 virtual Bool_t CancelStagingDataSet(const char *dataset);
894
895 virtual Int_t SetDataSetTreeName( const char *dataset, const char *treename);
896
897 virtual void ShowDataSetCache(const char *dataset = 0);
898 virtual void ClearDataSetCache(const char *dataset = 0);
899
900 virtual void ShowData();
901 void ClearData(UInt_t what = kUnregistered, const char *dsname = 0);
902
903 const char *GetMaster() const { return fMaster; }
904 const char *GetConfDir() const { return fConfDir; }
905 const char *GetConfFile() const { return fConfFile; }
906 const char *GetUser() const { return fUrl.GetUser(); }
907 const char *GetGroup() const { return fGroup; }
908 const char *GetWorkDir() const { return fWorkDir; }
909 const char *GetSessionTag() const { return GetName(); }
910 const char *GetImage() const { return fImage; }
911 const char *GetUrl() { return fUrl.GetUrl(); }
912 Int_t GetPort() const { return fUrl.GetPort(); }
915 Int_t GetStatus() const { return fStatus; }
916 Int_t GetLogLevel() const { return fLogLevel; }
917 Int_t GetParallel() const;
918 Int_t GetSeqNum() const { return fSeqNum; }
919 Int_t GetSessionID() const { return fSessionID; }
922
923 EQueryMode GetQueryMode(Option_t *mode = 0) const;
924 void SetQueryMode(EQueryMode mode);
925
926 void SetRealTimeLog(Bool_t on = kTRUE);
927
928 void GetStatistics(Bool_t verbose = kFALSE);
929 Long64_t GetBytesRead() const { return fBytesRead; }
930 Float_t GetRealTime() const { return fRealTime; }
931 Float_t GetCpuTime() const { return fCpuTime; }
932
935 Bool_t IsFolder() const { return kTRUE; }
936 Bool_t IsMaster() const { return fMasterServ; }
937 Bool_t IsValid() const { return fValid; }
938 Bool_t IsTty() const { return fTty; }
939 Bool_t IsParallel() const { return GetParallel() > 0 ? kTRUE : kFALSE; }
940 Bool_t IsIdle() const { return (fNotIdle <= 0) ? kTRUE : kFALSE; }
941 Bool_t IsWaiting() const { return fIsWaiting; }
942
945
946 //-- input list parameter handling
947 void SetParameter(const char *par, const char *value);
948 void SetParameter(const char *par, Int_t value);
949 void SetParameter(const char *par, Long_t value);
950 void SetParameter(const char *par, Long64_t value);
951 void SetParameter(const char *par, Double_t value);
952 TObject *GetParameter(const char *par) const;
953 void DeleteParameters(const char *wildcard);
954 void ShowParameters(const char *wildcard = "PROOF_*") const;
955
956 void AddInput(TObject *obj);
957 void ClearInput();
959 TObject *GetOutput(const char *name);
961 static TObject *GetOutput(const char *name, TList *out);
962
963 void ShowMissingFiles(TQueryResult *qr = 0);
965
966 void AddInputData(TObject *obj, Bool_t push = kFALSE);
967 void SetInputDataFile(const char *datafile);
968 void ClearInputData(TObject *obj = 0);
969 void ClearInputData(const char *name);
970
971 void AddFeedback(const char *name);
972 void RemoveFeedback(const char *name);
973 void ClearFeedback();
974 void ShowFeedback() const;
975 TList *GetFeedbackList() const;
976
977 virtual TList *GetListOfQueries(Option_t *opt = "");
981 TQueryResult *GetQueryResult(const char *ref = 0);
982 void GetMaxQueries();
983 void SetMaxDrawQueries(Int_t max);
984 void ShowQueries(Option_t *opt = "");
985
986 Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready);
987
988 void SetActive(Bool_t /*active*/ = kTRUE) { }
989
990 void LogMessage(const char *msg, Bool_t all); //*SIGNAL*
991 void Progress(Long64_t total, Long64_t processed); //*SIGNAL*
992 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
993 Float_t initTime, Float_t procTime,
994 Float_t evtrti, Float_t mbrti); // *SIGNAL*
995 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
996 Float_t initTime, Float_t procTime,
997 Float_t evtrti, Float_t mbrti,
998 Int_t actw, Int_t tses, Float_t eses); // *SIGNAL*
999 void Feedback(TList *objs); //*SIGNAL*
1000 void QueryResultReady(const char *ref); //*SIGNAL*
1001 void CloseProgressDialog(); //*SIGNAL*
1002 void ResetProgressDialog(const char *sel, Int_t sz,
1003 Long64_t fst, Long64_t ent); //*SIGNAL*
1004 void StartupMessage(const char *msg, Bool_t status, Int_t done,
1005 Int_t total); //*SIGNAL*
1006 void DataSetStatus(const char *msg, Bool_t status,
1007 Int_t done, Int_t total); //*SIGNAL*
1008
1009 void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st);
1010
1011 void GetLog(Int_t start = -1, Int_t end = -1);
1012 TMacro *GetLastLog();
1013 void PutLog(TQueryResult *qr);
1014 void ShowLog(Int_t qry = -1);
1015 void ShowLog(const char *queryref);
1018
1020
1022
1023 virtual TTree *GetTreeHeader(TDSet *tdset);
1025
1026 void AddChain(TChain *chain);
1027 void RemoveChain(TChain *chain);
1028
1032
1033 void Detach(Option_t *opt = "");
1034
1035 virtual void SetAlias(const char *alias="");
1036
1038 void SetManager(TProofMgr *mgr);
1039
1040 Int_t ActivateWorker(const char *ord, Bool_t save = kTRUE);
1041 Int_t DeactivateWorker(const char *ord, Bool_t save = kTRUE);
1042
1043 const char *GetDataPoolUrl() const { return fManager ? fManager->GetMssUrl() : 0; }
1044 void SetDataPoolUrl(const char *url) { if (fManager) fManager->SetMssUrl(url); }
1045
1047
1048 void SetProgressDialog(Bool_t on = kTRUE);
1049
1050 // Enable the performance tree
1051 Int_t SavePerfTree(const char *pf = 0, const char *qref = 0);
1052 void SetPerfTree(const char *pf = "perftree.root", Bool_t withWrks = kFALSE);
1053
1054 // Opening and managing PROOF connections
1055 static TProof *Open(const char *url = 0, const char *conffile = 0,
1056 const char *confdir = 0, Int_t loglevel = 0);
1057 static void LogViewer(const char *url = 0, Int_t sessionidx = 0);
1058 static TProofMgr *Mgr(const char *url);
1059 static void Reset(const char *url, Bool_t hard = kFALSE);
1060
1061 static void AddEnvVar(const char *name, const char *value);
1062 static void DelEnvVar(const char *name);
1063 static const TList *GetEnvVars();
1064 static void ResetEnvVars();
1065
1066 // Input/output list utilities
1067 static Int_t GetParameter(TCollection *c, const char *par, TString &value);
1068 static Int_t GetParameter(TCollection *c, const char *par, Int_t &value);
1069 static Int_t GetParameter(TCollection *c, const char *par, Long_t &value);
1070 static Int_t GetParameter(TCollection *c, const char *par, Long64_t &value);
1071 static Int_t GetParameter(TCollection *c, const char *par, Double_t &value);
1072
1073 ClassDef(TProof,0) //PROOF control class
1074};
1075
1076// Global object with default PROOF session
1078
1079#endif
#define R__EXTERN
Definition DllImport.h:27
@ kMESS_STRING
@ kMESS_OBJECT
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
int Int_t
Definition RtypesCore.h:45
unsigned int UInt_t
Definition RtypesCore.h:46
const Bool_t kFALSE
Definition RtypesCore.h:92
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:73
float Float_t
Definition RtypesCore.h:57
const Bool_t kTRUE
Definition RtypesCore.h:91
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
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
typedef void((*Func_t)())
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:63
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.
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:325
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:317
TSlave * GetMerger()
Definition TProof.h:274
virtual ~TMergerInfo()
Destructor.
Definition TProof.cxx:281
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:292
void AddWorker(TSlave *sl)
Add new worker to the list of workers to be merged by this merger.
Definition TProof.cxx:303
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
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:163
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:116
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
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
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.
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
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:8988
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:6523
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
Definition TProof.cxx:1986
void ShowPackages(Bool_t all=kFALSE, Bool_t redirlog=kFALSE)
List contents of package directory.
Definition TProof.cxx:7760
virtual void ShowData()
List contents of the data directory in the sandbox.
Definition TProof.cxx:7386
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:7058
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
Definition TProof.cxx:11714
Bool_t CreateMerger(TSlave *sl, Int_t port)
Create a new merger.
Definition TProof.cxx:4444
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:2441
EUrgent
Definition TProof.h:393
@ kShutdownInterrupt
Definition TProof.h:398
@ kHardInterrupt
Definition TProof.h:396
@ kLocalInterrupt
Definition TProof.h:394
@ kPing
Definition TProof.h:395
@ kSoftInterrupt
Definition TProof.h:397
Bool_t fValid
Definition TProof.h:464
Int_t GetNumberOfQueries()
Number of queries processed by this session.
Definition TProof.cxx:2095
TProofMgr * fManager
Definition TProof.h:587
void ActivateAsyncInput()
Activate the a-sync input handler.
Definition TProof.cxx:4400
TList * GetOutputNames()
FIXME: to be written.
Definition TProof.cxx:10108
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:6249
void PutLog(TQueryResult *qr)
Display log of query pq into the log window frame.
Definition TProof.cxx:10311
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:6348
void Activate(TList *slaves=0)
Activate slave server list.
Definition TProof.cxx:2379
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file).
Definition TProof.cxx:8431
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:5222
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
Definition TProof.cxx:6748
void Close(Option_t *option="")
Close all open slave servers.
Definition TProof.cxx:1788
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:7102
Int_t fSessionID
Definition TProof.h:528
EProofWrkListAction
Definition TProof.h:449
@ kDeactivateWorker
Definition TProof.h:451
@ kActivateWorker
Definition TProof.h:450
Int_t DisablePackages()
Remove all packages.
Definition TProof.cxx:7932
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:8324
EBuildPackageOpt
Definition TProof.h:453
@ kDontBuildOnClient
Definition TProof.h:454
@ kCollectBuildResults
Definition TProof.h:457
@ kBuildOnSlavesNoWait
Definition TProof.h:455
@ kBuildAll
Definition TProof.h:456
TMap * GetDataSetQuota(const char *optStr="")
returns a map of the quotas of all groups
Definition TProof.cxx:11266
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:12301
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:2155
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:7980
Bool_t IsTty() const
Definition TProof.h:938
virtual void Print(Option_t *option="") const
Print status of PROOF cluster.
Definition TProof.cxx:4793
Int_t GetClientProtocol() const
Definition TProof.h:914
Int_t fCollectTimeout
Definition TProof.h:583
virtual ~TProof()
Clean up PROOF environment.
Definition TProof.cxx:646
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:10221
void operator=(const TProof &)
EProofShowQuotaOpt
Definition TProof.h:459
@ kPerGroup
Definition TProof.h:460
@ kPerUser
Definition TProof.h:461
void SetupWorkersEnv(TList *wrks, Bool_t increasingpool=kFALSE)
Set up packages, loaded macros, include and lib paths ...
Definition TProof.cxx:1518
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:12403
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:7044
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
Definition TProof.cxx:4927
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:9979
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:12460
TVirtualProofPlayer * GetPlayer() const
Definition TProof.h:716
void CleanGDirectory(TList *ol)
Remove links to objects in list 'ol' from gDirectory.
Definition TProof.cxx:3036
void DeActivateAsyncInput()
De-activate a-sync input handler.
Definition TProof.cxx:4413
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:2557
static void ResetEnvVars()
Clear the list of environment variables passed to proofserv on the master and slaves.
Definition TProof.cxx:11786
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:9512
void AskParallel()
Ask the for the number of parallel slaves.
Definition TProof.cxx:2067
FileMap_t fFileMap
Definition TProof.h:502
virtual void ClearCache(const char *file=0)
Remove file from all file caches.
Definition TProof.cxx:7704
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:10886
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:11343
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
Definition TProof.cxx:6082
virtual Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
Definition TProof.cxx:11036
TList * fChains
Definition TProof.h:496
TObject * GetParameter(const char *par) const
Get specified parameter.
Definition TProof.cxx:9908
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:6047
void AskForOutput(TSlave *sl)
Master asks for output from worker sl.
Definition TProof.cxx:4324
TList * GetListOfPackages()
Get from the master the list of names of the packages available.
Definition TProof.cxx:9098
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'.
Definition TProof.cxx:2138
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
Definition TProof.cxx:1968
void StartupMessage(const char *msg, Bool_t status, Int_t done, Int_t total)
Send startup message.
Definition TProof.cxx:9302
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:8589
ERunStatus
Definition TProof.h:370
@ kStopped
Definition TProof.h:372
@ kAborted
Definition TProof.h:373
@ kRunning
Definition TProof.h:371
Int_t AddIncludePath(const char *incpath, Bool_t onClient=kFALSE, TList *wrks=0, Bool_t doCollect=kTRUE)
Add 'incpath' to the inc path search.
Definition TProof.cxx:8878
virtual TMap * GetDataSets(const char *uri="", const char *optStr="")
Lists all datasets that match given uri.
Definition TProof.cxx:10799
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:7681
void ClearFeedback()
Clear feedback list.
Definition TProof.cxx:10002
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:11573
void Browse(TBrowser *b)
Build the PROOF's structure in the browser.
Definition TProof.cxx:10169
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:11325
void ResetMergePrg()
Reset the merge progress notificator.
Definition TProof.cxx:2455
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
Definition TProof.cxx:12614
void ClearData(UInt_t what=kUnregistered, const char *dsname=0)
Remove files for the data directory.
Definition TProof.cxx:7402
Bool_t IsValid() const
Definition TProof.h:937
void Touch()
Ping PROOF slaves. Returns the number of slaves that responded.
Definition TProof.cxx:4772
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:1259
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr="filter:SsCc")
Like GetStagingStatusDataSet, but displays results immediately.
Definition TProof.cxx:11106
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
Definition TProof.cxx:11171
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:11379
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition TProof.cxx:7130
Int_t GoMoreParallel(Int_t nWorkersToAdd)
Add nWorkersToAdd workers to current list of workers.
Definition TProof.cxx:7160
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:10904
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:4294
ESubMerger
Definition TProof.h:376
@ kStopMerging
Definition TProof.h:381
@ kOutputSent
Definition TProof.h:382
@ kMergerDown
Definition TProof.h:380
@ kSendOutput
Definition TProof.h:378
@ kOutputSize
Definition TProof.h:377
@ kBeMerger
Definition TProof.h:379
Float_t fPrepTime
Definition TProof.h:594
Int_t GetRC(const char *RCenv, Int_t &env, const char *ord="0")
Get into 'env' the value of integer RC env variable 'rcenv' on node 'ord'.
Definition TProof.cxx:6655
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:11750
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:6485
virtual void ShowDataSets(const char *uri="", const char *optStr="")
Shows datasets in locations that match the uri.
Definition TProof.cxx:10836
Int_t fOtherQueries
Definition TProof.h:523
EProofClearData
Definition TProof.h:385
@ kUnregistered
Definition TProof.h:387
@ kPurge
Definition TProof.h:386
@ kForceClear
Definition TProof.h:389
@ kDataset
Definition TProof.h:388
Int_t Collect(const TSlave *sl, Long_t timeout=-1, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect responses from slave sl.
Definition TProof.cxx:2659
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:7660
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
Definition TProof.cxx:12370
void SetPlayer(TVirtualProofPlayer *player)
Set a new PROOF player.
Definition TProof.cxx:10189
Int_t ClearPackage(const char *package)
Remove a specific package.
Definition TProof.cxx:7847
Int_t SendInitialState()
Transfer the initial (i.e.
Definition TProof.cxx:6764
Int_t AddWorkers(TList *wrks)
Works on the master node only.
Definition TProof.cxx:1310
void GetStatistics(Bool_t verbose=kFALSE)
Get statistics about CPU time, real time and bytes read.
Definition TProof.cxx:2025
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:10697
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:2465
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
Definition TProof.cxx:9923
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:9629
void InitMembers()
Default initializations.
Definition TProof.cxx:521
void RedirectWorker(TSocket *s, TSlave *sl, Int_t output_size)
Redirect output of worker sl to some merger.
Definition TProof.cxx:4248
Int_t GetNumberOfDrawQueries()
Definition TProof.h:979
void HandleSubmerger(TMessage *mess, TSlave *sl)
Process a message of type kPROOF_SUBMERGER.
Definition TProof.cxx:4004
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:9575
Int_t fStatus
Definition TProof.h:470
TList * fRunningDSets
Definition TProof.h:581
Int_t ClearPackages()
Remove all packages.
Definition TProof.cxx:7830
void SetParameter(const char *par, const char *value)
Set input list parameter.
Definition TProof.cxx:9812
virtual Bool_t StartSlaves(Bool_t attach=kFALSE)
Start up PROOF slaves.
Definition TProof.cxx:1650
Int_t Ping()
Ping PROOF. Returns 1 if master server responded.
Definition TProof.cxx:4734
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:1865
void SaveActiveList()
Save current list of active workers.
Definition TProof.cxx:11532
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:10756
Bool_t IsIdle() const
Definition TProof.h:940
TList * fBadSlaves
Definition TProof.h:574
TProof(const TProof &)
EUploadPackageOpt
Definition TProof.h:366
@ kUntar
Definition TProof.h:367
@ kRemoveOld
Definition TProof.h:368
Bool_t fMergersSet
Definition TProof.h:548
Int_t fRedirectNext
Definition TProof.h:555
void ShowMissingFiles(TQueryResult *qr=0)
Show information about missing files during query described by 'qr' or the last query if qr is null (...
Definition TProof.cxx:12512
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient=kFALSE)
Remove 'incpath' from the inc path search.
Definition TProof.cxx:8957
void SetMonitor(TMonitor *mon=0, Bool_t on=kTRUE)
Activate (on == TRUE) or deactivate (on == FALSE) all sockets monitored by 'mon'.
Definition TProof.cxx:2398
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
Definition TProof.cxx:2294
ESlaves
Definition TProof.h:564
@ kUnique
Definition TProof.h:564
@ kAllUnique
Definition TProof.h:564
@ kActive
Definition TProof.h:564
@ kAll
Definition TProof.h:564
Int_t UnloadPackage(const char *package)
Unload specified package.
Definition TProof.cxx:8104
std::map< TString, MD5Mod_t > FileMap_t
Definition TProof.h:501
void RemoveFeedback(const char *name)
Remove object from feedback list.
Definition TProof.cxx:9990
Int_t Remove(Int_t query, Bool_t all=kFALSE)
Send remove request for the qry-th query in fQueries.
Definition TProof.cxx:6003
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:4343
void AskStatistics()
Ask the for the statistics of the slaves.
Definition TProof.cxx:2012
virtual void SetAlias(const char *alias="")
Set an alias for this session.
Definition TProof.cxx:10573
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:10508
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:9130
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:751
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:6136
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:11360
EProofDataSetCommands
Definition TProof.h:423
@ kRemoveDataSet
Definition TProof.h:430
@ kRegisterDataSet
Definition TProof.h:427
@ kShowQuota
Definition TProof.h:434
@ kGetQuota
Definition TProof.h:433
@ kStagingStatus
Definition TProof.h:438
@ kShowDataSets
Definition TProof.h:432
@ kCache
Definition TProof.h:436
@ kSetDefaultTreeName
Definition TProof.h:435
@ kRequestStaging
Definition TProof.h:437
@ kGetDataSets
Definition TProof.h:426
@ kMergeDataSet
Definition TProof.h:431
@ kCheckDataSetName
Definition TProof.h:425
@ kVerifyDataSet
Definition TProof.h:429
@ kCancelStaging
Definition TProof.h:439
@ kGetDataSet
Definition TProof.h:428
@ kUploadDataSet
Definition TProof.h:424
TProofMergePrg fMergePrg
Definition TProof.h:519
void SetRealTimeLog(Bool_t on=kTRUE)
Switch ON/OFF the real-time logging facility.
Definition TProof.cxx:7086
void cd(Int_t id=-1)
Set session with 'id' the default one.
Definition TProof.cxx:10486
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:12571
void ParseConfigField(const char *config)
The config file field may contain special instructions which need to be parsed at the beginning,...
Definition TProof.cxx:1037
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves.
Definition TProof.cxx:2004
Int_t Retrieve(Int_t query, const char *path=0)
Send retrieve request for the qry-th query in fQueries.
Definition TProof.cxx:5938
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:2600
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:9948
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:9326
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:10981
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:6404
static void Reset(const char *url, Bool_t hard=kFALSE)
Wrapper around TProofMgr::Reset(...).
Definition TProof.cxx:11726
virtual Int_t PollForNewWorkers()
Asks the PROOF Serv for new workers in Dynamic Startup mode and activates them.
Definition TProof.cxx:2960
Int_t fLastAssignedMerger
Definition TProof.h:552
TList * GetQueryResults()
Return pointer to the list of query results in the player.
Definition TProof.cxx:2129
void ShowFeedback() const
Show items in feedback list.
Definition TProof.cxx:10010
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:7263
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
Definition TProof.cxx:6097
Int_t UnloadPackages()
Unload all packages.
Definition TProof.cxx:8137
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
Definition TProof.cxx:10201
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:11000
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
Definition TProof.cxx:12636
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:8618
EStatusBits
Definition TProof.h:341
@ kIsClient
Definition TProof.h:344
@ kNewInputData
Definition TProof.h:343
@ kIsMaster
Definition TProof.h:345
@ kUseProgressDialog
Definition TProof.h:347
@ kIsTopMaster
Definition TProof.h:346
@ kUsingSessionGui
Definition TProof.h:342
Int_t AddDynamicPath(const char *libpath, Bool_t onClient=kFALSE, TList *wrks=0, Bool_t doCollect=kTRUE)
Add 'libpath' to the lib path search.
Definition TProof.cxx:8833
TProof()
Protected constructor to be used by classes deriving from TProof (they have to call Init themselves a...
Definition TProof.cxx:507
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:1587
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
Definition TProof.cxx:9191
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
Definition TProof.cxx:5873
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient=kFALSE)
Remove 'libpath' from the lib path search.
Definition TProof.cxx:8923
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:11299
Bool_t fIsPollingWorkers
Definition TProof.h:475
void DeleteDrawFeedback(TDrawFeedback *f)
Delete draw feedback object.
Definition TProof.cxx:10100
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:11063
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:6789
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:7639
void SetProgressDialog(Bool_t on=kTRUE)
Enable/Disable the graphic progress dialog.
Definition TProof.cxx:12499
TString fLogFileName
Definition TProof.h:511
void GoAsynchronous()
Send GOASYNC message to the master.
Definition TProof.cxx:6257
ERegisterOpt
Definition TProof.h:361
@ kOverwriteIfExists
Definition TProof.h:363
@ kMergeIfExists
Definition TProof.h:364
@ kFailIfExists
Definition TProof.h:362
Int_t fCheckFileStatus
Definition TProof.h:471
TList * GetOutputList()
Get list with all object created during processing (see Process()).
Definition TProof.cxx:9798
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:1291
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:6634
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:6214
TList * GetEnabledPackages() const
Definition TProof.h:735
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
Definition TProof.cxx:1977
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:1843
void GetMaxQueries()
Get max number of queries whose full results are kept in the remote sandbox.
Definition TProof.cxx:2118
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:6884
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:12004
FILE * fLogFileR
Definition TProof.h:513
void Interrupt(EUrgent type, ESlaves list=kActive)
Send interrupt to master or slave servers.
Definition TProof.cxx:2266
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:10625
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:4511
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
Definition TProof.cxx:6450
Bool_t IsProofd() const
Definition TProof.h:934
Int_t RestoreActiveList()
Restore saved list of active workers.
Definition TProof.cxx:11547
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:7018
void ShowLog(Int_t qry=-1)
Display on screen the content of the temporary log file.
Definition TProof.cxx:10361
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:9528
Int_t SendCommand(const char *cmd, ESlaves list=kActive)
Send command to be executed on the PROOF master and/or slaves.
Definition TProof.cxx:6621
void Feedback(TList *objs)
Get list of feedback objects.
Definition TProof.cxx:9258
virtual Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
Definition TProof.cxx:11010
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:9752
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
Definition TProof.cxx:2311
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
Definition TProof.cxx:10032
virtual void ValidateDSet(TDSet *dset)
Validate a TDSet.
Definition TProof.cxx:9370
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:10674
EProofCacheCommands
Definition TProof.h:400
@ kDisableSubPackage
Definition TProof.h:413
@ kClearPackages
Definition TProof.h:404
@ kShowSubPackages
Definition TProof.h:411
@ kShowEnabledPackages
Definition TProof.h:408
@ kListEnabledPackages
Definition TProof.h:420
@ kClearPackage
Definition TProof.h:405
@ kLoadMacro
Definition TProof.h:421
@ kShowSubCache
Definition TProof.h:409
@ kDisablePackage
Definition TProof.h:416
@ kDisablePackages
Definition TProof.h:418
@ kLoadPackage
Definition TProof.h:407
@ kBuildPackage
Definition TProof.h:406
@ kListPackages
Definition TProof.h:419
@ kUnloadPackages
Definition TProof.h:417
@ kUnloadPackage
Definition TProof.h:415
@ kShowCache
Definition TProof.h:401
@ kClearSubCache
Definition TProof.h:410
@ kBuildSubPackage
Definition TProof.h:414
@ kClearCache
Definition TProof.h:402
@ kShowPackages
Definition TProof.h:403
@ kDisableSubPackages
Definition TProof.h:412
static TList * fgProofEnvList
Definition TProof.h:545
virtual void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique (user) file system image.
Definition TProof.cxx:1902
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:4686
static void SystemCmd(const char *cmd, Int_t fdout)
Exec system command 'cmd'. If fdout > -1, append the output to fdout.
Definition TProof.cxx:7725
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
Definition TProof.cxx:6109
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:8059
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:9289
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)
Set draw feedback option.
Definition TProof.cxx:10092
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:10927
Bool_t fSync
Definition TProof.h:506
Bool_t fDataReady
Definition TProof.h:576
ESendFileOpt
Definition TProof.h:441
@ kBinary
Definition TProof.h:443
@ kCp
Definition TProof.h:447
@ kAscii
Definition TProof.h:442
@ kForce
Definition TProof.h:444
@ kCpBin
Definition TProof.h:446
@ kForward
Definition TProof.h:445
Long64_t fBytesReady
Definition TProof.h:577
TDrawFeedback * CreateDrawFeedback()
Draw feedback creation proxy.
Definition TProof.cxx:10084
void AddChain(TChain *chain)
Add chain to data set.
Definition TProof.cxx:10213
static const TList * GetEnvVars()
Get environemnt variables.
Definition TProof.cxx:11741
TSlave * FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
Definition TProof.cxx:1881
TString fGroup
Definition TProof.h:468
TList * GetListOfEnabledPackages()
Get from the master the list of names of the packages enabled.
Definition TProof.cxx:9114
TList * GetFeedbackList() const
Return feedback list.
Definition TProof.cxx:10023
EUploadOpt
Definition TProof.h:353
@ kOverwriteAllFiles
Definition TProof.h:357
@ kAppend
Definition TProof.h:354
@ kOverwriteNoFiles
Definition TProof.h:358
@ kNoOverwriteDataSet
Definition TProof.h:356
@ kOverwriteDataSet
Definition TProof.h:355
@ kAskUser
Definition TProof.h:359
virtual void SendInputDataFile()
Send the input data objects to the master; the objects are taken from the dedicated list and / or the...
Definition TProof.cxx:9602
TList * fEnabledPackages
Definition TProof.h:580
virtual TList * GetListOfQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition TProof.cxx:2078
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:11772
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list.
Definition TProof.cxx:2533
void SetLogLevel(Int_t level, UInt_t mask=TProofDebug::kAll)
Set server logging level.
Definition TProof.cxx:7069
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:5293
void ClearInput()
Clear input object list.
Definition TProof.cxx:9732
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:1010
Int_t DisablePackage(const char *package)
Remove a specific package.
Definition TProof.cxx:7875
Int_t GetQueryReference(Int_t qry, TString &ref)
Get reference for the qry-th query in fQueries (as displayed by ShowQueries).
Definition TProof.cxx:5847
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
Definition TProof.cxx:1995
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise.
Definition TProof.cxx:10858
void ShowDataSet(const char *dataset="", const char *opt="filter:SsCc")
display meta-info for given dataset usi
Definition TProof.cxx:10967
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail=kFALSE)
Analyze the received message.
Definition TProof.cxx:3095
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:9724
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:6277
Bool_t IsMaster() const
Definition TProof.h:936
void CloseProgressDialog()
Close progress dialog.
Definition TProof.cxx:9273
TProofOutputList fOutputList
Definition TProof.h:538
Int_t GetActiveMergersCount()
Get the active mergers count.
Definition TProof.cxx:4426
void DataSetStatus(const char *msg, Bool_t status, Int_t done, Int_t total)
Send dataset preparation status.
Definition TProof.cxx:9314
TMacro * GetLastLog()
Fill a TMacro with the log lines since the last reading (fLogFileR) Return (TMacro *)0 if no line was...
Definition TProof.cxx:10247
TList * GetLoadedMacros() const
Definition TProof.h:944
TList * GetInputList()
Get input list.
Definition TProof.cxx:9743
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:2644
void ShowEnabledPackages(Bool_t all=kFALSE)
List which packages are enabled.
Definition TProof.cxx:7808
void SetMaxDrawQueries(Int_t max)
Set max number of draw queries whose results are saved.
Definition TProof.cxx:2105
void GetLog(Int_t start=-1, Int_t end=-1)
Ask for remote logs in the range [start, end].
Definition TProof.cxx:10230
Int_t CollectInputFrom(TSocket *s, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect and analyze available input from socket s.
Definition TProof.cxx:3050
EQueryMode
Definition TProof.h:349
@ kAsync
Definition TProof.h:351
@ kSync
Definition TProof.h:350
Bool_t UseDynamicStartup() const
Definition TProof.h:921
void ResetMergers()
Definition TProof.h:691
Int_t GetSessionID() const
Definition TProof.h:919
const char * GetMaster() const
Definition TProof.h:903
void QueryResultReady(const char *ref)
Notify availability of a query result.
Definition TProof.cxx:9359
virtual void SaveWorkerInfo()
Save information about the worker set in the file .workers in the working dir.
Definition TProof.cxx:11798
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package.
Definition TProof.cxx:8165
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:2230
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:11120
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.
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:177
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
@ 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:262
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:205
const char * GetDataDir() const
Definition TProof.h:229
void Print(Option_t *option="") const
Print slave info.
Definition TProof.cxx:219
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:2309
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
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