Skip to content
Snippets Groups Projects
Commit a68be1ba authored by Alaettin Serhan Mete's avatar Alaettin Serhan Mete :eagle: Committed by Frank Winklmeier
Browse files

AthenaConfiguration + PerfMonComps: Adding some basic new-style configuration for the PerfMonMTSvc

parent c30aa07e
No related branches found
No related tags found
5 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3
......@@ -198,6 +198,11 @@ def _createCfgFlags():
return dqf
_addFlagsCategory(acf, "DQ", __dq, 'AthenaMonitoring' )
def __perfmon():
from PerfMonComps.PerfMonConfigFlags import createPerfMonConfigFlags
return createPerfMonConfigFlags()
_addFlagsCategory(acf, "PerfMon", __perfmon, 'PerfMonComps')
return acf
......
#!/usr/bin/env python
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
from AthenaCommon.Logging import logging
## A minimal new-style configuration for PerfMonMTSvc
def PerfMonMTSvcCfg(flags, **kwargs):
""" Configuring PerfMonMTSvc """
# Get the logger
log = logging.getLogger("PerfMonMTSvcCfg")
log.info("Configuring PerfMonMTSvc with flags:")
log.info(" >> doFastMonMT {}".format(flags.PerfMon.doFastMonMT))
log.info(" >> doFullMonMT {}".format(flags.PerfMon.doFullMonMT))
# Check if basic monitoring is asked for
if not flags.PerfMon.doFastMonMT and not flags.PerfMon.doFullMonMT:
log.info("Nothing to be done...")
return ComponentAccumulator()
# Hook to PerfMonMTSvc
PerfMonMTSvc = CompFactory.PerfMonMTSvc
# Set the main properties for the service
import os,psutil
kwargs.setdefault("wallTimeOffset",
psutil.Process(os.getpid()).create_time() * 1000)
kwargs.setdefault("numberOfThreads",
max(1,flags.Concurrency.NumThreads))
kwargs.setdefault("numberOfSlots",
max(1,flags.Concurrency.NumConcurrentEvents))
kwargs.setdefault("doComponentLevelMonitoring",
flags.PerfMon.doFullMonMT)
# Get CA and add the service
acc = ComponentAccumulator()
acc.addService(PerfMonMTSvc(**kwargs), create=True)
# Enable the auditors that are necessarry for the service
acc.setAppProperty("AuditAlgorithms", True)
acc.setAppProperty("AuditTools", True)
acc.setAppProperty("AuditServices", True)
# Add the algorithm that is necessary for the service
PerfMonMTAlg = CompFactory.PerfMonMTAlg
acc.addEventAlgo(PerfMonMTAlg(), sequenceName='AthAlgSeq')
# Return the CA
return acc
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.AthConfigFlags import AthConfigFlags
def createPerfMonConfigFlags():
pcf = AthConfigFlags()
# Two basic flags for PerfMonMT
pcf.addFlag('PerfMon.doFastMonMT', False)
pcf.addFlag('PerfMon.doFullMonMT', False)
return pcf
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment