def testBasicsWithAccessOnly(self): monitor = Monitor("testAccess") for i in range(5): starttime = datetime.now() waittime = self.waitForRandomMillis(55) monitor.mark(starttime) self.assertIsNone(monitor.processingCumulativeStats) self.assertIsNone(monitor.processingWindowStats) self.assertIsNotNone(monitor.accessCumulativeStats) self.assertIsNotNone(monitor.accessWindowStats) cumulativeAccessStats = monitor.getStats(True, False) self.assertEqual(4, cumulativeAccessStats.n) # exercise building summary info dictionary, value doesn't matter time.sleep(0.051) # ensure window stats is different from cumulative summaryInfo = monitor.summaryInfo() import json; print json.dumps(summaryInfo, indent=4)
def testBasicsWithProcessing(self): monitor = Monitor("testBasics", defaultWindowWidth=100, defaultSegmentWidth=50) for i in range(5): starttime = datetime.now() waittime = self.waitForRandomMillis(55) endtime = datetime.now() monitor.mark(starttime, endtime) # Default stats are processingCumulativeStats self.assertEqual(monitor.processingCumulativeStats, monitor.getStats()) # Make sure getStats behaves as advertised self.assertEqual(monitor.processingCumulativeStats, monitor.getStats(access=False, window=False)) self.assertNotEqual(monitor.processingCumulativeStats, monitor.getStats(access=False, window=True)) self.assertEqual(monitor.accessCumulativeStats, monitor.getStats(access=True, window=False)) self.assertNotEqual(monitor.accessCumulativeStats, monitor.getStats(access=True, window=True)) cumulativeProcessingStats = monitor.getStats() self.assertEqual(5, cumulativeProcessingStats.n) # exercise building summary info dictionary, value doesn't matter time.sleep(0.051) # ensure window stats is different from cumulative summaryInfo = monitor.summaryInfo() import json; print json.dumps(summaryInfo, indent=4)