def METHOD_NAME(self, job):
    result = ParallelPerfResult()
    if not job.passed:
        result.append(PerfInterval(0, 0, "bits", time.time()))
    else:
        for i in job.result["data"]["end"]["streams"]:
            result.append(SequentialPerfResult())
        job_start = job.result["data"]["start"]["timestamp"]["timesecs"]
        for interval in job.result["data"]["intervals"]:
            interval_start = interval["sum"]["start"]
            for i, stream in enumerate(interval["streams"]):
                result[i].append(PerfInterval(stream["bytes"] * 8,
                                              stream["seconds"],
                                              "bits", job_start + interval_start))
    return result