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)
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)
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 %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 " ".join(txt), render_perfometer(data)
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)
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)
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, )