94 "Config files",
"*.conf",
100 "Package files",
"*.par",
106 "C files",
"*.[C|c]*",
117 "PROOF_ProcTimeHist",
201 fNumPort(0), fLogLevel(0), fTxtConfig(0), fTxtUsrName(0), fSync(0),
202 fViewer(0), fBtnAdd(0), fBtnConnect(0)
285 "OnBtnAddClicked()");
289 "OnBtnConnectClicked()");
293 "OnConfigFileClicked()");
296 "SettingsChanged()");
298 "SettingsChanged()");
300 "SettingsChanged()");
302 "SettingsChanged()");
303 fSync->
Connect(
"Clicked()",
"TSessionServerFrame",
this,
304 "SettingsChanged()");
306 "SettingsChanged()");
308 "SettingsChanged()");
310 "SettingsChanged()");
312 "SettingsChanged()");
384 "Deleting Local Sessions is not allowed !",
390 m.
Form(
"Are you sure to delete the server \"%s\"",
396 if (result ==
kMBOk) {
398 if (desc->fConnected && desc->fAttached && desc->fProof) {
399 desc->fProof->Detach(
"S");
464 "TSessionViewer",
fViewer,
"StartupMessage(char *,Bool_t,Int_t,Int_t)");
468 if (address ==
"lite://") {
474 url +=
"@"; url += address.
Data();
502 TIter nextp(sessions);
527 "Feedback(TList *objs)");
594 "Progress(Long64_t,Long64_t)");
597 "Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t)");
598 fViewer->
GetActDesc()->
fProof->
Connect(
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t,Int_t,Int_t,Float_t)",
600 "Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t,Int_t,Int_t,Float_t)");
603 "IndicateStop(Bool_t)");
605 "ResetProgressDialog(const char*,Int_t,Long64_t,Long64_t)",
607 "ResetProgressDialog(const char*,Int_t,Long64_t,Long64_t)");
616 "TSessionViewer",
fViewer,
"QueryResultReady(char *)");
631 Error(
"Submit",
"Enable package failed");
692 "At least one required field is empty !",
854 fCommandTxt(0), fCommandBuf(0), fInfoTextView(0), fClearCheck(0),
855 fBtnShowLog(0), fBtnNewQuery(0), fBtnGetQueries(0), fLBPackages(0),
856 fBtnAdd(0), fBtnRemove(0), fBtnUp(0), fBtnDown(0), fBtnShow(0),
857 fBtnShowEnabled(0), fChkMulti(0), fChkEnable(0), fBtnUpload(0),
858 fBtnEnable(0), fBtnClear(0), fBtnDisable(0), fDSetView(0), fDataSetTree(0),
859 fBtnUploadDSet(0), fBtnRemoveDSet(0), fBtnVerifyDSet(0), fBtnRefresh(0),
860 fTxtParallel(0),
fLogLevel(0), fApplyLogLevel(0), fApplyParallel(0),
905 for (i=0;i<17;i+=2) {
1154 "OnBtnShowLogClicked()");
1156 "OnBtnNewQueryClicked()");
1158 "OnBtnGetQueriesClicked()");
1161 "OnStartupEnable(Bool_t)");
1163 "OnMultipleSelection(Bool_t)");
1165 "OnBtnAddClicked()");
1167 "OnBtnRemoveClicked()");
1169 "OnBtnUpClicked()");
1171 "OnBtnDownClicked()");
1173 "OnApplyLogLevel()");
1175 "OnApplyParallel()");
1177 "OnUploadPackages()");
1179 "OnEnablePackages()");
1181 "OnDisablePackages()");
1183 "OnClearPackages()");
1185 "ShowEnabledPackages()");
1190 "OnBtnUploadDSet()");
1192 "OnBtnRemoveDSet()");
1194 "OnBtnVerifyDSet()");
1196 "UpdateListOfDataSets()");
1231 if (userGroup)
delete userGroup;
1245 buf.
Form(
"*** Connected to %s (parallel mode, %d workers) ***",
1249 buf.
Form(
"*** Connected to %s (sequential mode) ***",
1283 buf.
Form(
"*** Master server %s (parallel mode, %d workers) ***",
1287 buf.
Form(
"*** Master server %s (sequential mode) ***",
1350 TList *dsetlist = 0;
1355 TIter nextdset(dsetlist);
1356 while ((dsetname = (
TObjString *)nextdset())) {
1360 dsetname->
GetName(), dsetname);
1365 TIter nextdsetfile(dsetfilelist);
1366 while ((dsetfilename = (
TFileInfo *)nextdsetfile())) {
1371 dsetfilename, dseticon, dseticon);
1528 TIter next(&selected);
1529 while ((obj = next())) {
1532 Error(
"Submit",
"Upload package failed");
1537 dynamic_cast<TPackageDescription *>(o);
1565 TIter next(&selected);
1566 while ((obj = next())) {
1571 dynamic_cast<TPackageDescription *>(o);
1573 if (!package->fUploaded) {
1575 Error(
"Submit",
"Upload package failed");
1577 package->fUploaded =
kTRUE;
1584 Error(
"Submit",
"Enable package failed");
1586 package->fEnabled =
kTRUE;
1610 TIter next(&selected);
1611 while ((obj = next())) {
1614 Error(
"Submit",
"Clear package failed");
1619 dynamic_cast<TPackageDescription *>(o);
1622 package->fUploaded =
kFALSE;
1645 Error(
"Submit",
"Clear packages failed");
1673 package = new TPackageDescription;
1681 package->fId, package->fPathName,
1687 package = new TPackageDescription;
1695 package->fId, package->fPathName,
1741 if (pos <= 0)
return;
1743 package = (TPackageDescription *)fViewer->GetActDesc()->fPackages->At(pos);
1779 package = (TPackageDescription *)fViewer->GetActDesc()->fPackages->At(pos);
1859 TList *lqueries = 0;
1867 TIter nextp(lqueries);
1886 if (lquery->fReference.CompareTo(newquery->
fReference) == 0) {
1891 if (found)
continue;
1945 Error(
"ShowStatus",
"stdout/stderr redirection failed; skipping");
1952 Error(
"ShowStatus",
"stdout/stderr retore failed; skipping");
1969 Error(
"ShowStatus",
"stdout/stderr redirection failed; skipping");
1975 Error(
"ShowStatus",
"stdout/stderr retore failed; skipping");
2022 "Shutting down Local Sessions is not allowed !",
2032 m.
Form(
"Are you sure to shutdown the session \"%s\"",
2038 if (result !=
kMBOk)
2072 fTxtQueryName(0), fTxtChain(0), fTxtSelector(0), fTxtOptions(0),
2073 fNumEntries(0), fNumFirstEntry(0), fTxtParFile(0), fTxtEventList(0),
2074 fViewer(0), fQuery(0), fChain(0)
2114 btnTmp->
Connect(
"Clicked()",
"TEditQueryFrame",
this,
"OnBrowseChain()");
2125 btnTmp->
Connect(
"Clicked()",
"TEditQueryFrame",
this,
"OnBrowseSelector()");
2130 fBtnMore->
Connect(
"Clicked()",
"TEditQueryFrame",
this,
"OnNewQueryMore()");
2175 btnTmp->
Connect(
"Clicked()",
"TEditQueryFrame",
this,
"OnBrowseEventList()");
2186 "SettingsChanged()");
2188 "SettingsChanged()");
2190 "SettingsChanged()");
2192 "SettingsChanged()");
2194 "SettingsChanged()");
2196 "SettingsChanged()");
2198 "SettingsChanged()");
2222 dlg->
Connect(
"OnElementSelected(TObject *)",
"TEditQueryFrame",
2223 this,
"OnElementSelected(TObject *)");
2372 fBtnAbort(0), fBtnShowLog(0), fBtnRetrieve(0), fBtnSave(0), fInfoTextView(0),
2373 fModified(0), fFiles(0),
fFirst(0), fEntries(0), fPrevTotal(0),
2374 fPrevProcessed(0), fLabInfos(0), fLabStatus(0), fTotal(0), fRate(0),
2375 fStatus(kStopped), fTab(0), fFA(0), fFB(0), fFC(0), fFD(0), frmProg(0),
2376 fECanvas(0), fStatsCanvas(0),
fViewer(0), fDesc(0)
2453 " Estimated time left : 0 sec (--- events of --- processed) "),
2457 " Processing Rate : -- events/sec "),
2496 btntxt =
" Submit ";
2499 btntxt =
" Apply changes ";
2579 if (
TH1 *
h = dynamic_cast<TH1*>(o)) {
2581 h->SetBarWidth(0.75);
2582 h->SetBarOffset(0.125);
2587 else if (
TH2 *h2 = dynamic_cast<TH2*>(o)) {
2628 fTotal->
SetText(
" Estimated time left : 0 sec (0 events of 0 processed) ");
2647 buf.
Form(
"PROOF cluster : \"%s\" - %d worker nodes",
2653 buf.
Form(
" %d files, %lld events, starting event %lld",
2682 hh = (
UInt_t)(tt / 3600);
2684 ss = (
UInt_t)((tt % 3600) % 60);
2687 stm.
Form(
"%d h %d min %d sec", hh,
mm, ss);
2689 stm.
Form(
"%d min %d sec",
mm, ss);
2691 stm.
Form(
"%d sec", ss);
2692 if (processed == total) {
2696 hh = (
UInt_t)(tt / 3600);
2698 ss = (
UInt_t)((tt % 3600) % 60);
2701 stm.
Form(
"%d h %d min %d sec", hh,
mm, ss);
2703 stm.
Form(
"%d min %d sec",
mm, ss);
2705 stm.
Form(
"%d sec", ss);
2706 buf.
Form(
" Processed : %lld events in %s", total, stm.
Data());
2710 buf.
Form(
" Estimated time left : %s (%lld events of %lld processed) ",
2714 if (processed > 0 && (
Long64_t)tdiff > 0) {
2715 buf.
Form(
" Processing Rate : %.1f events/sec ",
2751 cproc =
" - ABORTED";
2755 cproc =
" - STOPPED";
2771 if (processed < 0) processed = 0;
2778 else if (status == -1 ) {
2779 fTotal->
SetText(
" Estimated time left : 0 sec (0 events of 0 processed) ");
2799 buf.
Form(
" %d files, %lld events, starting event %lld",
2806 if (processed > 0 && total > 0)
2827 hh = (
UInt_t)(tt / 3600);
2829 ss = (
UInt_t)((tt % 3600) % 60);
2837 if ((processed != total) && (status ==
kRunning)) {
2839 buf.
Form(
" Estimated time left : %s (%lld events of %lld processed) ",
2845 hh = (
UInt_t)(tt / 3600);
2847 ss = (
UInt_t)((tt % 3600) % 60);
2855 buf.
Form(
" Processed : %ld events in %s",
2860 if (processed > 0 && (
Long64_t)tdiff > 0) {
2861 buf.
Form(
" Processing Rate : %.1f events/sec ",
2875 if (aborted ==
kTRUE) {
2887 this,
"Progress(Long64_t,Long64_t)");
2889 this,
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t)");
2890 fViewer->
GetActDesc()->
fProof->
Disconnect(
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t,Int_t,Int_t,Float_t)",
2891 this,
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t,Int_t,Int_t,Float_t)");
2893 "IndicateStop(Bool_t)");
2904 fFiles = files > 0 ? files : 0;
2915 buf.
Form(
"%0d files, %0lld events, starting event %0lld",
2923 "TSessionQueryFrame",
this,
"Progress(Long64_t,Long64_t)");
2925 "TSessionQueryFrame",
this,
2926 "Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t)");
2928 "TSessionQueryFrame",
this,
"IndicateStop(Bool_t)");
2929 buf.
Form(
"PROOF cluster : \"%s\" - %d worker nodes",
2987 gROOT->SetInterrupt();
3073 gROOT->SetInterrupt();
3122 "Feedback(TList *objs)");
3159 Error(
"Submit",
"No TChain defined; skipping");
3205 "Only TChains are allowed in Local Session (no TDSet) !",
3210 Error(
"Submit",
"No TChain defined; skipping");
3233 if (desc != query)
return;
3335 const char *qst[] = {
"aborted ",
"submitted",
"running ",
3336 "stopped ",
"completed"};
3370 fTotal->
SetText(
" Estimated time left : 0 sec (0 events of 0 processed) ");
3385 buffer =
TString::Format(
"------------------------------------------------------\n");
3388 const char *fin = result->
IsFinalized() ?
"finalized" : qst[st];
3389 const char *arc = result->
IsArchived() ?
"(A)" :
"";
3396 buffer +=
TString::Format(
"------------------------------------------------------\n");
3403 buffer +=
TString::Format(
"------------------------------------------------------\n");
3411 buffer +=
TString::Format(
" Real time : %d sec (CPU time: %.1f sec)\n",
3416 if (result->
GetEntries() > -1 && elapsed > 0)
3419 buffer +=
TString::Format(
" Processed : %lld events (size: %.3f MBs)\n",
3431 Int_t dq = res.Index(
"queries");
3433 res.Remove(0,res.Index(
"queries"));
3434 res.Insert(0,
"<PROOF_SandBox>/");
3436 if (res.BeginsWith(
"-")) {
3438 "not available" :
"sent to client";
3441 if (res.Length() > 1) {
3442 buffer +=
TString::Format(
"------------------------------------------------------\n");
3449 buffer +=
TString::Format(
"------------------------------------------------------\n");
3466 buffer =
TString::Format(
" Processing Rate : %.1f events/sec ", rate);
3509 frmListView->
Connect(
"Clicked(TGLVEntry*, Int_t, Int_t, Int_t)",
3510 "TSessionOutputFrame",
this,
3511 "OnElementClicked(TGLVEntry* ,Int_t, Int_t, Int_t)");
3512 frmListView->
Connect(
"DoubleClicked(TGLVEntry*, Int_t, Int_t, Int_t)",
3513 "TSessionOutputFrame",
this,
3514 "OnElementDblClicked(TGLVEntry* ,Int_t, Int_t, Int_t)");
3524 if ((obj) && (btn ==3)) {
3544 if (act[0] ==
'!') {
3636 gSessionViewer =
this;
3654 gSessionViewer =
this;
3668 const char *fn = (filename && strlen(filename)) ? filename :
fConfigFile.
Data();
3720 localdesc->
fTag =
"";
3721 localdesc->
fName =
"Local";
3723 localdesc->
fPort = 0;
3752 litedesc->
fTag =
"";
3753 litedesc->
fName =
"PROOF Lite";
3755 litedesc->
fPort = 0;
3776 while ((er = (
TEnvRec*) next())) {
3778 if ((s = strstr(er->GetName(),
"SessionDescription."))) {
3786 if (name.
IsNull())
break;
3787 TString sessiontag = strtok(0,
";");
3788 TString address = strtok(0,
";");
3789 if (address.
IsNull())
break;
3790 TString port = strtok(0,
";");
3791 if (port.
IsNull())
break;
3792 TString loglevel = strtok(0,
";");
3793 if (loglevel.
IsNull())
break;
3794 TString configfile = strtok(0,
";");
3795 TString user = strtok(0,
";");
3796 if (user.
IsNull())
break;
3797 TString sync = strtok(0,
";");
3798 TString autoen = strtok(0,
";");
3802 proofDesc->
fTag = sessiontag.
Length() > 2 ? sessiontag.
Data() :
"";
3805 proofDesc->
fPort = atoi(port);
3831 if ((s = strstr(er->GetName(),
"QueryDescription."))) {
3839 TString status = strtok(!cnt ? v : 0,
";");
3840 if (status.
IsNull())
break;
3842 TString reference = strtok(0,
";");
3843 if (reference.
IsNull())
break;
3844 TString queryname = strtok(0,
";");
3845 if (queryname.
IsNull())
break;
3846 TString selector = strtok(0,
";");
3847 if (selector.
IsNull())
break;
3848 TString dset = strtok(0,
";");
3849 TString options = strtok(0,
";");
3850 TString eventlist = strtok(0,
";");
3851 TString nbfiles = strtok(0,
";");
3852 TString nbentries = strtok(0,
";");
3853 TString firstentry = strtok(0,
";");
3864 newquery->
fNbFiles = atoi(nbfiles);