def initializeHandler(cls, serviceInfo): cls.__db = MonitoringDB() reportSection = serviceInfo['serviceSectionPath'] dataPath = gConfig.getValue("%s/DataLocation" % reportSection, "data/monitoringPlots") gLogger.info("Data will be written into %s" % dataPath) mkDir(dataPath) try: testFile = "%s/moni.plot.test" % dataPath with open(testFile, "w") as _: os.unlink(testFile) except IOError as err: gLogger.fatal("Can't write to %s" % dataPath, err) return S_ERROR("Data location is not writable: %s" % repr(err)) gDataCache.setGraphsLocation(dataPath) return S_OK()
def setUp(self): gLogger.setLevel('INFO') self.monitoringDB = MonitoringDB() self.monitoringReporter = MonitoringReporter( monitoringType="WMSHistory") self.data = [{ u'Status': u'Waiting', 'Jobs': 2, u'time': 1458130176, u'JobSplitType': u'MCStripping', u'MinorStatus': u'unset', u'Site': u'LCG.GRIDKA.de', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049848', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458130176, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'LCG.PIC.es', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'olupton', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458130176, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'LCG.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'olupton', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458130176, u'JobSplitType': u'MCStripping', u'MinorStatus': u'unset', u'Site': u'LCG.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049845', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 34, u'time': 1458141578, u'JobSplitType': u'DataStripping', u'MinorStatus': u'unset', u'Site': u'Group.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050299', u'UserGroup': u'lhcb_data', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 120, u'time': 1458141578, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'LCG.CERN.ch', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'mvesteri', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458141578, u'JobSplitType': u'MCStripping', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049845', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 2, u'time': 1458141578, u'JobSplitType': u'MCStripping', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049848', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458141578, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050286', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 95, u'time': 1458199202, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'Multiple', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'mamartin', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 3, u'time': 1458199202, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'Multiple', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'olupton', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 129, u'time': 1458199202, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'Multiple', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049844', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 5, u'time': 1458217812, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.IHEP.su', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050232', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 7, u'time': 1458217812, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.IHEP.su', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050234', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 1, u'time': 1458217812, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.IHEP.su', u'Reschedules': 1, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050236', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 3, u'time': 1458217812, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.IHEP.su', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050238', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 2, u'time': 1458217812, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.IHEP.su', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050248', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 12, u'time': 1458218413, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050248', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 5, u'time': 1458218413, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050250', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 4, u'time': 1458218413, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050251', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 1, u'time': 1458218413, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.CNAF.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050280', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 24, u'time': 1458219012, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.NIKHEF.nl', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050248', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 3, u'time': 1458219012, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.NIKHEF.nl', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050251', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 1, u'time': 1458222013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.Bologna.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050303', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 7, u'time': 1458222013, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'LCG.Bristol.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'clangenb', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 2, u'time': 1458222013, u'JobSplitType': u'User', u'MinorStatus': u'unset', u'Site': u'LCG.Bristol.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'mrwillia', u'JobGroup': u'lhcb', u'UserGroup': u'lhcb_user', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 1, u'time': 1458222013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.Bari.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050244', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 11, u'time': 1458222013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.Bari.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050246', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 22, u'time': 1458222013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.Bari.it', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050248', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 23, u'time': 1458225013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.DESYZN.de', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049844', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 18, u'time': 1458225013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.DESYZN.de', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00049847', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 1, u'time': 1458225013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.DESYZN.de', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050238', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Running', 'Jobs': 1, u'time': 1458225013, u'JobSplitType': u'MCSimulation', u'MinorStatus': u'unset', u'Site': u'LCG.DESYZN.de', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050246', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458226213, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.RRCKI.ru', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050243', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458226213, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.RRCKI.ru', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050251', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458226213, u'JobSplitType': u'MCStripping', u'MinorStatus': u'unset', u'Site': u'LCG.RRCKI.ru', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050256', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458226213, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050229', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458226213, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050241', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 1, u'time': 1458226213, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050243', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }, { u'Status': u'Waiting', 'Jobs': 2, u'time': 1458226213, u'JobSplitType': u'MCReconstruction', u'MinorStatus': u'unset', u'Site': u'LCG.RAL.uk', u'Reschedules': 0, u'ApplicationStatus': u'unset', u'User': u'phicharp', u'JobGroup': u'00050247', u'UserGroup': u'lhcb_mc', u'metric': u'WMSHistory' }]
# for aggregated data aggResult_aggregated = { u"Running": {1458216000: 6.090909090909091, 1458219600: 7.333333333333333, 1458223200: 10.75}, u"Waiting": {1458129600: 1.25, 1458140400: 31.6, 1458198000: 75.66666666666667, 1458223200: 1.1428571428571428}, } aggResultStatusRunning_aggregated = { u"Running": {1458216000: 6.090909090909091, 1458219600: 7.333333333333333, 1458223200: 10.75} } aggResultStatusRunningAndSite_aggregated = {u"Running": {1458223200: 10.75}} # create the MonitoringDB object and document type monitoringDB = MonitoringDB() # fixture for preparation + teardown @pytest.fixture def putAndDelete(): # Find the test data fj = find_all("WMSHistory_testData.json", "../", "tests/Integration/Monitoring")[0] with open(fj) as fp: data = json.load(fp) # hack to work on a test index, which is just the same as WMSHistory mapping = { "properties": { "Status": {"type": "keyword"}, "Site": {"type": "keyword"},