Logo ROOT   6.16/01
Reference Guide
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
Definition: MessageTypes.h:34
@ kMESS_OBJECT
Definition: MessageTypes.h:35
ROOT::R::TRInterface & r
Definition: Object.C:4
#define b(i)
Definition: RSha256.hxx:100
#define f(i)
Definition: RSha256.hxx:104
#define c(i)
Definition: RSha256.hxx:101
int Int_t
Definition: RtypesCore.h:41
unsigned int UInt_t
Definition: RtypesCore.h:42
const Bool_t kFALSE
Definition: RtypesCore.h:88
long Long_t
Definition: RtypesCore.h:50
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
long long Long64_t
Definition: RtypesCore.h:69
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
#define BIT(n)
Definition: Rtypes.h:82
static unsigned int total
int type
Definition: TGX11.cxx:120
int nentries
Definition: THbookFile.cxx:89
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.
Definition: TDrawFeedback.h:35
A TEventList object is a list of selected events (entries) in a TTree.
Definition: TEventList.h:31
Class that contains a list of TFileInfo's and accumulated meta data information about its entries.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
Definition: THashList.h:34
A doubly linked list.
Definition: TList.h:44
This code implements the MD5 message-digest algorithm.
Definition: TMD5.h:44
Class supporting a collection of lines with C++ code.
Definition: TMacro.h:31
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition: TMap.h:40
Int_t fMergedObjects
Definition: TProof.h:252
Bool_t AreAllWorkersAssigned()
Return if the determined number of workers has been already assigned to this merger.
Definition: TProof.cxx:328
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:320
TSlave * GetMerger()
Definition: TProof.h:274
virtual ~TMergerInfo()
Destructor.
Definition: TProof.cxx:284
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:295
void AddWorker(TSlave *sl)
Add new worker to the list of workers to be merged by this merger.
Definition: TProof.cxx:306
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
EStatusBits
Definition: TObject.h:57
The PROOF package manager contains tools to manage packages.
Definition: TPackMgr.h:37
@ kCheckROOT
Definition: TPackMgr.h:39
This packetizer is based on TPacketizer but uses different load-balancing algorithms and data structu...
This class generates packets to be processed on PROOF worker servers.
Definition: TPacketizer.h:39
TProofInputHandler(const TProofInputHandler &)
TProof * fProof
Definition: TProof.h:201
TProofInputHandler & operator=(const TProofInputHandler &)
Bool_t Notify()
Handle input.
Definition: TProof.cxx:166
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:119
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
TProofMergePrg()
Definition: TProof.h:302
Int_t fIdx
Definition: TProof.h:297
TString fExp
Definition: TProof.h:296
const char * Export(Bool_t &changed)
Definition: TProof.h:304
static char fgCr[4]
Definition: TProof.h:300
void IncreaseNWrks()
Definition: TProof.h:310
void SetNWrks(Int_t n)
Definition: TProof.h:313
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
Definition: TProofMgr.h:43
virtual const char * GetMssUrl(Bool_t=kFALSE)
Definition: TProofMgr.h:87
@ kProofLite
Definition: TProofMgr.h:46
virtual void SetMssUrl(const char *mss)
Definition: TProofMgr.h:105
Derivation of TList with an overload of ls() and Print() allowing to filter out some of the variables...
Version of TProofPlayerRemote merges the functionality needed by clients and masters.
Internal class steering processing in PROOF.
Definition: TProofPlayer.h:60
Int_t fActWorkers
Definition: TProof.h:170
Long64_t fTotal
Definition: TProof.h:163
virtual ~TProofProgressInfo()
Definition: TProof.h:180
Long64_t fBytesRead
Definition: TProof.h:165
Float_t fEvtRateI
Definition: TProof.h:168
Float_t fProcTime
Definition: TProof.h:167
Float_t fEffSessions
Definition: TProof.h:172
Float_t fMBRateI
Definition: TProof.h:169
TProofProgressInfo(Long64_t tot=0, Long64_t proc=0, Long64_t bytes=0, Float_t initt=-1., Float_t proct=-1., Float_t evts=-1., Float_t mbs=-1., Int_t actw=0, Int_t tsess=0, Float_t esess=0.)
Definition: TProof.h:173
Long64_t fProcessed
Definition: TProof.h:164
Float_t fInitTime
Definition: TProof.h:166
Int_t fTotSessions
Definition: TProof.h:171
Class providing the PROOF server.
Definition: TProofServ.h:66
This class controls a Parallel ROOT Facility, PROOF, cluster.
Definition: TProof.h:316
void HandleLibIncPath(const char *what, Bool_t add, const char *dirs)
Handle lib, inc search paths modification request.
Definition: TProof.cxx:8970
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:6505
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
Definition: TProof.cxx:1974
void ShowPackages(Bool_t all=kFALSE, Bool_t redirlog=kFALSE)
List contents of package directory.
Definition: TProof.cxx:7742
virtual void ShowData()
List contents of the data directory in the sandbox.
Definition: TProof.cxx:7368
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:7040
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
Definition: TProof.cxx:11696
Bool_t CreateMerger(TSlave *sl, Int_t port)
Create a new merger.
Definition: TProof.cxx:4426
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:2429
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:2083
TProofMgr * fManager
Definition: TProof.h:587
void ActivateAsyncInput()
Activate the a-sync input handler.
Definition: TProof.cxx:4382
TList * GetOutputNames()
FIXME: to be written.
Definition: TProof.cxx:10090
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:6231
void PutLog(TQueryResult *qr)
Display log of query pq into the log window frame.
Definition: TProof.cxx:10293
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:6330
void Activate(TList *slaves=0)
Activate slave server list.
Definition: TProof.cxx:2367
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file).
Definition: TProof.cxx:8413
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:5204
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
Definition: TProof.cxx:6730
void Close(Option_t *option="")
Close all open slave servers.
Definition: TProof.cxx:1776
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:7084
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:7914
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:8306
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:11248
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:12284
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:2143
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:7962
Bool_t IsTty() const
Definition: TProof.h:938
virtual void Print(Option_t *option="") const
Print status of PROOF cluster.
Definition: TProof.cxx:4775
Int_t GetClientProtocol() const
Definition: TProof.h:914
Int_t fCollectTimeout
Definition: TProof.h:583
virtual ~TProof()
Clean up PROOF environment.
Definition: TProof.cxx:649
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:10203
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:1512
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:12386
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:7026
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
Definition: TProof.cxx:4909
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:9961
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:12443
TVirtualProofPlayer * GetPlayer() const
Definition: TProof.h:716
void CleanGDirectory(TList *ol)
Remove links to objects in list 'ol' from gDirectory.
Definition: TProof.cxx:3018
void DeActivateAsyncInput()
De-activate a-sync input handler.
Definition: TProof.cxx:4395
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:2545
static void ResetEnvVars()
Clear the list of environment variables passed to proofserv on the master and slaves.
Definition: TProof.cxx:11768
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:9494
void AskParallel()
Ask the for the number of parallel slaves.
Definition: TProof.cxx:2055
FileMap_t fFileMap
Definition: TProof.h:502
virtual void ClearCache(const char *file=0)
Remove file from all file caches.
Definition: TProof.cxx:7686
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:10868
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:11325
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
Definition: TProof.cxx:6064
virtual Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
Definition: TProof.cxx:11018
TList * fChains
Definition: TProof.h:496
TObject * GetParameter(const char *par) const
Get specified parameter.
Definition: TProof.cxx:9890
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:6029
void AskForOutput(TSlave *sl)
Master asks for output from worker sl.
Definition: TProof.cxx:4306
TList * GetListOfPackages()
Get from the master the list of names of the packages available.
Definition: TProof.cxx:9080
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'.
Definition: TProof.cxx:2126
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
Definition: TProof.cxx:1956
void StartupMessage(const char *msg, Bool_t status, Int_t done, Int_t total)
Send startup message.
Definition: TProof.cxx:9284
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:8571
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:8860
virtual TMap * GetDataSets(const char *uri="", const char *optStr="")
Lists all datasets that match given uri.
Definition: TProof.cxx:10781
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:7663
void ClearFeedback()
Clear feedback list.
Definition: TProof.cxx:9984
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:11555
void Browse(TBrowser *b)
Build the PROOF's structure in the browser.
Definition: TProof.cxx:10151
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:11307
void ResetMergePrg()
Reset the merge progress notificator.
Definition: TProof.cxx:2443
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
Definition: TProof.cxx:12597
void ClearData(UInt_t what=kUnregistered, const char *dsname=0)
Remove files for the data directory.
Definition: TProof.cxx:7384
Bool_t IsValid() const
Definition: TProof.h:937
void Touch()
Ping PROOF slaves. Returns the number of slaves that responded.
Definition: TProof.cxx:4754
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:1253
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr="filter:SsCc")
Like GetStagingStatusDataSet, but displays results immediately.
Definition: TProof.cxx:11088
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
Definition: TProof.cxx:11153
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:11361
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition: TProof.cxx:7112
Int_t GoMoreParallel(Int_t nWorkersToAdd)
Add nWorkersToAdd workers to current list of workers.
Definition: TProof.cxx:7142
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:10886
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:4276
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:6637
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:11732
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:6467
virtual void ShowDataSets(const char *uri="", const char *optStr="")
Shows datasets in locations that match the uri.
Definition: TProof.cxx:10818
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:2647
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:7642
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
Definition: TProof.cxx:12353
void SetPlayer(TVirtualProofPlayer *player)
Set a new PROOF player.
Definition: TProof.cxx:10171
Int_t ClearPackage(const char *package)
Remove a specific package.
Definition: TProof.cxx:7829
Int_t SendInitialState()
Transfer the initial (i.e.
Definition: TProof.cxx:6746
Int_t AddWorkers(TList *wrks)
Works on the master node only.
Definition: TProof.cxx:1304
void GetStatistics(Bool_t verbose=kFALSE)
Get statistics about CPU time, real time and bytes read.
Definition: TProof.cxx:2013
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:10679
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:2453
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
Definition: TProof.cxx:9905
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:9611
void InitMembers()
Default initializations.
Definition: TProof.cxx:524
void RedirectWorker(TSocket *s, TSlave *sl, Int_t output_size)
Redirect output of worker sl to some merger.
Definition: TProof.cxx:4230
Int_t GetNumberOfDrawQueries()
Definition: TProof.h:979
void HandleSubmerger(TMessage *mess, TSlave *sl)
Process a message of type kPROOF_SUBMERGER.
Definition: TProof.cxx:3986
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:9557
Int_t fStatus
Definition: TProof.h:470
TList * fRunningDSets
Definition: TProof.h:581
Int_t ClearPackages()
Remove all packages.
Definition: TProof.cxx:7812
void SetParameter(const char *par, const char *value)
Set input list parameter.
Definition: TProof.cxx:9794
virtual Bool_t StartSlaves(Bool_t attach=kFALSE)
Start up PROOF slaves.
Definition: TProof.cxx:1638
Int_t Ping()
Ping PROOF. Returns 1 if master server responded.
Definition: TProof.cxx:4716
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:1853
void SaveActiveList()
Save current list of active workers.
Definition: TProof.cxx:11514
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:10738
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:12495
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient=kFALSE)
Remove 'incpath' from the inc path search.
Definition: TProof.cxx:8939
void SetMonitor(TMonitor *mon=0, Bool_t on=kTRUE)
Activate (on == TRUE) or deactivate (on == FALSE) all sockets monitored by 'mon'.
Definition: TProof.cxx:2386
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
Definition: TProof.cxx:2282
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:8086
std::map< TString, MD5Mod_t > FileMap_t
Definition: TProof.h:501
void RemoveFeedback(const char *name)
Remove object from feedback list.
Definition: TProof.cxx:9972
Int_t Remove(Int_t query, Bool_t all=kFALSE)
Send remove request for the qry-th query in fQueries.
Definition: TProof.cxx:5985
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:4325
void AskStatistics()
Ask the for the statistics of the slaves.
Definition: TProof.cxx:2000
virtual void SetAlias(const char *alias="")
Set an alias for this session.
Definition: TProof.cxx:10555
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:10490
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:9112
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:745
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:6118
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:11342
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:7068
void cd(Int_t id=-1)
Set session with 'id' the default one.
Definition: TProof.cxx:10468
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:12554
void ParseConfigField(const char *config)
The config file field may contain special instructions which need to be parsed at the beginning,...
Definition: TProof.cxx:1031
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves.
Definition: TProof.cxx:1992
Int_t Retrieve(Int_t query, const char *path=0)
Send retrieve request for the qry-th query in fQueries.
Definition: TProof.cxx:5920
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:2588
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:9930
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:9308
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:10963
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:6386
static void Reset(const char *url, Bool_t hard=kFALSE)
Wrapper around TProofMgr::Reset(...).
Definition: TProof.cxx:11708
virtual Int_t PollForNewWorkers()
Asks the PROOF Serv for new workers in Dynamic Startup mode and activates them.
Definition: TProof.cxx:2942
Int_t fLastAssignedMerger
Definition: TProof.h:552
TList * GetQueryResults()
Return pointer to the list of query results in the player.
Definition: TProof.cxx:2117
void ShowFeedback() const
Show items in feedback list.
Definition: TProof.cxx:9992
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:7245
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
Definition: TProof.cxx:6079
Int_t UnloadPackages()
Unload all packages.
Definition: TProof.cxx:8119
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
Definition: TProof.cxx:10183
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:10982
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
Definition: TProof.cxx:12619
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:8600
@ 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:8815
TProof()
Protected constructor to be used by classes deriving from TProof (they have to call Init themselves a...
Definition: TProof.cxx:510
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:1575
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
Definition: TProof.cxx:9173
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
Definition: TProof.cxx:5855
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient=kFALSE)
Remove 'libpath' from the lib path search.
Definition: TProof.cxx:8905
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:11281
Bool_t fIsPollingWorkers
Definition: TProof.h:475
void DeleteDrawFeedback(TDrawFeedback *f)
Delete draw feedback object.
Definition: TProof.cxx:10082
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:11045
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:6771
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:7621
void SetProgressDialog(Bool_t on=kTRUE)
Enable/Disable the graphic progress dialog.
Definition: TProof.cxx:12482
TString fLogFileName
Definition: TProof.h:511
void GoAsynchronous()
Send GOASYNC message to the master.
Definition: TProof.cxx:6239
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:9780
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:1285
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:6616
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:6196
TList * GetEnabledPackages() const
Definition: TProof.h:735
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
Definition: TProof.cxx:1965
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:1831
void GetMaxQueries()
Get max number of queries whose full results are kept in the remote sandbox.
Definition: TProof.cxx:2106
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:6866
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:11987
FILE * fLogFileR
Definition: TProof.h:513
void Interrupt(EUrgent type, ESlaves list=kActive)
Send interrupt to master or slave servers.
Definition: TProof.cxx:2254
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:10607
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:4493
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
Definition: TProof.cxx:6432
Bool_t IsProofd() const
Definition: TProof.h:934
Int_t RestoreActiveList()
Restore saved list of active workers.
Definition: TProof.cxx:11529
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:7000
void ShowLog(Int_t qry=-1)
Display on screen the content of the temporary log file.
Definition: TProof.cxx:10343
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:9510
Int_t SendCommand(const char *cmd, ESlaves list=kActive)
Send command to be executed on the PROOF master and/or slaves.
Definition: TProof.cxx:6603
void Feedback(TList *objs)
Get list of feedback objects.
Definition: TProof.cxx:9240
virtual Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
Definition: TProof.cxx:10992
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:9734
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
Definition: TProof.cxx:2299
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
Definition: TProof.cxx:10014
virtual void ValidateDSet(TDSet *dset)
Validate a TDSet.
Definition: TProof.cxx:9352
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:10656
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:1890
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:4668
static void SystemCmd(const char *cmd, Int_t fdout)
Exec system command 'cmd'. If fdout > -1, append the output to fdout.
Definition: TProof.cxx:7707
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
Definition: TProof.cxx:6091
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:8041
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:9271
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)
Set draw feedback option.
Definition: TProof.cxx:10074
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:10909
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:10066
void AddChain(TChain *chain)
Add chain to data set.
Definition: TProof.cxx:10195
static const TList * GetEnvVars()
Get environemnt variables.
Definition: TProof.cxx:11723
TSlave * FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
Definition: TProof.cxx:1869
TString fGroup
Definition: TProof.h:468
TList * GetListOfEnabledPackages()
Get from the master the list of names of the packages enabled.
Definition: TProof.cxx:9096
TList * GetFeedbackList() const
Return feedback list.
Definition: TProof.cxx:10005
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:9584
TList * fEnabledPackages
Definition: TProof.h:580
virtual TList * GetListOfQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition: TProof.cxx:2066
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:11754
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list.
Definition: TProof.cxx:2521
void SetLogLevel(Int_t level, UInt_t mask=TProofDebug::kAll)
Set server logging level.
Definition: TProof.cxx:7051
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:5275
void ClearInput()
Clear input object list.
Definition: TProof.cxx:9714
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:1004
Int_t DisablePackage(const char *package)
Remove a specific package.
Definition: TProof.cxx:7857
Int_t GetQueryReference(Int_t qry, TString &ref)
Get reference for the qry-th query in fQueries (as displayed by ShowQueries).
Definition: TProof.cxx:5829
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
Definition: TProof.cxx:1983
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise.
Definition: TProof.cxx:10840
void ShowDataSet(const char *dataset="", const char *opt="filter:SsCc")
display meta-info for given dataset usi
Definition: TProof.cxx:10949
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail=kFALSE)
Analyze the received message.
Definition: TProof.cxx:3077
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:9706
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:6259
Bool_t IsMaster() const
Definition: TProof.h:936
void CloseProgressDialog()
Close progress dialog.
Definition: TProof.cxx:9255
TProofOutputList fOutputList
Definition: TProof.h:538
Int_t GetActiveMergersCount()
Get the active mergers count.
Definition: TProof.cxx:4408
void DataSetStatus(const char *msg, Bool_t status, Int_t done, Int_t total)
Send dataset preparation status.
Definition: TProof.cxx:9296
TMacro * GetLastLog()
Fill a TMacro with the log lines since the last reading (fLogFileR) Return (TMacro *)0 if no line was...
Definition: TProof.cxx:10229
TList * GetLoadedMacros() const
Definition: TProof.h:944
TList * GetInputList()
Get input list.
Definition: TProof.cxx:9725
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:2632
void ShowEnabledPackages(Bool_t all=kFALSE)
List which packages are enabled.
Definition: TProof.cxx:7790
void SetMaxDrawQueries(Int_t max)
Set max number of draw queries whose results are saved.
Definition: TProof.cxx:2093
void GetLog(Int_t start=-1, Int_t end=-1)
Ask for remote logs in the range [start, end].
Definition: TProof.cxx:10212
Int_t CollectInputFrom(TSocket *s, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect and analyze available input from socket s.
Definition: TProof.cxx:3032
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:9341
virtual void SaveWorkerInfo()
Save information about the worker set in the file .workers in the working dir.
Definition: TProof.cxx:11780
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package.
Definition: TProof.cxx:8147
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:2218
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:11102
TString fImage
Definition: TProof.h:570
This is the ROOT implementation of the Qt object communication mechanism (see also http://www....
Definition: TQObject.h:49
A container class for query results.
Definition: TQueryResult.h:36
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
Definition: TSelector.h:33
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:180
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
ESlaveStatus
Definition: TProof.h:214
@ kActive
Definition: TProof.h:214
@ kNotActive
Definition: TProof.h:214
TString fOrdinal
Definition: TProof.h:216
const char * GetOrdinal() const
Definition: TProof.h:232
TString fHostName
Definition: TProof.h:217
void SetSysInfo(SysInfo_t si)
Setter for fSysInfo.
Definition: TProof.cxx:265
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:208
const char * GetDataDir() const
Definition: TProof.h:229
void Print(Option_t *option="") const
Print slave info.
Definition: TProof.cxx:222
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:131
const char * Data() const
Definition: TString.h:364
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition: TString.cxx:2264
A TTree object has a header with a name and a title.
Definition: TTree.h:71
This class represents a WWW compatible URL.
Definition: TUrl.h:35
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
Definition: TUrl.cxx:385
const char * GetUser() const
Definition: TUrl.h:68
Int_t GetPort() const
Definition: TUrl.h:81
The packetizer is a load balancing object created for each query.
Abstract interface for the PROOF player.
Implementation of the functionality provided by TProofMgr in the case of a xproofd-based session.
Definition: TXProofMgr.h:40
This class implements the XProofD version of TProofServ, with respect to which it differs only for th...
Definition: TXProofServ.h:30
This is the version of TSlave for workers servers based on XProofD.
Definition: TXSlave.h:32
Input handler for XProofD sockets.
High level handler of connections to XProofD.
Definition: TXSocket.h:59
const Int_t n
Definition: legend1.C:16
static constexpr double s
Definition: file.py:1
Long_t fModtime
Definition: TProof.h:499
auto * m
Definition: textangle.C:8