/[scripts]/trunk/dwm-status.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/dwm-status.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 34 by dpavlin, Sun May 27 08:54:17 2007 UTC revision 35 by dpavlin, Sun May 27 09:14:14 2007 UTC
# Line 13  use Data::Dump qw/dump/; Line 13  use Data::Dump qw/dump/;
13  my $dt = 3;  my $dt = 3;
14  my $acpi_every = 10;  my $acpi_every = 10;
15    
16    my $disk_blk_size = 512;
17    
18  my $debug = shift @ARGV;  my $debug = shift @ARGV;
19    
20  $|=1;  $|=1;
# Line 36  sub unit { Line 38  sub unit {
38    
39          warn "unit( $v )\n" if ($debug);          warn "unit( $v )\n" if ($debug);
40    
41          my @units = qw/b k m g/;          my @units = qw/b k M G/;
42          my $o = 0;          my $o = 0;
43    
44          while ( ( $v / 1024 ) >= 1 ) {          while ( ( $v / 1024 ) >= 1 ) {
# Line 54  sub unit { Line 56  sub unit {
56  }  }
57    
58  my ( $lrx, $ltx ) = ( 0, 0 );  my ( $lrx, $ltx ) = ( 0, 0 );
59    my ( $ld_r, $ld_w ) = ( 0, 0 );
60  my $bat;  my $bat;
61    
62  my $i = 0;  my $i = 0;
# Line 114  while ( 1 ) { Line 117  while ( 1 ) {
117          }          }
118          warn "rx: $rx tx: $tx\n" if ($debug);          warn "rx: $rx tx: $tx\n" if ($debug);
119    
120          my $r = ( $rx - $lrx ) / $dt;          my $net_rx = ( $rx - $lrx ) / $dt;
121          my $t = ( $tx - $ltx ) / $dt;          my $net_tx = ( $tx - $ltx ) / $dt;
122          ( $lrx, $ltx ) = ( $rx, $tx );          ( $lrx, $ltx ) = ( $rx, $tx );
123    
124          printf "%s | %s |%5s > %-5s| %s%s\n", $s, $load, unit( $r ), unit( $t ), $bat, $temp;          my $disk = read_file('/proc/diskstats');
125            my ( $d_r, $d_w ) = ( 0,0 );
126    
127            foreach ( split(/\n/, $disk) ) {
128                    s/^\s+//;
129                    my @d = split(/\s+/, $_, 17);
130                    next unless ( $d[2] =~ m/^[sh]d\w$/ );
131    
132                    warn dump( @d ) if ($debug);
133                    $d_r += $d[5] * $disk_blk_size;
134                    $d_w += $d[7] * $disk_blk_size;
135            }
136            warn "d_r: $d_r d_w: $d_w\n" if ($debug);
137    
138            my $d_read = ( $d_r - $ld_r ) / $dt;
139            my $d_write = ( $d_w - $ld_w ) / $dt;
140            ( $ld_r, $ld_w ) = ( $d_r, $d_w );
141    
142            printf("%s | %s |%5s D %-5s|%5s > %-5s| %s%s\n",
143                    $s,
144                    $load,
145                    unit( $d_read ), unit( $d_write ),
146                    unit( $net_rx ), unit( $net_tx ),
147                    $bat, $temp,
148            );
149    
150          sleep $dt;          sleep $dt;
151  }  }

Legend:
Removed from v.34  
changed lines
  Added in v.35

  ViewVC Help
Powered by ViewVC 1.1.26