diff --git a/bin/pt-diskstats b/bin/pt-diskstats index 37c4d2d2..0bf2b23e 100755 --- a/bin/pt-diskstats +++ b/bin/pt-diskstats @@ -1550,8 +1550,11 @@ use List::Util qw( max first ); use ReadKeyMini qw( GetTerminalSize ); -my (undef, $max_lines) = GetTerminalSize(); -$Diskstats::printed_lines = $max_lines; +my $max_lines; +BEGIN { + (undef, $max_lines) = GetTerminalSize(); + $Diskstats::printed_lines = $max_lines; +} my $diskstat_colno_for; BEGIN { @@ -2399,6 +2402,9 @@ sub print_deltas { my @stats = $self->_calc_deltas(); + $Diskstats::printed_lines = $max_lines + unless defined $Diskstats::printed_lines; + if ( $self->{space_samples} && @stats && @stats > 1 && !$Diskstats::last_was_header ) { print "\n"; diff --git a/lib/Diskstats.pm b/lib/Diskstats.pm index 53cd12a4..13b49b6c 100644 --- a/lib/Diskstats.pm +++ b/lib/Diskstats.pm @@ -34,8 +34,11 @@ use List::Util qw( max first ); use ReadKeyMini qw( GetTerminalSize ); -my (undef, $max_lines) = GetTerminalSize(); -$Diskstats::printed_lines = $max_lines; +my $max_lines; +BEGIN { + (undef, $max_lines) = GetTerminalSize(); + $Diskstats::printed_lines = $max_lines; +} my $diskstat_colno_for; BEGIN { @@ -975,6 +978,9 @@ sub print_deltas { my @stats = $self->_calc_deltas(); + $Diskstats::printed_lines = $max_lines + unless defined $Diskstats::printed_lines; + if ( $self->{space_samples} && @stats && @stats > 1 && !$Diskstats::last_was_header ) { # Print an empty line before the rows if we have more