#!# perl:poros:sysinfo

use strict;
use warnings;

use YAML::XS;
use Vulcan::SysInfo;
use constant INTERVAL => 6;

return sub
{
    my %param = @_;
    my @argv = @{ $param{argv} };
    my $interval = @argv && @argv % 2 ? shift @argv : INTERVAL;

    return 0 unless my %test = @argv;

    my $sar = Vulcan::SysInfo->new( interval => $interval );

    while ( my ( $name, $test ) = each %test )
    {
        delete $test{$name} if $sar->eval( $test );
    }

    YAML::XS::DumpFile \*STDOUT, \%test if %test;
    return 0;
}
