예제 #1
0
def getTestData(series, start_time):
    q = sa.select([
        db.test_runs.id, db.test_runs.machine_id, db.builds.ref_build_id,
        db.test_runs.date_run, db.test_runs.average, db.builds.ref_changeset,
        db.test_runs.run_number, db.builds.branch_id
    ],
                  sa.and_(
                      db.test_runs.test_id == series.test_id,
                      db.builds.branch_id == series.branch_id,
                      db.machines.os_id == series.os_id,
                      db.test_runs.machine_id == db.machines.id,
                      db.test_runs.build_id == db.builds.id,
                      db.test_runs.date_run > start_time,
                      goodNameClause,
                      sa.not_(db.machines.name.like("%stage%")),
                  ))

    data = []
    for row in q.execute():
        if row.average is None:
            continue
        t = row.date_run
        d = PerfDatum(row.id, row.machine_id, row.date_run, row.average,
                      row.ref_build_id, t, row.ref_changeset)
        d.run_number = row.run_number
        data.append(d)
    return data
예제 #2
0
def getTestData(series, start_time, data_type):
    if not data_type:
        data_type = 'average'

    q = sa.select(
        [db.test_runs.id, db.test_runs.machine_id, db.builds.ref_build_id,
            db.test_runs.date_run, db.test_runs.average, db.test_runs.geomean,
            db.builds.ref_changeset, db.test_runs.run_number,
            db.builds.branch_id],
        sa.and_(
        db.test_runs.test_id == series.test_id,
        db.builds.branch_id == series.branch_id,
        db.machines.os_id == series.os_id,
        db.test_runs.machine_id == db.machines.id,
        db.test_runs.build_id == db.builds.id,
        db.test_runs.date_run > start_time,
        goodNameClause,
        ))

    data = []
    for row in q.execute():
        if row[data_type] is None:
            continue
        t = row.date_run
        d = PerfDatum(row.id, row.machine_id, row.date_run, row[data_type], row.ref_build_id, t, row.ref_changeset)
        d.run_number = row.run_number
        data.append(d)
    return data
예제 #3
0
파일: analyze_db.py 프로젝트: jfsiii/graphs
def getTestData(series, start_time):
    q = sa.select(
        [db.test_runs.id, db.test_runs.machine_id, db.builds.ref_build_id,
            db.test_runs.date_run, db.test_runs.average,
            db.builds.ref_changeset, db.test_runs.run_number,
            db.builds.branch_id],
        sa.and_(
        db.test_runs.test_id == series.test_id,
        db.builds.branch_id == series.branch_id,
        db.machines.os_id == series.os_id,
        db.test_runs.machine_id == db.machines.id,
        db.test_runs.build_id == db.builds.id,
        db.test_runs.date_run > start_time,
        goodNameClause,
        sa.not_(db.machines.name.like("%stage%")),
        ))

    data = []
    for row in q.execute():
        if row.average is None:
            continue
        t = row.date_run
        d = PerfDatum(row.id, row.machine_id, row.date_run, row.average, row.ref_build_id, t, row.ref_changeset)
        d.run_number = row.run_number
        data.append(d)
    return data
예제 #4
0
    def getTestData(self, series):
        base = self.baseurl
        retval = []
        seen = {}
        test_id = series.test_id
        branch_id = series.branch_id
        os_id = series.os_id
        url = "%(base)s/test/runs?id=%(test_id)s&branchid=%(branch_id)s&platformid=%(os_id)s" % locals(
        )
        try:
            log.debug("Getting %s", url)
            req = urllib.urlopen(url)
            results = json.load(req)
        except KeyboardInterrupt:
            raise
        except:
            log.exception("Couldn't load or parse %s", url)
            return []

        if 'test_runs' not in results:
            log.debug("No data from %s", url)
            return []

        for item in results['test_runs']:
            testrunid, build, date, average, run_number, annotations, machine_id, row_geo = item
            if average is None:
                continue

            d = PerfDatum(testrunid, machine_id, date, average, build[1], date,
                          build[2])
            d.run_number = run_number
            retval.append(d)
            t = (d.buildid, date, average, machine_id)
            #if t in seen:
            #if seen[t].run_number == run_number:
            #continue
            #log.error("%s %s %s", seen[t], seen[t].machine_id, seen[t].run_number)
            #log.error("%s %s %s", d, d.machine_id, d.run_number)
            #log.error(url)
            #else:
            #seen[t] = d

        return retval
    def getTestData(self, series):
        base = self.baseurl
        retval = []
        seen = {}
        test_id = series.test_id
        branch_id = series.branch_id
        os_id = series.os_id
        url = "%(base)s/test/runs?id=%(test_id)s&branchid=%(branch_id)s&platformid=%(os_id)s" % locals()
        try:
            log.debug("Getting %s", url)
            req = urllib.urlopen(url)
            results = json.load(req)
        except KeyboardInterrupt:
            raise
        except:
            log.exception("Couldn't load or parse %s", url)
            return []

        if 'test_runs' not in results:
            log.debug("No data from %s", url)
            return []

        for item in results['test_runs']:
            testrunid, build, date, average, run_number, annotations, machine_id, row_geo = item
            if average is None:
                continue

            d = PerfDatum(testrunid, machine_id, date, average, build[1], date, build[2])
            d.run_number = run_number
            retval.append(d)
            t = (d.buildid, date, average, machine_id)
            #if t in seen:
                #if seen[t].run_number == run_number:
                    #continue
                #log.error("%s %s %s", seen[t], seen[t].machine_id, seen[t].run_number)
                #log.error("%s %s %s", d, d.machine_id, d.run_number)
                #log.error(url)
            #else:
                #seen[t] = d

        return retval