Specialist execution class for DQM post-processing of histograms.
More...
|
def | __init__ (self, name='DQMPostProcess', trf=None, conf=None, inData=set(['HIST']), outData=set(['HIST']), exe='DQM_Tier0Wrapper_tf.py', exeArgs=[], memMonitor=True) |
|
def | preExecute (self, input=set(), output=set()) |
|
def | validate (self) |
|
def | exe (self) |
|
def | exe (self, value) |
|
def | exeArgs (self) |
|
def | exeArgs (self, value) |
|
def | execute (self) |
|
def | postExecute (self) |
|
def | inData (self) |
|
def | inData (self, value) |
|
def | outData (self) |
|
def | outData (self, value) |
|
def | myMerger (self) |
| Now define properties for these data members. More...
|
|
def | name (self) |
|
def | name (self, value) |
|
def | substep (self) |
|
def | trf (self) |
|
def | trf (self, value) |
|
def | inDataUpdate (self, value) |
|
def | outDataUpdate (self, value) |
|
def | input (self) |
|
def | output (self) |
|
def | extraMetadata (self) |
|
def | hasExecuted (self) |
|
def | rc (self) |
|
def | errMsg (self) |
|
def | validation (self) |
|
def | validation (self, value) |
|
def | hasValidated (self) |
|
def | isValidated (self) |
|
def | first (self) |
|
def | preExeStartTimes (self) |
|
def | exeStartTimes (self) |
|
def | exeStopTimes (self) |
|
def | valStartTimes (self) |
|
def | valStopTimes (self) |
|
def | preExeCpuTime (self) |
|
def | preExeWallTime (self) |
|
def | cpuTime (self) |
|
def | usrTime (self) |
|
def | sysTime (self) |
|
def | wallTime (self) |
|
def | memStats (self) |
|
def | memAnalysis (self) |
|
def | postExeCpuTime (self) |
|
def | postExeWallTime (self) |
|
def | validationCpuTime (self) |
|
def | validationWallTime (self) |
|
def | cpuTimeTotal (self) |
|
def | wallTimeTotal (self) |
|
def | eventCount (self) |
|
def | reSimEvent (self) |
|
def | athenaMP (self) |
|
def | dbMonitor (self) |
|
def | setPreExeStart (self) |
|
def | setValStart (self) |
|
def | doAll (self, input=set(), output=set()) |
| Convenience function. More...
|
|
Specialist execution class for DQM post-processing of histograms.
Definition at line 2029 of file trfExe.py.
◆ __init__()
def python.trfExe.DQMPostProcessExecutor.__init__ |
( |
|
self, |
|
|
|
name = 'DQMPostProcess' , |
|
|
|
trf = None , |
|
|
|
conf = None , |
|
|
|
inData = set(['HIST']) , |
|
|
|
outData = set(['HIST']) , |
|
|
|
exe = 'DQM_Tier0Wrapper_tf.py' , |
|
|
|
exeArgs = [] , |
|
|
|
memMonitor = True |
|
) |
| |
Reimplemented from python.trfExe.scriptExecutor.
Definition at line 2030 of file trfExe.py.
2030 def __init__(self, name='DQMPostProcess', trf=None, conf=None, inData=set([
'HIST']), outData=
set([
'HIST']),
2031 exe=
'DQM_Tier0Wrapper_tf.py', exeArgs = [], memMonitor =
True):
2033 self._histMergeList =
'HISTMergeList.txt'
2035 super(DQMPostProcessExecutor, self).
__init__(name=name, trf=trf, conf=conf, inData=inData, outData=outData, exe=exe,
2036 exeArgs=exeArgs, memMonitor=memMonitor)
◆ _buildStandardCommand()
def python.trfExe.scriptExecutor._buildStandardCommand |
( |
|
self | ) |
|
|
privateinherited |
Definition at line 706 of file trfExe.py.
706 def _buildStandardCommand(self):
708 self._cmd = [self.exe, ]
710 raise trfExceptions.TransformExecutionException(trfExit.nameToCode(
'TRF_EXEC_SETUP_FAIL'),
711 'No executor set in {0}'.
format(self.__class__.__name__))
712 for arg
in self.exeArgs:
713 if arg
in self.conf.argdict:
717 if isinstance(self.conf.argdict[arg].value, list):
718 self._cmd.
extend([
str(v)
for v
in self.conf.argdict[arg].value])
720 self._cmd.
append(
str(self.conf.argdict[arg].value))
◆ athenaMP()
def python.trfExe.transformExecutor.athenaMP |
( |
|
self | ) |
|
|
inherited |
Definition at line 452 of file trfExe.py.
453 return self._athenaMP
◆ cpuTime()
def python.trfExe.transformExecutor.cpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 366 of file trfExe.py.
367 if self._exeStart
and self._exeStop:
◆ cpuTimeTotal()
def python.trfExe.transformExecutor.cpuTimeTotal |
( |
|
self | ) |
|
|
inherited |
Definition at line 430 of file trfExe.py.
430 def cpuTimeTotal(self):
431 if self._preExeStart
and self._valStop:
432 return calcCpuTime(self._preExeStart, self._valStop)
◆ dbMonitor()
def python.trfExe.transformExecutor.dbMonitor |
( |
|
self | ) |
|
|
inherited |
Definition at line 456 of file trfExe.py.
457 return self._dbMonitor
◆ doAll()
def python.trfExe.transformExecutor.doAll |
( |
|
self, |
|
|
|
input = set() , |
|
|
|
output = set() |
|
) |
| |
|
inherited |
Convenience function.
Definition at line 499 of file trfExe.py.
499 def doAll(self, input=set(), output=
set()):
500 self.preExecute(input, output)
◆ errMsg()
def python.trfExe.transformExecutor.errMsg |
( |
|
self | ) |
|
|
inherited |
◆ eventCount()
def python.trfExe.transformExecutor.eventCount |
( |
|
self | ) |
|
|
inherited |
Definition at line 444 of file trfExe.py.
444 def eventCount(self):
445 return self._eventCount
◆ exe() [1/2]
def python.trfExe.scriptExecutor.exe |
( |
|
self | ) |
|
|
inherited |
◆ exe() [2/2]
def python.trfExe.scriptExecutor.exe |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 645 of file trfExe.py.
645 def exe(self, value):
647 self._extraMetadata[
'script'] = value
◆ exeArgs() [1/2]
def python.trfExe.scriptExecutor.exeArgs |
( |
|
self | ) |
|
|
inherited |
◆ exeArgs() [2/2]
def python.trfExe.scriptExecutor.exeArgs |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 654 of file trfExe.py.
654 def exeArgs(self, value):
655 self._exeArgs = value
◆ execute()
def python.trfExe.scriptExecutor.execute |
( |
|
self | ) |
|
|
inherited |
Reimplemented from python.trfExe.transformExecutor.
Reimplemented in python.trfExe.bsMergeExecutor, and python.trfExe.POOLMergeExecutor.
Definition at line 723 of file trfExe.py.
724 self._hasExecuted =
True
725 msg.info(
'Starting execution of {0} ({1})'.
format(self._name, self._cmd))
727 self._exeStart = os.times()
728 msg.debug(
'exeStart time is {0}'.
format(self._exeStart))
729 if (
'execOnly' in self.conf.argdict
and self.conf.argdict[
'execOnly']
is True):
730 msg.info(
'execOnly flag is set - execution will now switch, replacing the transform')
731 os.execvp(self._cmd[0], self._cmd)
733 encargs = {
'encoding' :
'utf8'}
738 if self._alreadyInContainer
and self._containerSetup
is not None:
739 msg.info(
"chdir /srv to launch a nested container for the substep")
741 p = subprocess.Popen(self._cmd, shell =
False, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, bufsize = 1, **encargs)
743 if self._alreadyInContainer
and self._containerSetup
is not None:
744 msg.info(
"chdir {} after launching the nested container".
format(self._workdir))
745 os.chdir(self._workdir)
749 self._memSummaryFile =
'prmon.summary.' + self._name +
'.json'
750 self._memFullFile =
'prmon.full.' + self._name
751 memMonitorCommand = [
'prmon',
'--pid',
str(p.pid),
'--filename',
'prmon.full.' + self._name,
752 '--json-summary', self._memSummaryFile,
'--log-filename',
'prmon.' + self._name +
'.log',
754 mem_proc = subprocess.Popen(memMonitorCommand, shell =
False, close_fds=
True, **encargs)
756 except Exception
as e:
757 msg.warning(
'Failed to spawn memory monitor for {0}: {1}'.
format(self._name, e))
758 self._memMonitor =
False
760 while p.poll()
is None:
761 line = p.stdout.readline()
763 self._echologger.
info(line.rstrip())
765 for line
in p.stdout:
766 self._echologger.
info(line.rstrip())
768 self._rc = p.returncode
769 msg.info(
'%s executor returns %d', self._name, self._rc)
770 self._exeStop = os.times()
771 msg.debug(
'exeStop time is {0}'.
format(self._exeStop))
773 errMsg =
'Execution of {0} failed and raised OSError: {1}'.
format(self._cmd[0], e)
775 raise trfExceptions.TransformExecutionException(trfExit.nameToCode(
'TRF_EXEC'), errMsg)
779 mem_proc.send_signal(signal.SIGUSR1)
781 while (
not mem_proc.poll())
and countWait < 10:
◆ exeStartTimes()
def python.trfExe.transformExecutor.exeStartTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 336 of file trfExe.py.
336 def exeStartTimes(self):
337 return self._exeStart
◆ exeStopTimes()
def python.trfExe.transformExecutor.exeStopTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 340 of file trfExe.py.
340 def exeStopTimes(self):
◆ extraMetadata()
def python.trfExe.transformExecutor.extraMetadata |
( |
|
self | ) |
|
|
inherited |
Definition at line 292 of file trfExe.py.
292 def extraMetadata(self):
293 return self._extraMetadata
◆ first()
def python.trfExe.transformExecutor.first |
( |
|
self | ) |
|
|
inherited |
- Note
- At the moment only athenaExecutor sets this property, but that might be changed...
Definition at line 325 of file trfExe.py.
326 if hasattr(self,
'_first'):
◆ hasExecuted()
def python.trfExe.transformExecutor.hasExecuted |
( |
|
self | ) |
|
|
inherited |
Definition at line 296 of file trfExe.py.
296 def hasExecuted(self):
297 return self._hasExecuted
◆ hasValidated()
def python.trfExe.transformExecutor.hasValidated |
( |
|
self | ) |
|
|
inherited |
Definition at line 316 of file trfExe.py.
316 def hasValidated(self):
317 return self._hasValidated
◆ inData() [1/2]
def python.trfExe.transformExecutor.inData |
( |
|
self | ) |
|
|
inherited |
◆ inData() [2/2]
def python.trfExe.transformExecutor.inData |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 242 of file trfExe.py.
242 def inData(self, value):
243 self._inData =
set(value)
◆ inDataUpdate()
def python.trfExe.transformExecutor.inDataUpdate |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 245 of file trfExe.py.
245 def inDataUpdate(self, value):
247 if '_inData' in dir(self):
248 self._inData.update(value)
◆ input()
def python.trfExe.transformExecutor.input |
( |
|
self | ) |
|
|
inherited |
- Note
- This returns the actual input data with which this executor ran (c.f.
inData
which returns all the possible data types this executor could run with)
Definition at line 276 of file trfExe.py.
278 if '_input' in dir(self):
◆ isValidated()
def python.trfExe.transformExecutor.isValidated |
( |
|
self | ) |
|
|
inherited |
Definition at line 320 of file trfExe.py.
320 def isValidated(self):
321 return self._isValidated
◆ memAnalysis()
def python.trfExe.transformExecutor.memAnalysis |
( |
|
self | ) |
|
|
inherited |
Definition at line 398 of file trfExe.py.
398 def memAnalysis(self):
399 return self._memLeakResult
◆ memStats()
def python.trfExe.transformExecutor.memStats |
( |
|
self | ) |
|
|
inherited |
Definition at line 394 of file trfExe.py.
395 return self._memStats
◆ myMerger()
def python.trfExe.transformExecutor.myMerger |
( |
|
self | ) |
|
|
inherited |
Now define properties for these data members.
Definition at line 207 of file trfExe.py.
208 return self._myMerger
◆ name() [1/2]
def python.trfExe.transformExecutor.name |
( |
|
self | ) |
|
|
inherited |
◆ name() [2/2]
def python.trfExe.transformExecutor.name |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
◆ outData() [1/2]
def python.trfExe.transformExecutor.outData |
( |
|
self | ) |
|
|
inherited |
◆ outData() [2/2]
def python.trfExe.transformExecutor.outData |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 262 of file trfExe.py.
262 def outData(self, value):
263 self._outData =
set(value)
◆ outDataUpdate()
def python.trfExe.transformExecutor.outDataUpdate |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 265 of file trfExe.py.
265 def outDataUpdate(self, value):
267 if '_outData' in dir(self):
268 self._outData.update(value)
◆ output()
def python.trfExe.transformExecutor.output |
( |
|
self | ) |
|
|
inherited |
- Note
- This returns the actual output data with which this executor ran (c.f.
outData
which returns all the possible data types this executor could run with)
Definition at line 285 of file trfExe.py.
287 if '_output' in dir(self):
◆ postExeCpuTime()
def python.trfExe.transformExecutor.postExeCpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 402 of file trfExe.py.
402 def postExeCpuTime(self):
403 if self._exeStop
and self._valStart:
◆ postExecute()
def python.trfExe.scriptExecutor.postExecute |
( |
|
self | ) |
|
|
inherited |
◆ postExeWallTime()
def python.trfExe.transformExecutor.postExeWallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 409 of file trfExe.py.
409 def postExeWallTime(self):
410 if self._exeStop
and self._valStart:
◆ preExeCpuTime()
def python.trfExe.transformExecutor.preExeCpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 352 of file trfExe.py.
352 def preExeCpuTime(self):
353 if self._preExeStart
and self._exeStart:
354 return calcCpuTime(self._preExeStart, self._exeStart)
◆ preExecute()
def python.trfExe.DQMPostProcessExecutor.preExecute |
( |
|
self, |
|
|
|
input = set() , |
|
|
|
output = set() |
|
) |
| |
Reimplemented from python.trfExe.scriptExecutor.
Definition at line 2039 of file trfExe.py.
2039 def preExecute(self, input = set(), output =
set()):
2040 self.setPreExeStart()
2041 msg.debug(
'Preparing for execution of {0} with inputs {1} and outputs {2}'.
format(self.name, input, output))
2043 super(DQMPostProcessExecutor, self).preExecute(input=input, output=output)
2046 dsName=self.conf.argdict[
"inputHISTFile"].dataset
2048 for dataType
in input:
2049 for fname
in self.conf.dataDictionary[dataType].value:
2051 if not dsName: dsName=
".".
join(fname.split(
'.')[0:4])
2052 inputList.append(
"#".
join([dsName,fname]))
2055 if len(output) != 1:
2056 raise trfExceptions.TransformExecutionException(trfExit.nameToCode(
'TRF_EXEC_SETUP_FAIL'),
2057 'One (and only one) output file must be given to {0} (got {1})'.
format(self.name, len(output)))
2058 outDataType =
list(output)[0]
2062 wrapperParams={
"inputHistFiles" : inputList,
2063 "outputHistFile" : dsName+
"#"+self.conf.dataDictionary[outDataType].value[0],
2064 "incrementalMode":
"True" if self.conf._argdict.get(
"is_incremental_merge",
False)
else "False",
2065 "postProcessing" :
"True" if self.conf._argdict.get(
"run_post_processing",
False)
else "False",
2066 "doWebDisplay" :
"True" if self.conf._argdict.get(
"doWebDisplay",
False)
else "False",
2067 "allowCOOLUpload":
"True" if self.conf._argdict.get(
"allowCOOLUpload",
False)
else "False",
2071 if "servers" in self.conf._argdict:
2072 wrapperParams[
"server"]=self.conf._argdict[
"servers"]
2074 for k
in (
"excludeHist",
"excludeDir"):
2075 if k
in self.conf._argdict:
2076 wrapperParams[
"mergeParams"]+=(
" --{0}={1}".
format(k,self.conf._argdict[k]))
2079 with open(
"args.json",
"w")
as f:
2080 json.dump(wrapperParams, f)
2082 self._cmd.
append(
"--argJSON=args.json")
◆ preExeStartTimes()
def python.trfExe.transformExecutor.preExeStartTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 332 of file trfExe.py.
332 def preExeStartTimes(self):
333 return self._preExeStart
◆ preExeWallTime()
def python.trfExe.transformExecutor.preExeWallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 359 of file trfExe.py.
359 def preExeWallTime(self):
360 if self._preExeStart
and self._exeStart:
◆ rc()
def python.trfExe.transformExecutor.rc |
( |
|
self | ) |
|
|
inherited |
◆ reSimEvent()
def python.trfExe.transformExecutor.reSimEvent |
( |
|
self | ) |
|
|
inherited |
Definition at line 448 of file trfExe.py.
448 def reSimEvent(self):
449 return self._resimevents
◆ setPreExeStart()
def python.trfExe.transformExecutor.setPreExeStart |
( |
|
self | ) |
|
|
inherited |
Definition at line 461 of file trfExe.py.
461 def setPreExeStart(self):
462 if self._preExeStart
is None:
463 self._preExeStart = os.times()
464 msg.debug(
'preExeStart time is {0}'.
format(self._preExeStart))
◆ setValStart()
def python.trfExe.transformExecutor.setValStart |
( |
|
self | ) |
|
|
inherited |
Definition at line 466 of file trfExe.py.
466 def setValStart(self):
467 if self._valStart
is None:
468 self._valStart = os.times()
469 msg.debug(
'valStart time is {0}'.
format(self._valStart))
◆ substep()
def python.trfExe.transformExecutor.substep |
( |
|
self | ) |
|
|
inherited |
◆ sysTime()
def python.trfExe.transformExecutor.sysTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 380 of file trfExe.py.
381 if self._exeStart
and self._exeStop:
382 return self._exeStop[3] - self._exeStart[3]
◆ trf() [1/2]
def python.trfExe.transformExecutor.trf |
( |
|
self | ) |
|
|
inherited |
◆ trf() [2/2]
def python.trfExe.transformExecutor.trf |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
◆ usrTime()
def python.trfExe.transformExecutor.usrTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 373 of file trfExe.py.
374 if self._exeStart
and self._exeStop:
375 return self._exeStop[2] - self._exeStart[2]
◆ validate()
def python.trfExe.DQMPostProcessExecutor.validate |
( |
|
self | ) |
|
Reimplemented from python.trfExe.scriptExecutor.
Definition at line 2086 of file trfExe.py.
2088 super(DQMPostProcessExecutor, self).
validate()
2090 exitErrorMessage =
''
2093 logScan = trfValidation.scriptLogFileReport(self._logFileName)
2094 worstError = logScan.worstError()
2098 if worstError[
'firstError']:
2099 if len(worstError[
'firstError'][
'message']) > logScan._msgLimit:
2100 exitErrorMessage =
"Long {0} message at line {1}" \
2101 " (see jobReport for further details)".
format(worstError[
'level'],
2102 worstError[
'firstError'][
'firstLine'])
2104 exitErrorMessage =
"Logfile error in {0}: \"{1}\"".
format(self._logFileName,
2105 worstError[
'firstError'][
'message'])
2106 except OSError
as e:
2107 exitCode = trfExit.nameToCode(
'TRF_EXEC_LOGERROR')
2108 raise trfExceptions.TransformValidationException(exitCode,
2109 'Exception raised while attempting to scan logfile {0}: {1}'.
format(self._logFileName, e))
2111 if worstError[
'nLevel'] == stdLogLevels[
'ERROR']
and (
2112 'ignoreErrors' in self.conf.argdict
and self.conf.argdict[
'ignoreErrors'].value
is True):
2113 msg.warning(
'Found ERRORs in the logfile, but ignoring this as ignoreErrors=True (see jobReport for details)')
2115 elif worstError[
'nLevel'] >= stdLogLevels[
'ERROR']:
2116 self._isValidated =
False
2117 msg.error(
'Fatal error in script logfile (level {0})'.
format(worstError[
'level']))
2118 exitCode = trfExit.nameToCode(
'TRF_EXEC_LOGERROR')
2119 raise trfExceptions.TransformLogfileErrorException(exitCode,
'Fatal error in script logfile: "{0}"'.
format(exitErrorMessage))
2122 msg.info(
'Executor {0} has validated successfully'.
format(self.name))
2123 self._isValidated =
True
2125 self._valStop = os.times()
2126 msg.debug(
'valStop time is {0}'.
format(self._valStop))
◆ validation() [1/2]
def python.trfExe.transformExecutor.validation |
( |
|
self | ) |
|
|
inherited |
Definition at line 308 of file trfExe.py.
309 return self._validation
◆ validation() [2/2]
def python.trfExe.transformExecutor.validation |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 312 of file trfExe.py.
313 self._validation = value
◆ validationCpuTime()
def python.trfExe.transformExecutor.validationCpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 416 of file trfExe.py.
416 def validationCpuTime(self):
417 if self._valStart
and self._valStop:
◆ validationWallTime()
def python.trfExe.transformExecutor.validationWallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 423 of file trfExe.py.
423 def validationWallTime(self):
424 if self._valStart
and self._valStop:
◆ valStartTimes()
def python.trfExe.transformExecutor.valStartTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 344 of file trfExe.py.
344 def valStartTimes(self):
345 return self._valStart
◆ valStopTimes()
def python.trfExe.transformExecutor.valStopTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 348 of file trfExe.py.
348 def valStopTimes(self):
◆ wallTime()
def python.trfExe.transformExecutor.wallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 387 of file trfExe.py.
388 if self._exeStart
and self._exeStop:
◆ wallTimeTotal()
def python.trfExe.transformExecutor.wallTimeTotal |
( |
|
self | ) |
|
|
inherited |
Definition at line 437 of file trfExe.py.
437 def wallTimeTotal(self):
438 if self._preExeStart
and self._valStop:
◆ _alreadyInContainer
python.trfExe.transformExecutor._alreadyInContainer |
|
privateinherited |
◆ _athenaConcurrentEvents
python.trfExe.transformExecutor._athenaConcurrentEvents |
|
privateinherited |
◆ _athenaMP
python.trfExe.transformExecutor._athenaMP |
|
privateinherited |
◆ _athenaMT
python.trfExe.transformExecutor._athenaMT |
|
privateinherited |
◆ _cmd
python.trfExe.scriptExecutor._cmd |
|
privateinherited |
◆ _containerSetup
python.trfExe.transformExecutor._containerSetup |
|
privateinherited |
◆ _dbMonitor
python.trfExe.transformExecutor._dbMonitor |
|
privateinherited |
◆ _echologger
python.trfExe.scriptExecutor._echologger |
|
privateinherited |
◆ _echoOutput
python.trfExe.scriptExecutor._echoOutput |
|
privateinherited |
- Note
- Query the environment for echo configuration Let the manual envars always win over auto-detected settings
Definition at line 632 of file trfExe.py.
◆ _echostream
python.trfExe.scriptExecutor._echostream |
|
privateinherited |
◆ _errMsg
python.trfExe.scriptExecutor._errMsg |
|
privateinherited |
◆ _eventCount
python.trfExe.scriptExecutor._eventCount |
|
privateinherited |
Check event counts (always do this by default) Do this here so that all script executors have this by default (covers most use cases with events)
Definition at line 836 of file trfExe.py.
◆ _exe
python.trfExe.scriptExecutor._exe |
|
privateinherited |
◆ _exeArgs
python.trfExe.scriptExecutor._exeArgs |
|
privateinherited |
◆ _exeLogFile
python.trfExe.scriptExecutor._exeLogFile |
|
privateinherited |
◆ _exeStart
python.trfExe.scriptExecutor._exeStart |
|
privateinherited |
◆ _exeStop
python.trfExe.scriptExecutor._exeStop |
|
privateinherited |
◆ _extraMetadata
python.trfExe.transformExecutor._extraMetadata |
|
privateinherited |
◆ _hasExecuted
python.trfExe.scriptExecutor._hasExecuted |
|
privateinherited |
◆ _hasValidated
python.trfExe.scriptExecutor._hasValidated |
|
privateinherited |
◆ _histMergeList
python.trfExe.DQMPostProcessExecutor._histMergeList |
|
private |
◆ _inData
python.trfExe.transformExecutor._inData |
|
privateinherited |
◆ _input
python.trfExe.scriptExecutor._input |
|
privateinherited |
◆ _isValidated
python.trfExe.DQMPostProcessExecutor._isValidated |
|
private |
◆ _logFileName
python.trfExe.scriptExecutor._logFileName |
|
privateinherited |
- Note
- If an inherited class has set self._cmd leave it alone
Definition at line 671 of file trfExe.py.
◆ _memFullFile
python.trfExe.scriptExecutor._memFullFile |
|
privateinherited |
◆ _memLeakResult
python.trfExe.transformExecutor._memLeakResult |
|
privateinherited |
◆ _memMonitor
python.trfExe.scriptExecutor._memMonitor |
|
privateinherited |
◆ _memStats
python.trfExe.scriptExecutor._memStats |
|
privateinherited |
◆ _memSummaryFile
python.trfExe.scriptExecutor._memSummaryFile |
|
privateinherited |
◆ _myMerger
python.trfExe.transformExecutor._myMerger |
|
privateinherited |
◆ _name
python.trfExe.transformExecutor._name |
|
privateinherited |
◆ _outData
python.trfExe.transformExecutor._outData |
|
privateinherited |
◆ _output
python.trfExe.scriptExecutor._output |
|
privateinherited |
◆ _preExeStart
python.trfExe.transformExecutor._preExeStart |
|
privateinherited |
- Note
- Place holders for resource consumption. CPU and walltime are available for all executors but currently only athena is instrumented to fill in memory stats (and then only if PerfMonSD is enabled).
Definition at line 186 of file trfExe.py.
◆ _rc
python.trfExe.scriptExecutor._rc |
|
privateinherited |
◆ _resimevents
python.trfExe.transformExecutor._resimevents |
|
privateinherited |
◆ _trf
python.trfExe.transformExecutor._trf |
|
privateinherited |
◆ _validation
python.trfExe.transformExecutor._validation |
|
privateinherited |
◆ _valStart
python.trfExe.scriptExecutor._valStart |
|
privateinherited |
◆ _valStop
python.trfExe.DQMPostProcessExecutor._valStop |
|
private |
◆ conf
python.trfExe.transformExecutor.conf |
|
inherited |
Executor configuration:
- Note
- that if conf and trf are
None
then we'll probably set the conf up later (this is allowed and expected to be done once the master transform has figured out what it's doing for this job)
Definition at line 163 of file trfExe.py.
◆ inData
python.trfExe.transformExecutor.inData |
|
inherited |
- Note
- Protect against _inData not yet being defined
-
Use normal setter
Definition at line 251 of file trfExe.py.
◆ outData
python.trfExe.transformExecutor.outData |
|
inherited |
- Note
- Protect against _outData not yet being defined
-
Use normal setter
Definition at line 271 of file trfExe.py.
The documentation for this class was generated from the following file:
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.