Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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']