示例#1
0
def parse_stats_unit(unit: str):
    if unit is None:
        return ""

    unit = re.search(r".*[^\]]", unit).group()

    if unit == "s":
        return "s"
    elif unit == "%":
        return "%"
    elif unit == "Requests":
        return "requests"
    else:
        return parse_unit(unit)
    def __init__(self, trace):
        try:
            self.iops = float(trace["throughput"]["value"])
            self.workset = Size(float(trace["workset"]["value"]),
                                Unit.Blocks512)
            bandwidth_unit = parse_unit(
                trace["bandwidth"]["unit"].split("/")[0])
            bandwidth_value = float(trace["bandwidth"]["value"])
            self.bandwidth_per_sec = Size(bandwidth_value, bandwidth_unit)
        except KeyError:
            self.iops = 0
            self.workset = Size(0)
            self.bandwidth_per_sec = Size(0)

        if "write invalidation factor" in trace:
            self.wif = float(trace["write invalidation factor"]["value"])
        else:
            self.wif = None