ports/sysutils/zpool-iostat-viz/files/patch-zpool-iostat-viz

60 lines
2.8 KiB
Text

--- zpool-iostat-viz.orig 2021-11-13 22:58:47 UTC
+++ zpool-iostat-viz
@@ -19,7 +19,10 @@ import sys
EMPTY_COLORS = (238, 8)
EMPTY_CHAR = "|"
PALETTES = list(range(start, end+(second-start), second-start) for second, start, end in ((63, 27, 207), (87, 51, 231), (116, 123, 88), (220, 226, 196), (224, 231, 196), (80, 51, 196), (77, 40, 225), (225, 231, 201), (243, 240, 255), (227, 226, 231), (27, 21, 51)))
-DISPLAY_CHARS = ".abcdefghijklmnopqrstuvwxyz^"
+DISPLAY_CHARS_LETTERS = ".abcdefghijklmnopqrstuvwxyz^"
+DISPLAY_CHARS_DIGITS = ".0123456789#"
+DISPLAY_CHARS_SYMBOLS = " .:;*#"
+DISPLAY_CHARS = DISPLAY_CHARS_LETTERS
DIFFL_CLOCK_CHARS = "╷╴╵╶"
DIFFL_STAT_MEMORY = 5
@@ -219,10 +222,22 @@ def render_stats(window, transform, should_show_differ
elif in_key == curses.KEY_DOWN:
if diffl_stat_interval_index > 0:
diffl_stat_interval_index -= 1
+ elif in_key == ord('d'):
+ should_show_differential = not should_show_differential
+ elif in_key == ord('m'):
+ load_time = None
+ current = 0
+ stats = None
+ stats_history = []
+ if transform == stats_as_device_centric:
+ transform = stats_as_measurement_centric
+ else:
+ transform = stats_as_device_centric
elif in_key == ord('q') or in_key == ord('x') or in_key == 27:
return
- current += len(stats)
- current %= len(stats)
+ if stats:
+ current += len(stats)
+ current %= len(stats)
def main(window, should_show_differential, pool, filename, views):
@@ -256,6 +271,8 @@ if __name__ == "__main__":
arg_parser.add_argument("--pal-count", "--pc", action="store", metavar="P", default="0", help="palette for bucket populations")
arg_parser.add_argument("parts", metavar="pool/vdev", nargs="*", help="Pools or vdevs to display")
arg_parser.add_argument("--help-colors", action="store_true", help="see color palettes available")
+ arg_parser.add_argument("--digits", action="store_true", help="use digits instead of letters")
+ arg_parser.add_argument("--symbols", action="store_true", help="use digits instead of letters")
parsed_args = vars(arg_parser.parse_args())
@@ -275,6 +292,11 @@ if __name__ == "__main__":
if hex(pi)[2:] == parsed_args["pal_time"]: print(" (time)", end="")
print()
sys.exit(0)
+
+ if parsed_args["digits"]:
+ DISPLAY_CHARS = DISPLAY_CHARS_DIGITS
+ if parsed_args["symbols"]:
+ DISPLAY_CHARS = DISPLAY_CHARS_SYMBOLS
curses.wrapper(lambda window: main(window, parsed_args["diff"], parsed_args["parts"], parsed_args["file"], parsed_args["by"] or "m"))
except subprocess.CalledProcessError as exc: