#!# 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 > 1 ? shift @argv : INTERVAL;
    my $test = shift @argv;

    if ( $test && ref $test eq 'HASH' )
    {
        my $sar = Vulcan::SysInfo->new( interval => $interval );
        map { delete $test->{$_} if $sar->eval( $test->{$_} ) } keys %$test;
        YAML::XS::DumpFile \*STDOUT, $test if %$test;
    }
    return 0;
};
