172 fMonInfoRepo =
new std::map<UInt_t, MonitoredTFileInfo *>;
295 Error(
"TMonaLisaWriter",
296 "Disabling apmon monitoring since env variable APMON_CONFIG was not found and the monitoring server is not specified in the constructor!");
303 fApmon->setConfRecheck(
false);
304 fApmon->setJobMonitoring(
false);
307 }
catch (std::runtime_error &
e) {
308 Error(
"TMonaLisaWriter",
"Error initializing ApMon: %s",
e.what());
309 Error(
"TMonaLisaWriter",
"Disabling apmon.");
369 Info(
"Initialized for ML Server <%s> - Setting ClusterID <%s> JobID <%s> SubID <%s>\n",
410 Error(
"SendInfoStatus",
"Monitoring is not properly initialized!");
437 Error(
"TMonaLisaWriter",
438 "Monitoring initialization has failed - you can't send to MonaLisa!");
476 Error(
"SendInfoDescription",
477 "Monitoring is not properly initialized!");
504 Error(
"SendInfoTime",
"Monitoring is not properly initialized!");
541 Error(
"TMonaLisaWriter",
542 "Monitoring initialization has failed - you can't send to MonaLisa!");
579 Error(
"SendProcessingProgress",
580 "Monitoring is not properly initialized!");
672 Error(
"SendFileOpenProgress",
673 "Monitoring is not properly initialized!");
712 if (!file)
return kTRUE;
767 Error(
"SendFileCloseEvent",
768 "Monitoring is not properly initialized!");
843 mi->UpdateFileStatus(file);
869 Error(
"SendFileCheckpoint",
870 "Monitoring is not properly initialized!");
902 if (
mi)
mi->UpdateFileStatus(file);
972 if (
sum->fReadThroughput >= 0) {
979 if (
sum->fWriteThroughput >= 0 ) {
1004 Error(
"SendParameters",
"Monitoring is not properly initialized!");
1009 Error(
"SendParameters",
"No values in the value list!");
1041 Info(
"SendParameters",
"adding tag %s with val %f",
1053 Info(
"SendParameters",
"adding tag %s with text %s",
1065 Info(
"SendParameters",
"adding tag %s with text %s",
1074 if (!
strcmp(
monobj->ClassName(),
"TParameter<double>")) {
1078 Info(
"SendParameters",
"adding tag %s with val %f",
1086 if (!
strcmp(
monobj->ClassName(),
"TParameter<Long64_t>")) {
1090 Info(
"SendParameters",
"adding tag %s with val %lld",
1099 if (!
strcmp(
monobj->ClassName(),
"TParameter<long>")) {
1103 Info(
"SendParameters",
"adding tag %s with val %ld",
1112 if (!
strcmp(
monobj->ClassName(),
"TParameter<float>")) {
1116 Info(
"SendParameters",
"adding tag %s with val %f",
1129 Info(
"SendParameters",
"adding tag %s with val %d",
1144 Info(
"SendParameters",
"n: %d name: %s identifier %s ...,",
1172 std::cout <<
"Site (Farm) : " <<
fName << std::endl;
1173 std::cout <<
"JobId (Node) : " <<
fJobId << std::endl;
1174 std::cout <<
"SubJobId (Node) : " <<
fSubJobId << std::endl;
1175 std::cout <<
"HostName : " <<
fHostname << std::endl;
1176 std::cout <<
"Pid : " <<
fPid << std::endl;
1177 std::cout <<
"Inititialized : " <<
fInitialized << std::endl;
1178 std::cout <<
"Verbose : " <<
fVerbose << std::endl;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
R__EXTERN TSystem * gSystem
R__EXTERN TVirtualMonitoringWriter * gMonitoringWriter
Long64_t fLastBytesWritten
MonitoredTFileInfo(TFile *file, Double_t timenow)
void GetThroughputs(Long64_t &readthr, Long64_t &writethr, Double_t timenow, Double_t prectime)
void ResetFileStatus(Double_t timenow)
void UpdateFileStatus(TFile *file)
void ResetFileStatus(TFile *file, Double_t timenow)
Long64_t fTempWrittenBytes
void Update(MonitoredTFileInfo *mi, Double_t timenow, Double_t prectime)
Long64_t fWriteThroughput
MonitoredTFileSummary(TString &fileclassname)
const_iterator begin() const
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
static Long64_t GetFileCounter()
virtual Bool_t IsOpen() const
Returns kTRUE in case file is open and kFALSE if file is not open.
virtual Long64_t GetBytesRead() const
virtual Long64_t GetBytesWritten() const
Return the total number of bytes written so far to the file.
virtual const TUrl * GetEndpointUrl() const
const char * GetUser() const
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
void Clear(Option_t *option="") override
Remove all objects from the list.
void Add(TObject *obj) override
virtual Bool_t SendInfoTime()
Sends the current time to MonaLisa following the processing scheme <site> --> <jobid> --> 'time' = >u...
TStopwatch fFileStopwatch
TString fHostname
sub job id
TString fJobId
connection to MonaLisa
virtual Bool_t SendFileWriteProgress(TFile *file)
Int_t fPid
hostname of MonaLisa server
void Print(Option_t *option="") const
Print info about MonaLisa object.
virtual Bool_t SendFileReadProgress(TFile *file)
virtual Bool_t SendParameters(TList *valuelist, const char *identifier=0)
Send the parameters to MonaLisa.
std::map< UInt_t, MonitoredTFileInfo * > * fMonInfoRepo
virtual void SetLogLevel(const char *loglevel="WARNING")
Set MonaLisa log level.
virtual Bool_t SendProcessingProgress(Double_t nevent, Double_t nbytes, Bool_t force=kFALSE)
Send the procesing progress to MonaLisa.
void Init(const char *monserver, const char *montag, const char *monid, const char *monsubid, const char *option)
Creates a TMonaLisaWriter object to send monitoring information to a MonaLisa server using the MonaLi...
Int_t fReportInterval
repo to gather per-file-instance mon info;
virtual Bool_t SendProcessingStatus(const char *status, Bool_t restarttimer=kFALSE)
Send the procesing status 'status' to MonaLisa following the processing scheme: <site> --> <jobid> --...
TMonaLisaWriter(const TMonaLisaWriter &)
Bool_t SendFileCheckpoint(TFile *file)
Bool_t fInitialized
process id
virtual Bool_t SendFileCloseEvent(TFile *file)
Double_t fLastFCloseSendTime
virtual Bool_t SendInfoUser(const char *user=0)
Sends the <user> text to MonaLisa following the process scheme: <site> --> <jobid> --> 'user' = <user...
virtual ~TMonaLisaWriter()
Cleanup.
virtual Bool_t SendInfoStatus(const char *status)
Sends a <status> text to MonaLisa following the process scheme: <site> --> <jobid> --> 'status' = <st...
virtual Bool_t SendFileOpenProgress(TFile *file, TList *openphases, const char *openphasename, Bool_t forcesend=kFALSE)
Send the fileopen progress to MonaLisa.
virtual Bool_t SendInfoDescription(const char *jobtag)
Sends the description <jobtag> following the processing scheme: <site> --> <jobid> --> 'jobname' = <j...
The TNamed class is the base class for all named ROOT classes.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
const char * GetName() const override
Returns name of object.
virtual void SetName(const char *name)
Set the name of the TNamed.
Mother of all ROOT objects.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual UInt_t GetUniqueID() const
Return the unique object id.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
@ kHasUUID
if object has a TUUID (its fUniqueID=UUIDNumber)
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
Double_t CpuTime()
Stop the stopwatch (if it is running) and return the cputime (in seconds) passed between the start an...
void Continue()
Resume a stopped stopwatch.
const char * Data() const
virtual int GetPid()
Get process id.
virtual const char * Getenv(const char *env)
Get environment variable.
virtual int GetProcInfo(ProcInfo_t *info) const
Returns cpu and memory used by this process into the ProcInfo_t structure.
virtual const char * HostName()
Return the system's host name.
static uint64_t sum(uint64_t i)