Cisco-UCS

 view release on metacpan or  search on metacpan

lib/Cisco/UCS/Interconnect/Stats.pm  view on Meta::CPAN

package Cisco::UCS::Interconnect::Stats;

use strict;
use warnings;

use Scalar::Util qw(weaken);
use Carp qw(croak);

our $VERSION = '0.51';

our %ATTRIBUTES = (
	load			=> 'load',
	load_avg		=> 'loadAvg',
	load_min		=> 'loadMin',
	load_max		=> 'loadMax',
	mem_available		=> 'memAvailable',
	mem_available_avg	=> 'memAvailableAvg',
	mem_available_min	=> 'memAvailableMin',
	mem_available_max	=> 'memAvailableMax',
	mem_cached		=> 'memCached',
	mem_cached_avg		=> 'memCachedAvg',
	mem_cached_min		=> 'memCachedMin',
	mem_cached_max		=> 'memCachedMax',
	suspect			=> 'oobIfIp',
);

{ no strict 'refs';

        while ( my ( $attribute, $pseudo ) = each %ATTRIBUTES ) {
                *{ __PACKAGE__ .'::'. $attribute } = sub {
                        my $self = shift;
                        return $self->{$pseudo}
                }
        }
}

sub new {
        my ( $class, $args ) = @_;
        my $self = {};
        bless $self, $class;

        while ( my( $k, $v ) = 
			each %{ $args->{outConfig}->{swSystemStats} } ) { 
		$self->{$k} = $v 
	}

        return $self;
}


1;

__END__

=pod

=head1 NAME

Cisco::UCS::Interconnect::Stats - Utility class for representing Cisco UCS 
Interconnect system statistics.

=head1 SYNOPSIS

	# Display the current, min, max and average load
	my $stats = $ucs->interconnect(A)->stats;



( run in 1.257 second using v1.01-cache-2.11-cpan-39bf76dae61 )