示例#1
0
def perfometer_check_mk_disk_latency_r_w(row, check_command, perf_data):
    latency_r = float(perf_data[0][1])
    latency_w = float(perf_data[1][1])
    text = "%.1f ms %.1f ms" % (latency_r, latency_w)

    return text, perfometer_logarithmic_dual(latency_r, "#60e0a0", latency_w,
                                             "#60a0e0", 20, 10)
示例#2
0
def perfometer_check_mk_iops_r_w(row, check_command, perf_data):
    iops_r = float(perf_data[0][1])
    iops_w = float(perf_data[1][1])
    text = "%.0f IO/s %.0f IO/s" % (iops_r, iops_w)

    return text, perfometer_logarithmic_dual(iops_r, "#60e0a0", iops_w,
                                             "#60a0e0", 100000, 10)
示例#3
0
def perfometer_bandwidth(in_traffic, out_traffic, in_bw, out_bw, unit="B"):
    traffic_multiplier = 1 if (unit == "B") else 8

    # if we do not have bandwith make logarithmic perf-o-meter
    if in_bw <= 0.0 or out_bw <= 0.0:
        MB = 1000000.0
        readable_in = number_human_readable(in_traffic * traffic_multiplier, 1,
                                            unit)
        readable_out = number_human_readable(out_traffic * traffic_multiplier,
                                             1, unit)
        text = "%s/s&nbsp;&nbsp;&nbsp;%s/s" % (readable_in, readable_out)
        return text, perfometer_logarithmic_dual(in_traffic, "#0e6",
                                                 out_traffic, "#2af", MB, 5)
    # if we have bandwidth
    txt, data = [], []
    for name, bytes_, bw, color in [("in", in_traffic, in_bw, "#0e6"),
                                    ("out", out_traffic, out_bw, "#2af")]:
        rrate = bytes_ / bw  # fixed: true-division
        drate = max(0.02, rrate**0.5**0.5)
        rperc = 100 * rrate
        dperc = 100 * drate
        a = (dperc / 2.0, color)
        b = (50 - dperc / 2.0, get_themed_perfometer_bg_color())

        txt.append("%.1f%%" % rperc)
        if name == "in":
            data.extend([b, a])  # white left, color right
        else:
            data.extend([a, b])  # color right, white left
    return " &nbsp; ".join(txt), render_perfometer(data)
示例#4
0
def perfometer_in_out_mb_per_sec(row, check_command, perf_data):
    read_mbit = float(perf_data[0][1]) / 131072
    write_mbit = float(perf_data[1][1]) / 131072

    text = "%-.2fMb/s  %-.2fMb/s" % (read_mbit, write_mbit)

    return text, perfometer_logarithmic_dual(read_mbit, "#30d050", write_mbit, "#0060c0", 100, 10)
示例#5
0
def perfometer_check_mk_hba(row, check_command, perf_data):
    if len(perf_data) < 2:
        return "", ""

    read_blocks = int(perf_data[0][1])
    write_blocks = int(perf_data[1][1])

    text = "%d/s  %d/s" % (read_blocks, write_blocks)

    return text, perfometer_logarithmic_dual(read_blocks, "#30d050", write_blocks, "#0060c0",
                                             100000, 2)
示例#6
0
def perfometer_check_mk_diskstat(row, check_command, perf_data):
    # No Perf-O-Meter for legacy version of diskstat possible
    if len(perf_data) < 2:
        return "", ""

    read_bytes = float(perf_data[0][1])
    write_bytes = float(perf_data[1][1])

    text = "%-.2f M/s  %-.2f M/s" % \
            (read_bytes / (1024.0*1024.0), write_bytes / (1024.0*1024.0))

    return text, perfometer_logarithmic_dual(
        read_bytes,
        "#60e0a0",
        write_bytes,
        "#60a0e0",
        5000000,
        10,
    )