mirror of
https://git.freebsd.org/ports.git
synced 2025-07-07 20:39:18 -04:00
60 lines
2.8 KiB
Text
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:
|