Make arcstat.py default to one header per screen
Today arcstat.py prints one header every hdr_intr (20 by default) lines. It would be more consistent with out utilities like vmstat if hdr_intr defaulted to terminal window size, i.e. one header per screenful of outputs. Signed-off-by: Isaac Huang <he.huang@intel.com> Signed-off-by: Prakash Surya <surya1@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #2183
This commit is contained in:
parent
4e26f2fccd
commit
4e1c9f9c48
|
@ -230,11 +230,20 @@ def print_header():
|
|||
sys.stdout.write("%*s%s" % (cols[col][0], col, sep))
|
||||
sys.stdout.write("\n")
|
||||
|
||||
def get_terminal_lines():
|
||||
try:
|
||||
import fcntl, termios, struct
|
||||
data = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, '1234')
|
||||
sz = struct.unpack('hh', data)
|
||||
return sz[0]
|
||||
except:
|
||||
pass
|
||||
|
||||
def init():
|
||||
global sint
|
||||
global count
|
||||
global hdr
|
||||
global hdr_intr
|
||||
global xhdr
|
||||
global opfile
|
||||
global sep
|
||||
|
@ -304,6 +313,10 @@ def init():
|
|||
if xflag:
|
||||
hdr = xhdr
|
||||
|
||||
lines = get_terminal_lines()
|
||||
if lines:
|
||||
hdr_intr = lines - 3
|
||||
|
||||
# check if L2ARC exists
|
||||
snap_stats()
|
||||
l2_size = cur.get("l2_size")
|
||||
|
|
Loading…
Reference in New Issue