def handle(self, *args, **options): with open(options['datafile'], 'r') as f: data = ujson.load(f) all_metrics = Collection.unserialize(data) query = Query().where_eq('id', 'browser.dom.event.interactive') result_set = query.execute(all_metrics) dump_result_set(result_set)
def get_stats(self, where, group_by=None): q = Query() for k, v in where.items(): q.where_eq(k, v) map(q.group_by, group_by or []) result_set = q.execute(self.collection) results = list(result_set) if len(results) != 1: print(results) raise ValueError('Sanity check failed, number of results is not 1') """ :type result: Result """ result = results[0] return result.stats
def find_url(self): result_set = ( Query() .where_eq('origin','phantomas') .where_eq('id','browser.assets.total_size') ).execute(self.collection) results = list(result_set) if len(results) != 1: raise ValueError('Found more than one result when looking for main URL') result = results[0] return result.context['url']