ROOT  6.06/09
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 #ifndef ROOT_TProofMgr
28 #include "TProofMgr.h"
29 #endif
30 #ifndef ROOT_TProofDebug
31 #include "TProofDebug.h"
32 #endif
33 #ifndef ROOT_TString
34 #include "TString.h"
35 #endif
36 #ifndef ROOT_TMacro
37 #include "TMacro.h"
38 #endif
39 #ifndef ROOT_MessageTypes
40 #include "MessageTypes.h"
41 #endif
42 #ifndef ROOT_TMD5
43 #include "TMD5.h"
44 #endif
45 #ifndef ROOT_TRegexp
46 #include "TRegexp.h"
47 #endif
48 #ifndef ROOT_TSysEvtHandler
49 #include "TSysEvtHandler.h"
50 #endif
51 #ifndef ROOT_TUrl
52 #include "TUrl.h"
53 #endif
54 #ifndef ROOT_TProofOutputList
55 #include "TProofOutputList.h"
56 #endif
57 #ifndef ROOT_TStopwatch
58 #include "TStopwatch.h"
59 #endif
60 
61 #include <map>
62 
63 #ifdef R__GLOBALSTL
64 namespace std { using ::map; }
65 #endif
66 
67 #define CANNOTUSE(x) Info(x,"Not manager: cannot use this method")
68 
69 class TChain;
70 class TCondor;
71 class TCondorSlave;
72 class TDrawFeedback;
73 class TDSet;
74 class TEventList;
75 class THashList;
76 class TList;
77 class TCollection;
78 class TMessage;
79 class TMonitor;
80 class TPluginHandler;
81 class TProof;
82 class TProofInputHandler;
84 class TProofLockPath;
86 class TProofPlayer;
87 class TProofPlayerRemote;
89 class TProofServ;
90 class TQueryResult;
91 class TSignalHandler;
92 class TSlave;
93 class TSocket;
94 class TTree;
95 class TVirtualMutex;
96 class TFileCollection;
97 class TMap;
98 class TDataSetManager;
100 class TMacro;
101 class TSelector;
102 
103 // protocol changes:
104 // 1 -> 2: new arguments for Process() command, option added
105 // 2 -> 3: package manager enabling protocol changed
106 // 3 -> 4: introduction of multi-level-master support
107 // 4 -> 5: added friends support
108 // 5 -> 6: drop TFTP, support for asynchronous queries
109 // 6 -> 7: support for multisessions, archieve, retrieve, ...
110 // 7 -> 8: return number of entries in GetNextPacket
111 // 8 -> 9: support for stateless connection via xproofd
112 // 9 -> 10: new features requested, tested at CAF
113 // 10 -> 11: new merging strategy
114 // 11 -> 12: new progress message
115 // 12 -> 13: exchange version/architecture/compiler info
116 // 13 -> 14: new proofserv environment setting
117 // 14 -> 15: add support for entry lists; new version of TFileInfo
118 // 15 -> 16: add support for generic non-data based processing
119 // 16 -> 17: new dataset handling system; support for TFileCollection processing
120 // 17 -> 18: support for reconnection on daemon restarts
121 // 18 -> 19: TProofProgressStatus used in kPROOF_PROGRESS, kPROOF_STOPPROCESS
122 // and kPROOF_GETNEXTPACKET messages in Master - worker communication
123 // 19 -> 20: Fix the asynchronous mode (required changes in some messages)
124 // 20 -> 21: Add support for session queuing
125 // 21 -> 22: Add support for switching from sync to async while running ('Ctrl-Z' functionality)
126 // 22 -> 23: New dataset features (default tree name; classification per fileserver)
127 // 23 -> 24: Merging optimization
128 // 24 -> 25: Handling of 'data' dir; group information
129 // 25 -> 26: Use new TProofProgressInfo class
130 // 26 -> 27: Use new file for updating the session status
131 // 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStatistics,
132 // package download, dataset caching
133 // 28 -> 29: Support for config parameters in EnablePackage, idle-timeout
134 // 29 -> 30: Add information about data dir in TSlaveInfo
135 // 30 -> 31: Development cycle 5.29
136 // 31 -> 32: New log path trasmission
137 // 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startup technology, ...)
138 // 33 -> 34: Development cycle 5.33/02 (fix load issue, ...)
139 // 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests in separate dsmgr...)
140 // 35 -> 36: SetParallel in dynamic mode (changes default in GoParallel), cancel staging requests
141 
142 // PROOF magic constants
143 const Int_t kPROOF_Protocol = 36; // protocol version number
144 const Int_t kPROOF_Port = 1093; // IANA registered PROOF port
145 const char* const kPROOF_ConfFile = "proof.conf"; // default config file
146 const char* const kPROOF_ConfDir = "/usr/local/root"; // default config dir
147 const char* const kPROOF_WorkDir = ".proof"; // default working directory
148 const char* const kPROOF_CacheDir = "cache"; // file cache dir, under WorkDir
149 const char* const kPROOF_PackDir = "packages"; // package dir, under WorkDir
150 const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with downloaded PARs, under PackDir
151 const char* const kPROOF_QueryDir = "queries"; // query dir, under WorkDir
152 const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, under WorkDir
153 const char* const kPROOF_DataDir = "data"; // dir for produced data, under WorkDir
154 const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file
155 const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // package lock file
156 const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file
157 const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad
158 const char* const kPROOF_WorkerIdleTO = "+++ idle-timeout +++"; // signal worker idle timeout in MarkBad
159 const char* const kPROOF_InputDataFile = "inputdata.root"; // Default input data file name
160 const char* const kPROOF_MissingFiles = "MissingFiles"; // Missingfile list name
161 const Long64_t kPROOF_DynWrkPollInt_s = 10; // minimum number of seconds between two polls for dyn wrks
162 
163 #ifndef R__WIN32
164 const char* const kCP = "/bin/cp -fp";
165 const char* const kRM = "/bin/rm -rf";
166 const char* const kLS = "/bin/ls -l";
167 const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)";
168 const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)";
169 const char* const kUNTAR3 = "%s -c %s | (tar xf -)";
170 const char* const kGUNZIP = "gunzip";
171 #else
172 const char* const kCP = "copy";
173 const char* const kRM = "delete";
174 const char* const kLS = "dir";
175 const char* const kUNTAR = "...";
176 const char* const kUNTAR2 = "...";
177 const char* const kUNTAR3 = "...";
178 const char* const kGUNZIP = "gunzip";
179 #endif
180 
181 typedef void (*PrintProgress_t)(Long64_t tot, Long64_t proc, Float_t proctime, Long64_t bytes);
182 
183 // Structure for the progress information
184 class TProofProgressInfo : public TObject {
185 public:
186  Long64_t fTotal; // Total number of events to process
187  Long64_t fProcessed; // Number of events processed
188  Long64_t fBytesRead; // Number of bytes read
189  Float_t fInitTime; // Time for initialization
190  Float_t fProcTime; // Time for processing
191  Float_t fEvtRateI; // Instantaneous event rate
192  Float_t fMBRateI; // Instantaneous byte read rate
193  Int_t fActWorkers; // Numebr of workers still active
194  Int_t fTotSessions; // Numebr of PROOF sessions running currently on the clusters
195  Float_t fEffSessions; // Number of effective sessions running on the machines allocated to this session
196  TProofProgressInfo(Long64_t tot = 0, Long64_t proc = 0, Long64_t bytes = 0,
197  Float_t initt = -1., Float_t proct = -1.,
198  Float_t evts = -1., Float_t mbs = -1.,
199  Int_t actw = 0, Int_t tsess = 0, Float_t esess = 0.) :
200  fTotal(tot), fProcessed(proc), fBytesRead(bytes),
201  fInitTime(initt), fProcTime(proct), fEvtRateI(evts), fMBRateI(mbs),
202  fActWorkers(actw), fTotSessions(tsess), fEffSessions(esess) { }
203  virtual ~TProofProgressInfo() { }
204  ClassDef(TProofProgressInfo, 1); // Progress information
205 };
206 
207 // PROOF Interrupt signal handler
209 private:
211 
212  TProofInterruptHandler(const TProofInterruptHandler&); // Not implemented
213  TProofInterruptHandler& operator=(const TProofInterruptHandler&); // Not implemented
214 public:
216  : TSignalHandler(kSigInterrupt, kFALSE), fProof(p) { }
217  Bool_t Notify();
218 };
219 
220 // Input handler for messages from TProofServ
222 private:
225 
226  TProofInputHandler(const TProofInputHandler&); // Not implemented
227  TProofInputHandler& operator=(const TProofInputHandler&); // Not implemented
228 public:
230  Bool_t Notify();
231  Bool_t ReadNotify() { return Notify(); }
232 };
233 
234 // Slaves info class
235 class TSlaveInfo : public TObject {
236 public:
238 
239  TString fOrdinal; //slave ordinal
240  TString fHostName; //hostname this slave is running on
241  TString fMsd; //mass storage domain slave is in
242  TString fDataDir; //directory for user data
243  Int_t fPerfIndex; //relative performance of this slave
244  SysInfo_t fSysInfo; //Infomation about its hardware
245  ESlaveStatus fStatus; //slave status
246 
247  TSlaveInfo(const char *ordinal = "", const char *host = "", Int_t perfidx = 0,
248  const char *msd = "", const char *datadir = "") :
249  fOrdinal(ordinal), fHostName(host), fMsd(msd), fDataDir(datadir),
250  fPerfIndex(perfidx), fSysInfo(), fStatus(kNotActive) { }
251 
252  const char *GetDataDir() const { return fDataDir; }
253  const char *GetMsd() const { return fMsd; }
254  const char *GetName() const { return fHostName; }
255  const char *GetOrdinal() const { return fOrdinal; }
256  SysInfo_t GetSysInfo() const { return fSysInfo; }
257  void SetStatus(ESlaveStatus stat) { fStatus = stat; }
258  void SetSysInfo(SysInfo_t si);
259  void SetOrdinal(const char *ord) { fOrdinal = ord; }
260 
261  Int_t Compare(const TObject *obj) const;
262  Bool_t IsSortable() const { return kTRUE; }
263  void Print(Option_t *option="") const;
264  Bool_t IsEqual(const TObject* obj) const;
265 
266  ClassDef(TSlaveInfo,4) //basic info on workers
267 };
268 
269 // Merger info class
270 class TMergerInfo : public TObject {
271 private:
272 
273  TSlave *fMerger; // Slave that acts as merger
274  Int_t fPort; // Port number, on which it accepts outputs from other workers
275  Int_t fMergedObjects; // Total number of objects it must accept from other workers
276  // (-1 == not set yet)
277  Int_t fWorkersToMerge; // Number of workers that are merged on this merger
278  // (does not change during time)
279  Int_t fMergedWorkers; // Current number of already merged workers
280  // (does change during time as workers are being merged)
281 
282  TList *fWorkers; // List of already assigned workers
283  Bool_t fIsActive; // Merger state
284 
285  TMergerInfo(const TMergerInfo&); // Not implemented
286  TMergerInfo& operator=(const TMergerInfo&); // Not implemented
287 
288 public:
289  TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers) :
290  fMerger(t), fPort(port), fMergedObjects(0), fWorkersToMerge(forHowManyWorkers),
291  fMergedWorkers(0), fWorkers(0), fIsActive(kTRUE) { }
292  virtual ~TMergerInfo();
293 
294  void AddWorker(TSlave *sl);
295  TList *GetWorkers() { return fWorkers; }
296 
297  TSlave *GetMerger() { return fMerger; }
298  Int_t GetPort() { return fPort; }
299 
303 
304  void SetMergedWorker();
305  void AddMergedObjects(Int_t objects) { fMergedObjects += objects; }
306 
309 
310  void Deactivate() { fIsActive = kFALSE; }
311  Bool_t IsActive() { return fIsActive; }
312 
313  ClassDef(TMergerInfo,0) // Basic info on merger, i.e. worker serving as merger
314 };
315 
316 // Small auxiliary class for merging progress notification
318 private:
323  static char fgCr[4];
324 public:
325  TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1), fLastNWrks(-1) { }
326 
327  const char *Export(Bool_t &changed) {
328  fExp.Form("%c (%d workers still sending) ", fgCr[fIdx], fNWrks);
329  changed = (fLastNWrks != fNWrks || fLastNWrks == -1) ? kTRUE : kFALSE;
330  fLastNWrks = fNWrks;
331  return fExp.Data(); }
332  void DecreaseNWrks() { fNWrks--; }
333  void IncreaseNWrks() { fNWrks++; }
334  void IncreaseIdx() { fIdx++; if (fIdx == 4) fIdx = 0; }
335  void Reset(Int_t n = -1) { fIdx = -1; SetNWrks(n); }
336  void SetNWrks(Int_t n) { fNWrks = n; }
337 };
338 
339 class TProof : public TNamed, public TQObject {
340 
341 friend class TPacketizer;
342 friend class TPacketizerDev;
343 friend class TPacketizerAdaptive;
344 friend class TProofLite;
345 friend class TDataSetManager;
346 friend class TProofServ;
347 friend class TProofInputHandler;
349 friend class TProofPlayer;
350 friend class TProofPlayerLite;
351 friend class TProofPlayerRemote;
352 friend class TProofProgressDialog;
353 friend class TSlave;
354 friend class TSlaveLite;
355 friend class TVirtualPacketizer;
356 friend class TXSlave;
357 friend class TXSocket; // to access kPing
358 friend class TXSocketHandler; // to access fCurrentMonitor and CollectInputFrom
359 friend class TXProofMgr; // to access EUrgent
360 friend class TXProofServ; // to access EUrgent
361 
362 public:
363  // PROOF status bits
364  enum EStatusBits {
367  kIsClient = BIT(16),
368  kIsMaster = BIT(17),
371  };
372  enum EQueryMode {
373  kSync = 0,
374  kAsync = 1
375  };
376  enum EUploadOpt {
377  kAppend = 0x1,
382  kAskUser = 0x0
383  };
388  };
390  kUntar = 0x0, //Untar over existing dir [default]
391  kRemoveOld = 0x1 //Remove existing dir with same name
392  };
393  enum ERunStatus {
394  kRunning = 0, // Normal status
395  kStopped = 1, // After the stop button has been pressed
396  kAborted = 2 // After the abort button has been pressed
397  };
398 
399  enum ESubMerger {
400  kOutputSize = 1, //Number of objects in worker's output list
401  kSendOutput = 2, //Naster asks worker for its output list
402  kBeMerger = 3, //Master tells worker to be a merger
403  kMergerDown = 4, //Merger cannot serve
404  kStopMerging = 5, //Master tells worker to stop merging (and return output)
405  kOutputSent = 6 //Worker reports sending its output to given worker
406  };
407 
409  kPurge = 0x1,
411  kDataset = 0x4,
413  };
414 
415 private:
416  enum EUrgent {
418  kPing = 0,
422  };
445  };
447  kUploadDataSet = 1, //Upload a dataset
448  kCheckDataSetName = 2, //Check wheter dataset of this name exists
449  kGetDataSets = 3, //List datasets saved on the master node
450  kRegisterDataSet = 4, //Save a TList object as a dataset
451  kGetDataSet = 5, //Get a TFileCollection of TFileInfo objects
452  kVerifyDataSet = 6, //Try open all files from a dataset and report results
453  kRemoveDataSet = 7, //Remove a dataset but leave files belonging to it
454  kMergeDataSet = 8, //Add new files to an existing dataset
455  kShowDataSets = 9, //Shows datasets, returns formatted output
456  kGetQuota = 10, //Get quota info per group
457  kShowQuota = 11, //Show quotas
458  kSetDefaultTreeName = 12, //Set the default tree name
459  kCache = 13, //Show/clear cache
460  kRequestStaging = 14, //Request staging of a dataset
461  kStagingStatus = 15, //Obtain staging status for the given dataset
462  kCancelStaging = 16 //Cancels dataset staging request
463  };
465  kAscii = 0x0,
466  kBinary = 0x1,
467  kForce = 0x2,
468  kForward = 0x4,
469  kCpBin = 0x8,
470  kCp = 0x10
471  };
475  };
481  };
486  };
488  kPerGroup = 0x1,
489  kPerUser = 0x2
490  };
491 
492  Bool_t fValid; //is this a valid proof object
493  Bool_t fTty; //TRUE if connected to a terminal
494  TString fMaster; //master server ("" if a master); used in the browser
495  TString fWorkDir; //current work directory on remote servers
496  TString fGroup; //PROOF group of this user
497  Int_t fLogLevel; //server debug logging level
498  Int_t fStatus; //remote return status (part of kPROOF_LOGDONE)
499  Int_t fCheckFileStatus; //remote return status after kPROOF_CHECKFILE
500  TList *fRecvMessages; //Messages received during collect not yet processed
501  TList *fSlaveInfo; //!list returned by kPROOF_GETSLAVEINFO
502  Bool_t fSendGroupView; //if true send new group view
503  Bool_t fIsPollingWorkers; //will be set to kFALSE to prevent recursive dyn workers check in dyn mode
504  Long64_t fLastPollWorkers_s; //timestamp (in seconds) of last poll for workers, -1 if never checked
505  TList *fActiveSlaves; //list of active slaves (subset of all slaves)
506  TString fActiveSlavesSaved;// comma-separated list of active slaves (before last call to
507  // SetParallel or Activate/DeactivateWorkers)
508  TList *fInactiveSlaves; //list of inactive slaves (good but not used for processing)
509  TList *fUniqueSlaves; //list of all active slaves with unique file systems
510  TList *fAllUniqueSlaves; //list of all active slaves with unique file systems, including all submasters
511  TList *fNonUniqueMasters; //list of all active masters with a nonunique file system
512  TMonitor *fActiveMonitor; //monitor activity on all active slave sockets
513  TMonitor *fUniqueMonitor; //monitor activity on all unique slave sockets
514  TMonitor *fAllUniqueMonitor; //monitor activity on all unique slave sockets, including all submasters
515  TMonitor *fCurrentMonitor; //currently active monitor
516  Long64_t fBytesRead; //bytes read by all slaves during the session
517  Float_t fRealTime; //realtime spent by all slaves during the session
518  Float_t fCpuTime; //CPU time spent by all slaves during the session
519  TSignalHandler *fIntHandler; //interrupt signal handler (ctrl-c)
520  TPluginHandler *fProgressDialog; //progress dialog plugin
521  Bool_t fProgressDialogStarted; //indicates if the progress dialog is up
522  TVirtualProofPlayer *fPlayer; //current player
523  TList *fFeedback; //list of names to be returned as feedback
524  TList *fChains; //chains with this proof set
525  struct MD5Mod_t {
526  TMD5 fMD5; //file's md5
527  Long_t fModtime; //file's modification time
528  };
529  typedef std::map<TString, MD5Mod_t> FileMap_t;
530  FileMap_t fFileMap; //map keeping track of a file's md5 and mod time
531  TDSet *fDSet; //current TDSet being validated
532 
533  Int_t fNotIdle; //Number of non-idle sub-nodes
534  Bool_t fSync; //true if type of currently processed query is sync
535  ERunStatus fRunStatus; //run status
536  Bool_t fIsWaiting; //true if queries have been enqueued
537 
538  Bool_t fRedirLog; //redirect received log info
539  TString fLogFileName; //name of the temp file for redirected logs
540  FILE *fLogFileW; //temp file to redirect logs
541  FILE *fLogFileR; //temp file to read redirected logs
542  Bool_t fLogToWindowOnly; //send log to window only
543 
544  Bool_t fSaveLogToMacro; // Whether to save received logs to TMacro fMacroLog (use with care)
545  TMacro fMacroLog; // Macro with the saved (last) log
546 
547  TProofMergePrg fMergePrg; //Merging progress
548 
549  TList *fWaitingSlaves; //stores a TPair of the slaves's TSocket and TMessage
550  TList *fQueries; //list of TProofQuery objects
551  Int_t fOtherQueries; //number of queries in list from previous sessions
552  Int_t fDrawQueries; //number of draw queries during this sessions
553  Int_t fMaxDrawQueries; //max number of draw queries kept
554  Int_t fSeqNum; //Remote sequential # of the last query submitted
555 
556  Int_t fSessionID; //remote ID of the session
557 
558  Bool_t fEndMaster; //true for a master in direct contact only with workers
559 
560  TString fPackageDir; //package directory (used on client)
561  THashList *fGlobalPackageDirList;//list of directories containing global packages libs
562  TProofLockPath *fPackageLock; //package lock
563  TList *fEnabledPackagesOnClient; //list of packages enabled on client
564  TList *fEnabledPackagesOnCluster; //list of enabled packages
565 
566  TList *fInputData; //Input data objects sent over via file
567  TString fInputDataFile; //File with input data objects
568 
569  TProofOutputList fOutputList; // TList implementation filtering ls(...) and Print(...)
570 
571  PrintProgress_t fPrintProgress; //Function function to display progress info in batch mode
572 
573  TVirtualMutex *fCloseMutex; // Avoid crashes in MarkBad or alike while closing
574 
575  TList *fLoadedMacros; // List of loaded macros (just file names)
576  static TList *fgProofEnvList; // List of TNameds defining environment
577  // variables to pass to proofserv
578 
579  Bool_t fMergersSet; // Indicates, if the following variables have been initialized properly
580  Bool_t fMergersByHost; // Mergers assigned by host name
582  Int_t fWorkersToMerge; // Current total number of workers, which have not been yet assigned to any merger
587 
588  TString fPerfTree; // If non-null triggers saving of the performance info into fPerfTree
589 
590  TList *fWrksOutputReady; // List of workers ready to send output (in control output sending mode)
591 
592  static TPluginHandler *fgLogViewer; // Log dialog box plugin
593 
594 protected:
596 
597  Bool_t fMasterServ; //true if we are a master server
598  TUrl fUrl; //Url of the master
599  TString fConfFile; //file containing config information
600  TString fConfDir; //directory containing cluster config information
601  TString fImage; //master's image name
602  Int_t fProtocol; //remote PROOF server protocol version number
603  TList *fSlaves; //list of all slave servers as in config file
604  TList *fTerminatedSlaveInfos; //list of unique infos of terminated slaves
605  TList *fBadSlaves; //dead slaves (subset of all slaves)
606  TMonitor *fAllMonitor; //monitor activity on all valid slave sockets
607  Bool_t fDataReady; //true if data is ready to be analyzed
608  Long64_t fBytesReady; //number of bytes staged
609  Long64_t fTotalBytes; //number of bytes to be analyzed
610  TList *fAvailablePackages; //list of available packages
611  TList *fEnabledPackages; //list of enabled packages
612  TList *fRunningDSets; // Temporary datasets used for async running
613 
614  Int_t fCollectTimeout; // Timeout for (some) collect actions
615 
616  TString fDataPoolUrl; // default data pool entry point URL
617  TProofMgr::EServType fServType; // type of server: proofd, XrdProofd
618  TProofMgr *fManager; // manager to which this session belongs (if any)
619  EQueryMode fQueryMode; // default query mode
620  Bool_t fDynamicStartup; // are the workers started dynamically?
621 
622  TSelector *fSelector; // Selector to be processed, if any
623 
624  TStopwatch fQuerySTW; // Stopwatch to measure query times
625  Float_t fPrepTime; // Preparation time
626 
627 private:
628  TProof(const TProof &); // not implemented
629  void operator=(const TProof &); // idem
630 
631  void CleanGDirectory(TList *ol);
632 
633  Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster);
634  Int_t SendCommand(const char *cmd, ESlaves list = kActive);
637  Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t cpopt = (kCp | kCpBin));
638  Int_t SendObject(const TObject *obj, ESlaves list = kActive);
641  Int_t SendPrint(Option_t *option="");
642  Int_t Ping(ESlaves list);
643  void Interrupt(EUrgent type, ESlaves list = kActive);
644  void AskStatistics();
645  void AskParallel();
646  Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE);
647  Int_t GoMoreParallel(Int_t nWorkersToAdd);
648  Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE);
649  void RecvLogFile(TSocket *s, Int_t size);
650  void NotifyLogMsg(const char *msg, const char *sfx = "\n");
651  Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuildAll, Int_t chkveropt = kCheckROOT, TList *workers = 0);
652  Int_t BuildPackageOnClient(const char *package, Int_t opt = 0, TString *path = 0, Int_t chkveropt = kCheckROOT);
653  Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE, TList *loadopts = 0, TList *workers = 0);
654  Int_t LoadPackageOnClient(const char *package, TList *loadopts = 0);
655  Int_t UnloadPackage(const char *package);
656  Int_t UnloadPackageOnClient(const char *package);
658  Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt opt, TMD5 *md5);
659  Int_t DisablePackage(const char *package);
660  Int_t DisablePackageOnClient(const char *package);
662 
663  void Activate(TList *slaves = 0);
664  Int_t Broadcast(const TMessage &mess, TList *slaves);
665  Int_t Broadcast(const TMessage &mess, ESlaves list = kActive);
666  Int_t Broadcast(const char *mess, Int_t kind, TList *slaves);
667  Int_t Broadcast(const char *mess, Int_t kind = kMESS_STRING, ESlaves list = kActive);
668  Int_t Broadcast(Int_t kind, TList *slaves) { return Broadcast(0, kind, slaves); }
669  Int_t Broadcast(Int_t kind, ESlaves list = kActive) { return Broadcast(0, kind, list); }
670  Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile, TList *wrks);
671  Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile = 0, ESlaves list = kAllUnique);
672  Int_t BroadcastGroupPriority(const char *grp, Int_t priority, ESlaves list = kAllUnique);
673  Int_t BroadcastGroupPriority(const char *grp, Int_t priority, TList *workers);
674  Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves);
676  Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves);
677  Int_t BroadcastRaw(const void *buffer, Int_t length, ESlaves list = kActive);
678  Int_t Collect(const TSlave *sl, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
679  Int_t Collect(TMonitor *mon, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
680  Int_t CollectInputFrom(TSocket *s, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
681  Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail = kFALSE);
682  void HandleSubmerger(TMessage *mess, TSlave *sl);
683  void SetMonitor(TMonitor *mon = 0, Bool_t on = kTRUE);
684 
685  void ReleaseMonitor(TMonitor *mon);
686 
687  virtual void FindUniqueSlaves();
688  TSlave *FindSlave(TSocket *s) const;
689  TList *GetListOfSlaves() const { return fSlaves; }
692  TList *GetListOfBadSlaves() const { return fBadSlaves; }
693  Int_t GetNumberOfSlaves() const;
697  Int_t GetNumberOfBadSlaves() const;
698 
699  Bool_t IsEndMaster() const { return fEndMaster; }
700  Int_t ModifyWorkerLists(const char *ord, Bool_t add, Bool_t save);
702  void SaveActiveList();
703 
704  Bool_t IsSync() const { return fSync; }
706 
707  void SetRunStatus(ERunStatus rst) { fRunStatus = rst; }
708 
709  void MarkBad(TSlave *wrk, const char *reason = 0);
710  void MarkBad(TSocket *s, const char *reason = 0);
711  void TerminateWorker(TSlave *wrk);
712  void TerminateWorker(const char *ord);
713 
714  void ActivateAsyncInput();
715  void DeActivateAsyncInput();
716 
718  void PrintProgress(Long64_t total, Long64_t processed,
719  Float_t procTime = -1., Long64_t bytesread = -1);
720 
721  // Managing mergers
722  Bool_t CreateMerger(TSlave *sl, Int_t port);
723  void RedirectWorker(TSocket *s, TSlave * sl, Int_t output_size);
726  void ResetMergers() { fMergersSet = kFALSE; }
727  void AskForOutput(TSlave *sl);
728 
729  void FinalizationDone() { fFinalizationRunning = kFALSE; }
730 
731  void ResetMergePrg();
732  void ParseConfigField(const char *config);
733 
734  Bool_t Prompt(const char *p);
735  void ClearDataProgress(Int_t r, Int_t t);
736 
737  static TList *GetDataSetSrvMaps(const TString &srvmaps);
738 
739 protected:
740  TProof(); // For derived classes to use
741  void InitMembers();
742  Int_t Init(const char *masterurl, const char *conffile,
743  const char *confdir, Int_t loglevel,
744  const char *alias = 0);
745  virtual Bool_t StartSlaves(Bool_t attach = kFALSE);
746  Int_t AddWorkers(TList *wrks);
747  Int_t RemoveWorkers(TList *wrks);
748  void SetupWorkersEnv(TList *wrks, Bool_t increasingpool = kFALSE);
749 
750  void SetPlayer(TVirtualProofPlayer *player);
751  TVirtualProofPlayer *GetPlayer() const { return fPlayer; }
752  virtual TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0);
753 
754  void UpdateDialog();
755 
756  void HandleLibIncPath(const char *what, Bool_t add, const char *dirs);
757 
759  TSlave *CreateSlave(const char *url, const char *ord,
760  Int_t perf, const char *image, const char *workdir);
761  TSlave *CreateSubmaster(const char *url, const char *ord,
762  const char *image, const char *msd, Int_t nwk = 1);
763 
764  virtual Int_t PollForNewWorkers();
765  virtual void SaveWorkerInfo();
766 
767  Int_t Collect(ESlaves list = kActive, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
768  Int_t Collect(TList *slaves, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE);
769 
771 
772  void SetDSet(TDSet *dset) { fDSet = dset; }
773  virtual void ValidateDSet(TDSet *dset);
774 
775  Int_t VerifyDataSetParallel(const char *uri, const char *optStr);
776 
778 
779  Int_t AssertPath(const char *path, Bool_t writable);
780  Int_t GetSandbox(TString &sb, Bool_t assert = kFALSE, const char *rc = 0);
781 
782  void PrepareInputDataFile(TString &dataFile);
783  virtual void SendInputDataFile();
784  Int_t SendFile(const char *file, Int_t opt = (kBinary | kForward | kCp | kCpBin),
785  const char *rfile = 0, TSlave *sl = 0);
786 
787  // Fast enable/disable feedback from Process
788  void SetFeedback(TString &opt, TString &optfb, Int_t action);
789  // Output file handling during Process
790  Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action);
791 
792  static void *SlaveStartupThread(void *arg);
793 
794  static Int_t AssertDataSet(TDSet *dset, TList *input,
795  TDataSetManager *mgr, TString &emsg);
796  // Input data handling
797  static Int_t GetInputData(TList *input, const char *cachedir, TString &emsg);
798  static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TString &emsg);
799  static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg);
800 
801  // Parse CINT commands
802  static Bool_t GetFileInCmd(const char *cmd, TString &fn);
803 
804  // Pipe execution of commands
805  static void SystemCmd(const char *cmd, Int_t fdout);
806 
807 public:
808  TProof(const char *masterurl, const char *conffile = kPROOF_ConfFile,
809  const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
810  const char *alias = 0, TProofMgr *mgr = 0);
811  virtual ~TProof();
812 
813  void cd(Int_t id = -1);
814 
815  Int_t Ping();
816  void Touch();
817  Int_t Exec(const char *cmd, Bool_t plusMaster = kFALSE);
818  Int_t Exec(const char *cmd, const char *ord, Bool_t logtomacro = kFALSE);
819 
820  TString Getenv(const char *env, const char *ord = "0");
821  Int_t GetRC(const char *RCenv, Int_t &env, const char *ord = "0");
822  Int_t GetRC(const char *RCenv, Double_t &env, const char *ord = "0");
823  Int_t GetRC(const char *RCenv, TString &env, const char *ord = "0");
824 
825  virtual Long64_t Process(TDSet *dset, const char *selector,
826  Option_t *option = "", Long64_t nentries = -1,
827  Long64_t firstentry = 0);
828  virtual Long64_t Process(TFileCollection *fc, const char *selector,
829  Option_t *option = "", Long64_t nentries = -1,
830  Long64_t firstentry = 0);
831  virtual Long64_t Process(const char *dsetname, const char *selector,
832  Option_t *option = "", Long64_t nentries = -1,
833  Long64_t firstentry = 0, TObject *enl = 0);
834  virtual Long64_t Process(const char *selector, Long64_t nentries,
835  Option_t *option = "");
836  // Process via TSelector
837  virtual Long64_t Process(TDSet *dset, TSelector *selector,
838  Option_t *option = "", Long64_t nentries = -1,
839  Long64_t firstentry = 0);
840  virtual Long64_t Process(TFileCollection *fc, TSelector *selector,
841  Option_t *option = "", Long64_t nentries = -1,
842  Long64_t firstentry = 0);
843  virtual Long64_t Process(const char *dsetname, TSelector *selector,
844  Option_t *option = "", Long64_t nentries = -1,
845  Long64_t firstentry = 0, TObject *enl = 0);
846  virtual Long64_t Process(TSelector *selector, Long64_t nentries,
847  Option_t *option = "");
848 
849  virtual Long64_t DrawSelect(TDSet *dset, const char *varexp,
850  const char *selection = "",
851  Option_t *option = "", Long64_t nentries = -1,
852  Long64_t firstentry = 0);
853  Long64_t DrawSelect(const char *dsetname, const char *varexp,
854  const char *selection = "",
855  Option_t *option = "", Long64_t nentries = -1,
856  Long64_t firstentry = 0, TObject *enl = 0);
857  Int_t Archive(Int_t query, const char *url);
858  Int_t Archive(const char *queryref, const char *url = 0);
859  Int_t CleanupSession(const char *sessiontag);
860  Long64_t Finalize(Int_t query = -1, Bool_t force = kFALSE);
861  Long64_t Finalize(const char *queryref, Bool_t force = kFALSE);
862  Int_t Remove(Int_t query, Bool_t all = kFALSE);
863  Int_t Remove(const char *queryref, Bool_t all = kFALSE);
864  Int_t Retrieve(Int_t query, const char *path = 0);
865  Int_t Retrieve(const char *queryref, const char *path = 0);
866 
867  void DisableGoAsyn();
868  void GoAsynchronous();
869  void StopProcess(Bool_t abort, Int_t timeout = -1);
870  void Browse(TBrowser *b);
871 
872  virtual Int_t Echo(const TObject *obj);
873  virtual Int_t Echo(const char *str);
874 
875  Int_t SetParallel(Int_t nodes = -1, Bool_t random = kFALSE);
876  void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll);
877 
878  void Close(Option_t *option="");
879  virtual void Print(Option_t *option="") const;
880 
881  //-- cache and package management
882  virtual void ShowCache(Bool_t all = kFALSE);
883  virtual void ClearCache(const char *file = 0);
886  void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE);
887  void ShowEnabledPackages(Bool_t all = kFALSE);
889  Int_t ClearPackage(const char *package);
890  Int_t DownloadPackage(const char *par, const char *dstdir = 0);
891  Int_t EnablePackage(const char *package, Bool_t notOnClient = kFALSE, TList *workers = 0);
892  Int_t EnablePackage(const char *package, const char *loadopts,
893  Bool_t notOnClient = kFALSE, TList *workers = 0);
894  Int_t EnablePackage(const char *package, TList *loadopts,
895  Bool_t notOnClient = kFALSE, TList *workers = 0);
896  Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUntar, TList *workers = 0);
897  virtual Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t uniqueOnly = kTRUE,
898  TList *wrks = 0);
899 
900  Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE, TList *wrks = 0, Bool_t doCollect = kTRUE);
901  Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE, TList *wrks = 0, Bool_t doCollect = kTRUE);
902  Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFALSE);
903  Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFALSE);
904 
905  //-- dataset management
906  Int_t UploadDataSet(const char *, TList *, const char * = 0, Int_t = 0, TList * = 0);
907  Int_t UploadDataSet(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0);
908  Int_t UploadDataSetFromFile(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0);
909  virtual Bool_t RegisterDataSet(const char *name,
910  TFileCollection *dataset, const char* optStr = "");
911  virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "");
912  virtual void ShowDataSets(const char *uri = "", const char* optStr = "");
913 
914  TMap *GetDataSetQuota(const char* optStr = "");
915  void ShowDataSetQuota(Option_t* opt = 0);
916 
917  virtual Bool_t ExistsDataSet(const char *dataset);
918  void ShowDataSet(const char *dataset = "", const char* opt = "filter:SsCc");
919  virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "");
920  virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "");
921  virtual TFileCollection *GetDataSet(const char *dataset, const char* optStr = "");
922  TList *FindDataSets(const char *searchString, const char* optStr = "");
923  virtual Bool_t RequestStagingDataSet(const char *dataset);
924  virtual TFileCollection *GetStagingStatusDataSet(const char *dataset);
925  virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr = "filter:SsCc");
926  virtual Bool_t CancelStagingDataSet(const char *dataset);
927 
928  virtual Int_t SetDataSetTreeName( const char *dataset, const char *treename);
929 
930  virtual void ShowDataSetCache(const char *dataset = 0);
931  virtual void ClearDataSetCache(const char *dataset = 0);
932 
933  virtual void ShowData();
934  void ClearData(UInt_t what = kUnregistered, const char *dsname = 0);
935 
936  const char *GetMaster() const { return fMaster; }
937  const char *GetConfDir() const { return fConfDir; }
938  const char *GetConfFile() const { return fConfFile; }
939  const char *GetUser() const { return fUrl.GetUser(); }
940  const char *GetGroup() const { return fGroup; }
941  const char *GetWorkDir() const { return fWorkDir; }
942  const char *GetSessionTag() const { return GetName(); }
943  const char *GetImage() const { return fImage; }
944  const char *GetUrl() { return fUrl.GetUrl(); }
945  Int_t GetPort() const { return fUrl.GetPort(); }
946  Int_t GetRemoteProtocol() const { return fProtocol; }
948  Int_t GetStatus() const { return fStatus; }
949  Int_t GetLogLevel() const { return fLogLevel; }
950  Int_t GetParallel() const;
951  Int_t GetSeqNum() const { return fSeqNum; }
952  Int_t GetSessionID() const { return fSessionID; }
955 
956  EQueryMode GetQueryMode(Option_t *mode = 0) const;
957  void SetQueryMode(EQueryMode mode);
958 
959  void SetRealTimeLog(Bool_t on = kTRUE);
960 
962  Long64_t GetBytesRead() const { return fBytesRead; }
963  Float_t GetRealTime() const { return fRealTime; }
964  Float_t GetCpuTime() const { return fCpuTime; }
965 
966  Bool_t IsLite() const { return (fServType == TProofMgr::kProofLite) ? kTRUE : kFALSE; }
967  Bool_t IsProofd() const { return (fServType == TProofMgr::kProofd) ? kTRUE : kFALSE; }
968  Bool_t IsFolder() const { return kTRUE; }
969  Bool_t IsMaster() const { return fMasterServ; }
970  Bool_t IsValid() const { return fValid; }
971  Bool_t IsTty() const { return fTty; }
972  Bool_t IsParallel() const { return GetParallel() > 0 ? kTRUE : kFALSE; }
973  Bool_t IsIdle() const { return (fNotIdle <= 0) ? kTRUE : kFALSE; }
974  Bool_t IsWaiting() const { return fIsWaiting; }
975 
976  ERunStatus GetRunStatus() const { return fRunStatus; }
977  TList *GetLoadedMacros() const { return fLoadedMacros; }
978 
979  //-- input list parameter handling
980  void SetParameter(const char *par, const char *value);
981  void SetParameter(const char *par, Int_t value);
982  void SetParameter(const char *par, Long_t value);
983  void SetParameter(const char *par, Long64_t value);
984  void SetParameter(const char *par, Double_t value);
985  TObject *GetParameter(const char *par) const;
986  void DeleteParameters(const char *wildcard);
987  void ShowParameters(const char *wildcard = "PROOF_*") const;
988 
989  void AddInput(TObject *obj);
990  void ClearInput();
991  TList *GetInputList();
992  TObject *GetOutput(const char *name);
993  TList *GetOutputList();
994  static TObject *GetOutput(const char *name, TList *out);
995 
996  void ShowMissingFiles(TQueryResult *qr = 0);
998 
1000  void SetInputDataFile(const char *datafile);
1001  void ClearInputData(TObject *obj = 0);
1002  void ClearInputData(const char *name);
1003 
1004  void AddFeedback(const char *name);
1005  void RemoveFeedback(const char *name);
1006  void ClearFeedback();
1007  void ShowFeedback() const;
1008  TList *GetFeedbackList() const;
1009 
1010  virtual TList *GetListOfQueries(Option_t *opt = "");
1014  TQueryResult *GetQueryResult(const char *ref = 0);
1015  void GetMaxQueries();
1016  void SetMaxDrawQueries(Int_t max);
1017  void ShowQueries(Option_t *opt = "");
1018 
1019  Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready);
1020 
1021  void SetActive(Bool_t /*active*/ = kTRUE) { }
1022 
1023  void LogMessage(const char *msg, Bool_t all); //*SIGNAL*
1024  void Progress(Long64_t total, Long64_t processed); //*SIGNAL*
1025  void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
1026  Float_t initTime, Float_t procTime,
1027  Float_t evtrti, Float_t mbrti); // *SIGNAL*
1028  void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
1029  Float_t initTime, Float_t procTime,
1030  Float_t evtrti, Float_t mbrti,
1031  Int_t actw, Int_t tses, Float_t eses); // *SIGNAL*
1032  void Feedback(TList *objs); //*SIGNAL*
1033  void QueryResultReady(const char *ref); //*SIGNAL*
1034  void CloseProgressDialog(); //*SIGNAL*
1035  void ResetProgressDialog(const char *sel, Int_t sz,
1036  Long64_t fst, Long64_t ent); //*SIGNAL*
1037  void StartupMessage(const char *msg, Bool_t status, Int_t done,
1038  Int_t total); //*SIGNAL*
1039  void DataSetStatus(const char *msg, Bool_t status,
1040  Int_t done, Int_t total); //*SIGNAL*
1041 
1042  void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st);
1043 
1044  void GetLog(Int_t start = -1, Int_t end = -1);
1045  TMacro *GetLastLog();
1046  void PutLog(TQueryResult *qr);
1047  void ShowLog(Int_t qry = -1);
1048  void ShowLog(const char *queryref);
1050  void SendLogToWindow(Bool_t mode) { fLogToWindowOnly = mode; }
1051 
1052  TMacro *GetMacroLog() { return &fMacroLog; }
1053 
1054  void ResetProgressDialogStatus() { fProgressDialogStarted = kFALSE; }
1055 
1056  virtual TTree *GetTreeHeader(TDSet *tdset);
1057  TList *GetOutputNames();
1058 
1059  void AddChain(TChain *chain);
1060  void RemoveChain(TChain *chain);
1061 
1065 
1066  void Detach(Option_t *opt = "");
1067 
1068  virtual void SetAlias(const char *alias="");
1069 
1071  void SetManager(TProofMgr *mgr);
1072 
1073  Int_t ActivateWorker(const char *ord, Bool_t save = kTRUE);
1074  Int_t DeactivateWorker(const char *ord, Bool_t save = kTRUE);
1075 
1076  const char *GetDataPoolUrl() const { return fManager ? fManager->GetMssUrl() : 0; }
1077  void SetDataPoolUrl(const char *url) { if (fManager) fManager->SetMssUrl(url); }
1078 
1079  void SetPrintProgress(PrintProgress_t pp) { fPrintProgress = pp; }
1080 
1081  void SetProgressDialog(Bool_t on = kTRUE);
1082 
1083  // Enable the performance tree
1084  Int_t SavePerfTree(const char *pf = 0, const char *qref = 0);
1085  void SetPerfTree(const char *pf = "perftree.root", Bool_t withWrks = kFALSE);
1086 
1087  // Opening and managing PROOF connections
1088  static TProof *Open(const char *url = 0, const char *conffile = 0,
1089  const char *confdir = 0, Int_t loglevel = 0);
1090  static void LogViewer(const char *url = 0, Int_t sessionidx = 0);
1091  static TProofMgr *Mgr(const char *url);
1092  static void Reset(const char *url, Bool_t hard = kFALSE);
1093 
1094  static void AddEnvVar(const char *name, const char *value);
1095  static void DelEnvVar(const char *name);
1096  static const TList *GetEnvVars();
1097  static void ResetEnvVars();
1098 
1099  // Input/output list utilities
1100  static Int_t GetParameter(TCollection *c, const char *par, TString &value);
1101  static Int_t GetParameter(TCollection *c, const char *par, Int_t &value);
1102  static Int_t GetParameter(TCollection *c, const char *par, Long_t &value);
1103  static Int_t GetParameter(TCollection *c, const char *par, Long64_t &value);
1104  static Int_t GetParameter(TCollection *c, const char *par, Double_t &value);
1105 
1106  ClassDef(TProof,0) //PROOF control class
1107 };
1108 
1109 // Global object with default PROOF session
1111 
1112 #endif
Int_t fTotSessions
Definition: TProof.h:194
TList * GetListOfBadSlaves() const
Definition: TProof.h:692
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:10089
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
Definition: TProof.cxx:2000
std::map< TString, MD5Mod_t > FileMap_t
Definition: TProof.h:529
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail=kFALSE)
Analyze the received message.
Definition: TProof.cxx:3094
const Int_t kPROOF_Port
Definition: TProof.h:144
virtual void ShowData()
List contents of the data directory in the sandbox.
Definition: TProof.cxx:7383
void AddFeedback(const char *name)
Add object to feedback list.
Definition: TProof.cxx:10556
static void SystemCmd(const char *cmd, Int_t fdout)
Exec system command 'cmd'. If fdout > -1, append the output to fdout.
Definition: TProof.cxx:7722
Long64_t fTotal
Definition: TProof.h:186
void(* PrintProgress_t)(Long64_t tot, Long64_t proc, Float_t proctime, Long64_t bytes)
Definition: TProof.h:181
double par[1]
Definition: unuranDistr.cxx:38
void RecvLogFile(TSocket *s, Int_t size)
Receive the log file of the slave with socket s.
Definition: TProof.cxx:6274
void Interrupt(EUrgent type, ESlaves list=kActive)
Send interrupt to master or slave servers.
Definition: TProof.cxx:2271
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
Definition: TProof.cxx:9768
const Long64_t kPROOF_DynWrkPollInt_s
Definition: TProof.h:161
virtual void SetAlias(const char *alias="")
Set an alias for this session.
Definition: TProof.cxx:11150
TProofInterruptHandler & operator=(const TProofInterruptHandler &)
TString fPerfTree
Definition: TProof.h:588
const char * GetMsd() const
Definition: TProof.h:253
Int_t UnloadPackages()
Unload all packages.
Definition: TProof.cxx:8600
TString fPackageDir
Definition: TProof.h:560
const char *const kGUNZIP
Definition: TProof.h:170
void ActivateAsyncInput()
Activate the a-sync input handler.
Definition: TProof.cxx:4399
Bool_t IsWaiting() const
Definition: TProof.h:974
TMergerInfo & operator=(const TMergerInfo &)
void AskParallel()
Ask the for the number of parallel slaves.
Definition: TProof.cxx:2072
virtual TFileCollection * GetStagingStatusDataSet(const char *dataset)
Obtains a TFileCollection showing the staging status of the specified dataset.
Definition: TProof.cxx:11640
static Bool_t GetFileInCmd(const char *cmd, TString &fn)
Static method to extract the filename (if any) form a CINT command.
Definition: TProof.cxx:6482
Bool_t fIsWaiting
Definition: TProof.h:536
EProofDataSetCommands
Definition: TProof.h:446
Int_t ClearPackages()
Remove all packages.
Definition: TProof.cxx:7845
TMonitor * fAllUniqueMonitor
Definition: TProof.h:514
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:4510
long long Long64_t
Definition: RtypesCore.h:69
void Activate(TList *slaves=0)
Activate slave server list.
Definition: TProof.cxx:2384
void RemoveChain(TChain *chain)
Remove chain from data set.
Definition: TProof.cxx:10798
const char * GetDataDir() const
Definition: TProof.h:252
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise.
Definition: TProof.cxx:11435
EParCheckVersionOpt
Definition: TProof.h:482
void FinalizationDone()
Definition: TProof.h:729
virtual ~TProof()
Clean up PROOF environment.
Definition: TProof.cxx:636
Bool_t IsValid() const
Definition: TProof.h:970
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:10206
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package.
Definition: TProof.cxx:8632
void ClearData(UInt_t what=kUnregistered, const char *dsname=0)
Remove files for the data directory.
Definition: TProof.cxx:7399
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
Definition: TProof.cxx:13192
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:11274
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:6133
void SetRealTimeLog(Bool_t on=kTRUE)
Switch ON/OFF the real-time logging facility.
Definition: TProof.cxx:7083
TString fConfDir
Definition: TProof.h:600
EUrgent
Definition: TProof.h:416
ERunStatus
Definition: TProof.h:393
const char *const kCP
Definition: TProof.h:164
const char *const kLS
Definition: TProof.h:166
Int_t fOtherQueries
Definition: TProof.h:551
const char Int_t const char TProof Int_t const char const char * msd
Definition: TXSlave.cxx:46
Int_t Compare(const TObject *obj) const
Compare abstract method.
float Float_t
Definition: RtypesCore.h:53
Long64_t fBytesRead
Definition: TProof.h:188
Int_t fWorkersToMerge
Definition: TProof.h:582
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
Definition: TProof.cxx:10778
Int_t GetRemoteProtocol() const
Definition: TProof.h:946
Float_t fCpuTime
Definition: TProof.h:518
const char Option_t
Definition: RtypesCore.h:62
Bool_t fSync
Definition: TProof.h:534
virtual void Print(Option_t *option="") const
Print status of PROOF cluster.
Definition: TProof.cxx:4793
void SetMonitor(TMonitor *mon=0, Bool_t on=kTRUE)
Activate (on == TRUE) or deactivate (on == FALSE) all sockets monitored by 'mon'. ...
Definition: TProof.cxx:2403
void InterruptCurrentMonitor()
If in active in a monitor set ready state.
Definition: TProof.cxx:11902
TList * fWrksOutputReady
Definition: TProof.h:590
virtual Bool_t StartSlaves(Bool_t attach=kFALSE)
Start up PROOF slaves.
Definition: TProof.cxx:1654
virtual void ShowDataSetCache(const char *dataset=0)
Display the content of the dataset cache, if any (matching 'dataset', if defined).
Definition: TProof.cxx:11481
void ShowParameters(const char *wildcard="PROOF_*") const
Show the input list parameters specified by the wildcard.
Definition: TProof.cxx:10525
This class represents a WWW compatible URL.
Definition: TUrl.h:41
Bool_t fMergersSet
Definition: TProof.h:579
Int_t fMergedWorkers
Definition: TProof.h:279
#define assert(cond)
Definition: unittest.h:542
void SetupWorkersEnv(TList *wrks, Bool_t increasingpool=kFALSE)
Set up packages, loaded macros, include and lib paths ...
Definition: TProof.cxx:1528
TList * GetWorkers()
Definition: TProof.h:295
const char Int_t perf
Definition: TXSlave.cxx:46
void SetPlayer(TVirtualProofPlayer *player)
Set a new PROOF player.
Definition: TProof.cxx:10766
Definition: TDSet.h:153
TList * GetOutputNames()
FIXME: to be written.
Definition: TProof.cxx:10685
TProofMgr * GetManager()
Definition: TProof.h:1070
void TerminateWorker(TSlave *wrk)
Ask an active worker 'wrk' to terminate, i.e. to shutdown.
Definition: TProof.cxx:4686
#define BIT(n)
Definition: Rtypes.h:120
TSlave * GetMerger()
Definition: TProof.h:297
virtual void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique (user) file system image...
Definition: TProof.cxx:1907
Int_t FindNextFreeMerger()
Return a merger, which is both active and still accepts some workers to be assigned to it...
Definition: TProof.cxx:4293
void SetParameter(const char *par, const char *value)
Set input list parameter.
Definition: TProof.cxx:10389
const char *const kPROOF_WorkDir
Definition: TProof.h:147
static const TList * GetEnvVars()
Get environemnt variables.
Definition: TProof.cxx:12318
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:11504
ERunStatus GetRunStatus() const
Definition: TProof.h:976
TList * fAllUniqueSlaves
Definition: TProof.h:510
TList * GetOutputList()
Get list with all object created during processing (see Process()).
Definition: TProof.cxx:10375
Int_t DisablePackage(const char *package)
Remove a specific package.
Definition: TProof.cxx:7890
TString fImage
Definition: TProof.h:601
Int_t Broadcast(Int_t kind, TList *slaves)
Definition: TProof.h:668
This is the ROOT implementation of the Qt object communication mechanism (see also http://www...
Definition: TQObject.h:53
This class implements a mutex interface.
Definition: TVirtualMutex.h:34
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:13149
Int_t BuildPackage(const char *package, EBuildPackageOpt opt=kBuildAll, Int_t chkveropt=kCheckROOT, TList *workers=0)
Build specified package.
Definition: TProof.cxx:8033
Int_t GetStatus() const
Definition: TProof.h:948
TSlave * FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
Definition: TProof.cxx:1886
TString fLogFileName
Definition: TProof.h:539
const char * GetConfFile() const
Definition: TProof.h:938
Int_t fPerfIndex
Definition: TProof.h:243
Class supporting a collection of lines with C++ code.
Definition: TMacro.h:33
Float_t fEvtRateI
Definition: TProof.h:191
const char * GetOrdinal() const
Definition: TProof.h:255
TList * fQueries
Definition: TProof.h:550
Basic string class.
Definition: TString.h:137
const char * GetSessionTag() const
Definition: TProof.h:942
void SetDSet(TDSet *dset)
Definition: TProof.h:772
TString fGroup
Definition: TProof.h:496
TString fDataDir
Definition: TProof.h:242
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
Definition: TProof.h:968
virtual void SaveWorkerInfo()
Save information about the worker set in the file .workers in the working dir.
Definition: TProof.cxx:12375
TAlienJobStatus * status
Definition: TAlienJob.cxx:51
int Int_t
Definition: RtypesCore.h:41
TProofInputHandler & operator=(const TProofInputHandler &)
bool Bool_t
Definition: RtypesCore.h:59
void RemoveFeedback(const char *name)
Remove object from feedback list.
Definition: TProof.cxx:10567
TList * fUniqueSlaves
Definition: TProof.h:509
void SetProgressDialog(Bool_t on=kTRUE)
Enable/Disable the graphic progress dialog.
Definition: TProof.cxx:13077
TVirtualMutex * fCloseMutex
Definition: TProof.h:573
const Bool_t kFALSE
Definition: Rtypes.h:92
void LogMessage(const char *msg, Bool_t all)
Log a message into the appropriate window by emitting a signal.
Definition: TProof.cxx:6401
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
Definition: TProof.cxx:6094
Bool_t IsProofd() const
Definition: TProof.h:967
TList * fWaitingSlaves
Definition: TProof.h:549
Int_t Broadcast(const TMessage &mess, TList *slaves)
Broadcast a message to all slaves in the specified list.
Definition: TProof.cxx:2470
const char *const kRM
Definition: TProof.h:165
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves.
Definition: TProof.cxx:2009
void ShowLog(Int_t qry=-1)
Display on screen the content of the temporary log file.
Definition: TProof.cxx:10938
const char *const kPROOF_PackageLockFile
Definition: TProof.h:155
TMacro * GetMacroLog()
Definition: TProof.h:1052
void SetMaxDrawQueries(Int_t max)
Set max number of draw queries whose results are saved.
Definition: TProof.cxx:2110
TSlave * fMerger
Definition: TProof.h:273
TProofInterruptHandler(const TProofInterruptHandler &)
STL namespace.
void ResetMergers()
Definition: TProof.h:726
static TPluginHandler * fgLogViewer
Definition: TProof.h:592
Float_t fRealTime
Definition: TProof.h:517
TString fHostName
Definition: TProof.h:240
Bool_t Notify()
Handle input.
Definition: TProof.cxx:149
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:11956
Bool_t IsEqual(const TObject *obj) const
Used to compare slaveinfos by ordinal.
Definition: TProof.cxx:191
Int_t fWorkersToMerge
Definition: TProof.h:277
void PutLog(TQueryResult *qr)
Display log of query pq into the log window frame.
Definition: TProof.cxx:10888
Int_t GetWorkersToMerge()
Definition: TProof.h:300
void CloseProgressDialog()
Close progress dialog.
Definition: TProof.cxx:9850
Bool_t IsSync() const
Definition: TProof.h:704
Int_t GetNumberOfQueries()
Number of queries processed by this session.
Definition: TProof.cxx:2100
void operator=(const TProof &)
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:9455
Long64_t GetBytesRead() const
Definition: TProof.h:962
TDSet * fDSet
Definition: TProof.h:531
virtual void ClearCache(const char *file=0)
Remove file from all file caches.
Definition: TProof.cxx:7701
void DisableGoAsyn()
Signal to disable related switches.
Definition: TProof.cxx:6246
Int_t fActWorkers
Definition: TProof.h:193
TList * fInputData
Definition: TProof.h:566
Int_t SendObject(const TObject *obj, ESlaves list=kActive)
Send object to master or slave servers.
Definition: TProof.cxx:7041
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
Definition: TProof.cxx:6745
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:2562
const char *const kPROOF_PackDownloadDir
Definition: TProof.h:150
void Reset(Int_t n=-1)
Definition: TProof.h:335
TVirtualProofPlayer * fPlayer
Definition: TProof.h:522
TList * fWorkers
Definition: TProof.h:282
const char * GetGroup() const
Definition: TProof.h:940
EQueryMode
Definition: TProof.h:372
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
Definition: TProof.cxx:12291
EUploadPackageOpt
Definition: TProof.h:389
Bool_t fMasterServ
Definition: TProof.h:597
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient=kFALSE)
Remove 'incpath' from the inc path search.
Definition: TProof.cxx:9534
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
Definition: TProof.cxx:13214
Bool_t fFinalizationRunning
Definition: TProof.h:585
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:6345
const char * Data() const
Definition: TString.h:349
Int_t GetMergedObjects()
Definition: TProof.h:302
TSignalHandler * fIntHandler
Definition: TProof.h:519
Int_t GetPort() const
Definition: TProof.h:945
Int_t fDrawQueries
Definition: TProof.h:552
TString fDataPoolUrl
Definition: TProof.h:616
void AddMergedObjects(Int_t objects)
Definition: TProof.h:305
TList * fChains
Definition: TProof.h:524
static struct mg_connection * fc(struct mg_context *ctx)
Definition: civetweb.c:839
TPluginHandler * fProgressDialog
Definition: TProof.h:520
TList * fBadSlaves
Definition: TProof.h:605
Int_t fLastAssignedMerger
Definition: TProof.h:583
Bool_t fSendGroupView
list returned by kPROOF_GETSLAVEINFO
Definition: TProof.h:502
virtual Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
Definition: TProof.cxx:11613
const char * Export(Bool_t &changed)
Definition: TProof.h:327
EProofWrkListAction
Definition: TProof.h:472
void StopProcess(Bool_t abort, Int_t timeout=-1)
Send STOPPROCESS message to master and workers.
Definition: TProof.cxx:6211
#define ClassDef(name, id)
Definition: Rtypes.h:254
void UpdateDialog()
Final update of the progress dialog.
Definition: TProof.cxx:4342
TList * fEnabledPackagesOnClient
Definition: TProof.h:563
THashList * fGlobalPackageDirList
Definition: TProof.h:561
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
Definition: THashList.h:36
const char * ord
Definition: TXSlave.cxx:46
EProofCacheCommands
Definition: TProof.h:423
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:1848
This code implements the MD5 message-digest algorithm.
Definition: TMD5.h:46
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
void SetLogLevel(Int_t level, UInt_t mask=TProofDebug::kAll)
Set server logging level.
Definition: TProof.cxx:7066
Int_t DownloadPackage(const char *par, const char *dstdir=0)
Download a PROOF archive (PAR file) from the master package repository.
Definition: TProof.cxx:8791
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
Definition: TProof.cxx:6106
void DeActivateAsyncInput()
De-activate a-sync input handler.
Definition: TProof.cxx:4412
const char *const kPROOF_QueryDir
Definition: TProof.h:151
TString fOrdinal
Definition: TProof.h:239
virtual void ShowCache(Bool_t all=kFALSE)
List contents of file cache.
Definition: TProof.cxx:7678
Int_t fRedirectNext
Definition: TProof.h:586
const char *const kPROOF_WorkerIdleTO
Definition: TProof.h:158
Int_t BuildPackageOnClient(const char *package, Int_t opt=0, TString *path=0, Int_t chkveropt=kCheckROOT)
Build specified package on the client.
Definition: TProof.cxx:8123
ClassDef(TProofProgressInfo, 1)
void SetInputDataFile(const char *datafile)
Set the file to be used to optimally distribute the input data objects.
Definition: TProof.cxx:10152
TProofInterruptHandler(TProof *p)
Definition: TProof.h:215
void ShowDataSet(const char *dataset="", const char *opt="filter:SsCc")
display meta-info for given dataset usi
Definition: TProof.cxx:11544
TVirtualProofPlayer * GetPlayer() const
Definition: TProof.h:751
const char * GetMaster() const
Definition: TProof.h:936
Int_t LoadPackageOnClient(const char *package, TList *loadopts=0)
Load specified package in the client.
Definition: TProof.cxx:8370
TProofLockPath * fPackageLock
Definition: TProof.h:562
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:2664
static void LogViewer(const char *url=0, Int_t sessionidx=0)
Start the log viewer window usign the plugin manager.
Definition: TProof.cxx:13038
void Deactivate()
Definition: TProof.h:310
void ResetMergePrg()
Reset the merge progress notificator.
Definition: TProof.cxx:2460
virtual TMap * GetDataSets(const char *uri="", const char *optStr="")
Lists all datasets that match given uri.
Definition: TProof.cxx:11376
Int_t GoMoreParallel(Int_t nWorkersToAdd)
Add nWorkersToAdd workers to current list of workers.
Definition: TProof.cxx:7157
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:734
EProofShowQuotaOpt
Definition: TProof.h:487
virtual void ShowDataSets(const char *uri="", const char *optStr="")
Shows datasets in locations that match the uri.
Definition: TProof.cxx:11413
TString fConfFile
Definition: TProof.h:599
virtual Int_t PollForNewWorkers()
Asks the PROOF Serv for new workers in Dynamic Startup mode and activates them.
Definition: TProof.cxx:2959
ESlaveStatus fStatus
Definition: TProof.h:245
void ShowFeedback() const
Show items in feedback list.
Definition: TProof.cxx:10587
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:1870
void ClearDataProgress(Int_t r, Int_t t)
Progress bar for clear data.
Definition: TProof.cxx:7657
const char * GetUser() const
Definition: TProof.h:939
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'...
Definition: TProof.cxx:2143
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:12150
Bool_t IsParallel() const
Definition: TProof.h:972
TList * fSlaves
Definition: TProof.h:603
Int_t fNotIdle
Definition: TProof.h:533
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:11202
TList * GetListOfInactiveSlaves() const
Definition: TProof.h:690
TProofMergePrg()
Definition: TProof.h:325
Int_t fMergedObjects
Definition: TProof.h:275
Int_t fNWrks
Definition: TProof.h:321
TList * fInactiveSlaves
Definition: TProof.h:508
A container class for query results.
Definition: TQueryResult.h:44
TList * GetQueryResults()
Return pointer to the list of query results in the player.
Definition: TProof.cxx:2134
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:11920
PrintProgress_t fPrintProgress
Definition: TProof.h:571
Int_t fCollectTimeout
Definition: TProof.h:614
Bool_t IsSortable() const
Definition: TProof.h:262
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
Definition: TProof.cxx:2316
Long_t fModtime
Definition: TProof.h:527
const char *const kPROOF_DataDir
Definition: TProof.h:153
TProofMergePrg fMergePrg
Definition: TProof.h:547
static TList * fgProofEnvList
Definition: TProof.h:576
virtual const char * GetMssUrl(Bool_t=kFALSE)
Definition: TProofMgr.h:97
void HandleLibIncPath(const char *what, Bool_t add, const char *dirs)
Handle lib, inc search paths modification request.
Definition: TProof.cxx:9565
virtual TList * GetListOfQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition: TProof.cxx:2083
char * out
Definition: TBase64.cxx:29
void SetManager(TProofMgr *mgr)
Set manager and schedule its destruction after this for clean operations.
Definition: TProof.cxx:1301
Bool_t IsLite() const
Definition: TProof.h:966
TObject * GetParameter(const char *par) const
Get specified parameter.
Definition: TProof.cxx:10485
Float_t fProcTime
Definition: TProof.h:190
void ParseConfigField(const char *config)
The config file field may contain special instructions which need to be parsed at the beginning...
Definition: TProof.cxx:1047
Bool_t fIsPollingWorkers
Definition: TProof.h:503
TProof()
Protected constructor to be used by classes deriving from TProof (they have to call Init themselves a...
Definition: TProof.cxx:493
A doubly linked list.
Definition: TList.h:47
static const char * what
Definition: stlLoader.cc:6
Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt opt, TMD5 *md5)
Upload a package on the client in ~/.proof/packages.
Definition: TProof.cxx:9071
Bool_t fIsActive
Definition: TProof.h:283
void SetDataPoolUrl(const char *url)
Definition: TProof.h:1077
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
Definition: TProof.cxx:6079
Bool_t fRedirLog
Definition: TProof.h:538
virtual void SetMssUrl(const char *mss)
Definition: TProofMgr.h:115
void AddChain(TChain *chain)
Add chain to data set.
Definition: TProof.cxx:10790
TMonitor * fUniqueMonitor
Definition: TProof.h:513
void SetMergedWorker()
Increase number of already merged workers by 1.
Definition: TProof.cxx:278
const char *const kPROOF_ConfFile
Definition: TProof.h:145
Int_t RestoreActiveList()
Restore saved list of active workers.
Definition: TProof.cxx:12124
FileMap_t fFileMap
Definition: TProof.h:530
Int_t UnloadPackageOnClient(const char *package)
Unload a specific package on the client.
Definition: TProof.cxx:8565
void cd(Int_t id=-1)
Set session with 'id' the default one.
Definition: TProof.cxx:11063
const char *const kPROOF_QueryLockFile
Definition: TProof.h:156
Int_t Remove(Int_t query, Bool_t all=kFALSE)
Send remove request for the qry-th query in fQueries.
Definition: TProof.cxx:6000
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file).
Definition: TProof.cxx:8898
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
Definition: TProof.cxx:1982
TMonitor * fAllMonitor
Definition: TProof.h:606
Int_t GetPort() const
Definition: TUrl.h:87
const char Int_t const char TProof Int_t const char * workdir
Definition: TXSlave.cxx:46
Int_t Archive(Int_t query, const char *url)
Send archive request for the qry-th query in fQueries.
Definition: TProof.cxx:6044
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:41
void InitMembers()
Default initializations.
Definition: TProof.cxx:507
static void Reset(const char *url, Bool_t hard=kFALSE)
Wrapper around TProofMgr::Reset(...).
Definition: TProof.cxx:12303
Int_t fLogLevel
Definition: TProof.h:497
TProofMgr * fManager
Definition: TProof.h:618
void DeleteDrawFeedback(TDrawFeedback *f)
Delete draw feedback object.
Definition: TProof.cxx:10677
const char *const kPROOF_TerminateWorker
Definition: TProof.h:157
TList * fActiveSlaves
Definition: TProof.h:505
void QueryResultReady(const char *ref)
Notify availability of a query result.
Definition: TProof.cxx:9936
Bool_t fSaveLogToMacro
Definition: TProof.h:544
void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st)
Send or notify data set status.
Definition: TProof.cxx:9903
Bool_t fValid
Definition: TProof.h:492
Bool_t fDataReady
Definition: TProof.h:607
Float_t fInitTime
Definition: TProof.h:189
void DecreaseNWrks()
Definition: TProof.h:332
void Touch()
Ping PROOF slaves. Returns the number of slaves that responded.
Definition: TProof.cxx:4772
ROOT::R::TRInterface & r
Definition: Object.C:4
Int_t DisablePackages()
Remove all packages.
Definition: TProof.cxx:7982
SysInfo_t fSysInfo
Definition: TProof.h:244
Double_t length(const TVector2 &v)
Definition: CsgOps.cxx:347
virtual Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
Definition: TProof.cxx:11587
TString fWorkDir
Definition: TProof.h:495
void SetPrintProgress(PrintProgress_t pp)
Definition: TProof.h:1079
ERunStatus fRunStatus
Definition: TProof.h:535
Int_t GetQueryReference(Int_t qry, TString &ref)
Get reference for the qry-th query in fQueries (as displayed by ShowQueries).
Definition: TProof.cxx:5844
const char *const kPROOF_DataSetDir
Definition: TProof.h:152
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:11876
TList * GetListOfSlaves() const
Definition: TProof.h:689
TMonitor * fCurrentMonitor
Definition: TProof.h:515
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list.
Definition: TProof.cxx:2538
const char * GetDataPoolUrl() const
Definition: TProof.h:1076
Int_t GetLogLevel() const
Definition: TProof.h:949
void ShowPackages(Bool_t all=kFALSE, Bool_t redirlog=kFALSE)
List contents of package directory.
Definition: TProof.cxx:7757
const char *const kPROOF_ConfDir
Definition: TProof.h:146
void SaveActiveList()
Save current list of active workers.
Definition: TProof.cxx:12109
TPluginHandler * GetProgressDialog() const
Definition: TProof.h:777
Int_t fSeqNum
Definition: TProof.h:554
Collection abstract base class.
Definition: TCollection.h:48
void SetActive(Bool_t=kTRUE)
Definition: TProof.h:1021
TList * GetLoadedMacros() const
Definition: TProof.h:977
SysInfo_t GetSysInfo() const
Definition: TProof.h:256
virtual void ClearDataSetCache(const char *dataset=0)
Clear the content of the dataset cache, if any (matching 'dataset', if defined).
Definition: TProof.cxx:11463
void GetMaxQueries()
Get max number of queries whose full results are kept in the remote sandbox.
Definition: TProof.cxx:2123
virtual Int_t VerifyDataSet(const char *dataset, const char *optStr="")
Verify if all files in the specified dataset are available.
Definition: TProof.cxx:11697
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition: TString.cxx:2321
TList * fSlaveInfo
Definition: TProof.h:501
unsigned int UInt_t
Definition: RtypesCore.h:42
TMarker * m
Definition: textangle.C:8
const char *const kPROOF_CacheLockFile
Definition: TProof.h:154
TMacro fMacroLog
Definition: TProof.h:545
bool verbose
Int_t GetPort()
Definition: TProof.h:298
TObject * GetOutput(const char *name)
Get specified object that has been produced during the processing (see Process()).
Definition: TProof.cxx:10329
Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready)
See if the data is ready to be analyzed.
Definition: TProof.cxx:2235
const char * GetWorkDir() const
Definition: TProof.h:941
void IncreaseIdx()
Definition: TProof.h:334
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:7015
A TEventList object is a list of selected events (entries) in a TTree.
Definition: TEventList.h:33
const char *const kUNTAR2
Definition: TProof.h:168
virtual const char * GetName() const
Returns name of object.
Definition: TNamed.h:51
Long64_t fProcessed
Definition: TProof.h:187
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:12327
static void ResetEnvVars()
Clear the list of environment variables passed to proofserv on the master and slaves.
Definition: TProof.cxx:12363
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:6786
EProofClearData
Definition: TProof.h:408
virtual Long64_t Process(TDSet *dset, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Process a data set (TDSet) using the specified selector (.C) file or Tselector object Entry- or event...
Definition: TProof.cxx:5293
Bool_t fProgressDialogStarted
Definition: TProof.h:521
const Int_t kPROOF_Protocol
Definition: TProof.h:143
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
Definition: TProof.cxx:6447
TStopwatch fQuerySTW
Definition: TProof.h:624
TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers)
Definition: TProof.h:289
Bool_t fMergersByHost
Definition: TProof.h:580
TString fInputDataFile
Definition: TProof.h:567
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:6520
void SetStatus(ESlaveStatus stat)
Definition: TProof.h:257
Int_t RemoveWorkers(TList *wrks)
Used for shuting down the workres after a query is finished.
Definition: TProof.cxx:1591
FILE * fLogFileR
Definition: TProof.h:541
Int_t fProtocol
Definition: TProof.h:602
const char * GetUrl()
Definition: TProof.h:944
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:6881
Float_t fEffSessions
Definition: TProof.h:195
TString fExp
Definition: TProof.h:319
void RedirectWorker(TSocket *s, TSlave *sl, Int_t output_size)
Redirect output of worker sl to some merger.
Definition: TProof.cxx:4247
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:9707
Bool_t fLogToWindowOnly
Definition: TProof.h:542
void ReleaseMonitor(TMonitor *mon)
Release the used monitor to be used, making sure to delete newly created monitors.
Definition: TProof.cxx:2649
TList * fFeedback
Definition: TProof.h:523
void DataSetStatus(const char *msg, Bool_t status, Int_t done, Int_t total)
Send dataset preparation status.
Definition: TProof.cxx:9891
Int_t DisablePackageOnClient(const char *package)
Remove a specific package 'pack' from the client.
Definition: TProof.cxx:7947
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()).
Definition: TProof.cxx:10301
TSlaveInfo(const char *ordinal="", const char *host="", Int_t perfidx=0, const char *msd="", const char *datadir="")
Definition: TProof.h:247
TString fMsd
Definition: TProof.h:241
virtual void ValidateDSet(TDSet *dset)
Validate a TDSet.
Definition: TProof.cxx:9947
Float_t fPrepTime
Definition: TProof.h:625
Int_t GetSeqNum() const
Definition: TProof.h:951
TList * fRunningDSets
Definition: TProof.h:612
TList * GetFeedbackList() const
Return feedback list.
Definition: TProof.cxx:10600
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
Definition: TUrl.cxx:385
TMacro * GetLastLog()
Fill a TMacro with the log lines since the last reading (fLogFileR) Return (TMacro *)0 if no line was...
Definition: TProof.cxx:10824
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
Definition: TProof.cxx:11748
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient=kFALSE)
Remove 'libpath' from the lib path search.
Definition: TProof.cxx:9500
Bool_t fDynamicStartup
Definition: TProof.h:620
void GoAsynchronous()
Send GOASYNC message to the master.
Definition: TProof.cxx:6254
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:10105
static unsigned int total
Int_t SendCommand(const char *cmd, ESlaves list=kActive)
Send command to be executed on the PROOF master and/or slaves.
Definition: TProof.cxx:6618
Int_t AssertPath(const char *path, Bool_t writable)
Make sure that 'path' exists; if 'writable' is kTRUE, make also sure that the path is writable...
Definition: TProof.cxx:1269
void Print(Option_t *option="") const
Print slave info.
Definition: TProof.cxx:205
Int_t LoadPackage(const char *package, Bool_t notOnClient=kFALSE, TList *loadopts=0, TList *workers=0)
Load specified package.
Definition: TProof.cxx:8318
long Long_t
Definition: RtypesCore.h:50
Float_t GetRealTime() const
Definition: TProof.h:963
TList * GetInputList()
Get input list.
Definition: TProof.cxx:10320
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
Definition: TProof.cxx:4927
Bool_t AreAllWorkersAssigned()
Return if the determined number of workers has been already assigned to this merger.
Definition: TProof.cxx:311
R__EXTERN TProof * gProof
Definition: TProof.h:1110
void SendLogToWindow(Bool_t mode)
Definition: TProof.h:1050
Bool_t fEndMaster
Definition: TProof.h:558
TList * GetListOfUniqueSlaves() const
Definition: TProof.h:691
void Close(Option_t *option="")
Close all open slave servers.
Definition: TProof.cxx:1792
TList * GetListOfActiveSlaves() const
Definition: TProof.h:758
void SetFeedback(TString &opt, TString &optfb, Int_t action)
Extract from opt in optfb information about wanted feedback settings.
Definition: TProof.cxx:5222
double f(double x)
const char *const kPROOF_InputDataFile
Definition: TProof.h:159
TDrawFeedback * CreateDrawFeedback()
Draw feedback creation proxy.
Definition: TProof.cxx:10661
ERegisterOpt
Definition: TProof.h:384
void SetSysInfo(SysInfo_t si)
Setter for fSysInfo.
Definition: TProof.cxx:248
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
Definition: TProof.cxx:10500
Int_t SetParallelSilent(Int_t nodes, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition: TProof.cxx:7099
Long64_t fBytesRead
Definition: TProof.h:516
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:7260
Int_t fMergersCount
Definition: TProof.h:581
double Double_t
Definition: RtypesCore.h:55
ESlaves
Definition: TProof.h:595
static void * SlaveStartupThread(void *arg)
Int_t fPort
Definition: TProof.h:274
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:12981
Bool_t UseDynamicStartup() const
Definition: TProof.h:954
void ClearInput()
Clear input object list.
Definition: TProof.cxx:10309
TList * fEnabledPackages
Definition: TProof.h:611
EStatusBits
Definition: TObject.h:76
Int_t GetNumberOfDrawQueries()
Definition: TProof.h:1012
void Feedback(TList *objs)
Get list of feedback objects.
Definition: TProof.cxx:9835
TList * fNonUniqueMasters
Definition: TProof.h:511
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition: TMap.h:44
int type
Definition: TGX11.cxx:120
TList * fRecvMessages
Definition: TProof.h:500
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:10179
TList * fEnabledPackagesOnCluster
Definition: TProof.h:564
Definition: TProof.h:339
void Detach(Option_t *opt="")
Detach this instance to its proofserv.
Definition: TProof.cxx:11085
int nentries
Definition: THbookFile.cxx:89
const char *const kPROOF_MissingFiles
Definition: TProof.h:160
void SetNWrks(Int_t n)
Definition: TProof.h:336
Bool_t IsMaster() const
Definition: TProof.h:969
EBuildPackageOpt
Definition: TProof.h:476
void SetRunStatus(ERunStatus rst)
Definition: TProof.h:707
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
Definition: TProof.cxx:10609
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:13090
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:1020
void ShowQueries(Option_t *opt="")
Ask the master for the list of queries.
Definition: TProof.cxx:2160
Int_t AddWorkers(TList *wrks)
Works on the master node only.
Definition: TProof.cxx:1320
Bool_t AreAllWorkersMerged()
Return if merger has already merged all workers, i.e. if it has finished its merging job...
Definition: TProof.cxx:303
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
Definition: TProof.cxx:5870
EQueryMode fQueryMode
Definition: TProof.h:619
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Definition: vector.h:440
#define name(a, b)
Definition: linkTestLib0.cpp:5
const char * GetName() const
Returns name of object.
Definition: TProof.h:254
TString Getenv(const char *env, const char *ord="0")
Get value of environment variable 'env' on node 'ord'.
Definition: TProof.cxx:6631
Int_t UnloadPackage(const char *package)
Unload specified package.
Definition: TProof.cxx:8530
EUploadOpt
Definition: TProof.h:376
FILE * fLogFileW
Definition: TProof.h:540
Mother of all ROOT objects.
Definition: TObject.h:58
Float_t GetCpuTime() const
Definition: TProof.h:964
#define R__EXTERN
Definition: DllImport.h:27
typedef void((*Func_t)())
TSelector * fSelector
Definition: TProof.h:622
void CleanGDirectory(TList *ol)
Remove links to objects in list 'ol' from gDirectory.
Definition: TProof.cxx:3035
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
Definition: TProof.cxx:1973
void ResetProgressDialogStatus()
Definition: TProof.h:1054
TList * GetListOfEnabledPackages()
Get from the master the list of names of the packages enabled.
Definition: TProof.cxx:9691
TString fActiveSlavesSaved
Definition: TProof.h:506
TProofInputHandler(const TProofInputHandler &)
Bool_t SendingLogToWindow() const
Definition: TProof.h:1049
TMergerInfo(const TMergerInfo &)
void ShowEnabledPackages(Bool_t all=kFALSE)
List which packages are enabled.
Definition: TProof.cxx:7821
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:6652
Bool_t IsIdle() const
Definition: TProof.h:973
ESlaveStatus
Definition: TProof.h:237
Bool_t IsTty() const
Definition: TProof.h:971
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:11251
Int_t fLastNWrks
Definition: TProof.h:322
static TList * GetDataSetSrvMaps(const TString &srvmaps)
const char * GetConfDir() const
Definition: TProof.h:937
Class that contains a list of TFileInfo's and accumulated meta data information about its entries...
TMap * GetDataSetQuota(const char *optStr="")
returns a map of the quotas of all groups
Definition: TProof.cxx:11843
Int_t GetActiveMergersCount()
Get the active mergers count.
Definition: TProof.cxx:4425
TProofOutputList fOutputList
Definition: TProof.h:569
Int_t Ping()
Ping PROOF. Returns 1 if master server responded.
Definition: TProof.cxx:4734
Int_t GetSessionID() const
Definition: TProof.h:952
static char fgCr[4]
Definition: TProof.h:323
Int_t fSessionID
Definition: TProof.h:556
A chain is a collection of files containg TTree objects.
Definition: TChain.h:35
ESubMerger
Definition: TProof.h:399
void AskStatistics()
Ask the for the statistics of the slaves.
Definition: TProof.cxx:2017
const char *const kUNTAR
Definition: TProof.h:167
const char *const kUNTAR3
Definition: TProof.h:169
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
Definition: TProof.cxx:1991
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:12879
Int_t fStatus
Definition: TProof.h:498
void ClearFeedback()
Clear feedback list.
Definition: TProof.cxx:10579
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
Definition: TProof.cxx:7127
void AddWorker(TSlave *sl)
Add new worker to the list of workers to be merged by this merger.
Definition: TProof.cxx:289
ClassImp(TSlaveInfo) Int_t TSlaveInfo const TSlaveInfo * si
Used to sort slaveinfos by ordinal.
Definition: TProof.cxx:167
Int_t GetClientProtocol() const
Definition: TProof.h:947
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:9410
TList * GetListOfPackages()
Get from the master the list of names of the packages available.
Definition: TProof.cxx:9675
Bool_t IsActive()
Definition: TProof.h:311
TList * fAvailablePackages
Definition: TProof.h:610
Int_t fCheckFileStatus
Definition: TProof.h:499
A TTree object has a header with a name and a title.
Definition: TTree.h:94
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)
Set draw feedback option.
Definition: TProof.cxx:10669
Long64_t fTotalBytes
Definition: TProof.h:609
Float_t fMBRateI
Definition: TProof.h:192
Int_t SendInitialState()
Transfer the initial (i.e.
Definition: TProof.cxx:6761
Int_t Retrieve(Int_t query, const char *path=0)
Send retrieve request for the qry-th query in fQueries.
Definition: TProof.cxx:5935
TProofMgr::EServType fServType
Definition: TProof.h:617
TList * GetEnabledPackages() const
Definition: TProof.h:770
TList * fTerminatedSlaveInfos
Definition: TProof.h:604
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:2446
virtual ~TMergerInfo()
void GetStatistics(Bool_t verbose=kFALSE)
Get statistics about CPU time, real time and bytes read.
Definition: TProof.cxx:2030
TProof * fProof
Definition: TProof.h:224
const char * GetImage() const
Definition: TProof.h:943
TList * FindDataSets(const char *searchString, const char *optStr="")
Find datasets, returns in a TList all found datasets.
Definition: TProof.cxx:11577
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:7636
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr="filter:SsCc")
Like GetStagingStatusDataSet, but displays results immediately.
Definition: TProof.cxx:11683
TList * fLoadedMacros
Definition: TProof.h:575
virtual Int_t RemoveDataSet(const char *dataset, const char *optStr="")
Remove the specified dataset from the PROOF cluster.
Definition: TProof.cxx:11558
void AskForOutput(TSlave *sl)
Master asks for output from worker sl.
Definition: TProof.cxx:4323
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:9198
Definition: TSlave.h:50
virtual Int_t SetDataSetTreeName(const char *dataset, const char *treename)
Set/Change the name of the default tree.
Definition: TProof.cxx:11333
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
Definition: TSelector.h:39
const Bool_t kTRUE
Definition: Rtypes.h:91
Long64_t fBytesReady
Definition: TProof.h:608
void GetLog(Int_t start=-1, Int_t end=-1)
Ask for remote logs in the range [start, end].
Definition: TProof.cxx:10807
void ResetProgressDialog(const char *sel, Int_t sz, Long64_t fst, Long64_t ent)
Reset progress dialog.
Definition: TProof.cxx:9866
Int_t ClearPackage(const char *package)
Remove a specific package.
Definition: TProof.cxx:7862
TObject * obj
Int_t SendPrint(Option_t *option="")
Send print command to master server.
Definition: TProof.cxx:7055
TString fMaster
Definition: TProof.h:494
Bool_t fTty
Definition: TProof.h:493
float value
Definition: math.cpp:443
void StartupMessage(const char *msg, Bool_t status, Int_t done, Int_t total)
Send startup message.
Definition: TProof.cxx:9879
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:11937
TList * fMergers
Definition: TProof.h:584
TUrl fUrl
Definition: TProof.h:598
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:196
static int64_t push(FILE *fp, SOCKET sock, SSL *ssl, const char *buf, int64_t len)
Definition: civetweb.c:1917
Int_t GetMergedWorkers()
Definition: TProof.h:301
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
Definition: TProof.cxx:2299
const Int_t n
Definition: legend1.C:16
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:12349
TMonitor * fActiveMonitor
Definition: TProof.h:512
Int_t fIdx
Definition: TProof.h:320
const char * GetUser() const
Definition: TUrl.h:74
Bool_t Notify()
Notify when signal occurs.
TSocket * fSocket
Definition: TProof.h:223
void Browse(TBrowser *b)
Build the PROOF's structure in the browser.
Definition: TProof.cxx:10746
virtual ~TProofProgressInfo()
Definition: TProof.h:203
friend class TPacketizerDev
Definition: TProof.h:342
Int_t CollectInputFrom(TSocket *s, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect and analyze available input from socket s.
Definition: TProof.cxx:3049
ESendFileOpt
Definition: TProof.h:464
Long64_t fLastPollWorkers_s
Definition: TProof.h:504
Bool_t IsEndMaster() const
Definition: TProof.h:699
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:2605
Int_t fMaxDrawQueries
Definition: TProof.h:553
Int_t Broadcast(Int_t kind, ESlaves list=kActive)
Definition: TProof.h:669
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
Definition: TProof.cxx:12948
void HandleSubmerger(TMessage *mess, TSlave *sl)
Process a message of type kPROOF_SUBMERGER.
Definition: TProof.cxx:4003
const char Int_t const char * image
Definition: TXSlave.cxx:46
void IncreaseNWrks()
Definition: TProof.h:333
const char *const kPROOF_CacheDir
Definition: TProof.h:148
void SetOrdinal(const char *ord)
Definition: TProof.h:259
const char *const kPROOF_PackDir
Definition: TProof.h:149
Stopwatch class.
Definition: TStopwatch.h:30
Bool_t ReadNotify()
Notify when something can be read from the descriptor associated with this handler.
Definition: TProof.h:231
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:12582
Bool_t CreateMerger(TSlave *sl, Int_t port)
Create a new merger.
Definition: TProof.cxx:4443