#! /usr/bin/perl use strict ; use warnings ; package Probe::nfsDf ; use base 'Probe' ; sub ITEMS { [ { name => 'fs_proj2_size' , kind => 'gbs' , args => [ qw(size /projects2) ] } , { name => 'fs_proj2_usage' , kind => 'perc' , args => [ qw(usage /projects2) ] } ] } ; sub main { my $self = shift ; my $itms = shift ; # items to probe : [ item, ... ] my $clnt = shift ; # main::CLIENT my $path = $self -> path ; my @prog = ( "$path/nfsdf.pl", qw(-t 1) ) ; my %data = () ; my ( $err, $xit, $sig, @lines ) = Probe::Util::run_prog ( @prog ) ; if ( $err ) { $_ -> perr ( $err ) for @$itms ; } else { for my $line ( @lines ) { chomp $line ; my ( $mnt, $clas, $val ) = split ' ', $line ; $data { $mnt } { $clas } = $val ; } for my $item ( sort { $a -> name cmp $b -> name } @$itms ) { my ( $clas, $mnt ) = @{ $item -> args } ; $item -> set_val ( $data { $mnt } { $clas } ) ; } } } 1 ;