def __init__(self, config=dict()): self.logger = logging.getLogger(__name__) self.config = config self.pop_db = PopDBService(self.config) self.sites = SiteManager(self.config) self.datasets = DatasetManager(self.config) self.storage = StorageManager(self.config) self.MAX_THREADS = int(config['threading']['max_threads'])
def test_pop_db(self): "Test pop_db functions" print "" pop_db = PopDBService(config=self.config) api = 'DSStatInTimeWindow/' params = { 'tstart': '2015-04-18', 'tstop': '2015-04-18', 'sitename': 'T2_US_Nebraska' } expected = 'T2_US_Nebraska' json_data = pop_db.fetch(api=api, params=params, cache=False) result = json_data['SITENAME'] self.assertEqual(result, expected)
def test_pop_db_memory(self): "Test pop_db data memory usage" print "" pop_db = PopDBService(self.config) api = 'getDSdata' sitename = 'summary' aggr = 'day' n = 200000 orderby = 'totcpu' tstart = datetime_to_string(datetime_day(datetime.datetime.utcnow() - datetime.timedelta(days=10))) tstop = datetime_to_string(datetime_day(datetime.datetime.utcnow())) params = {'sitename':sitename, 'tstart':tstart, 'tstop':tstop, 'aggr':aggr, 'n':n, 'orderby':orderby} pop_db_data = pop_db.fetch(api=api, params=params, cache=False) total_size = total_size_of(pop_db_data) logger.info('Total size of Pop DB data in memory is %d bytes (%dMB)', total_size, total_size/10**6)