AIX-Perfstat

 view release on metacpan or  search on metacpan

cpu/cpu.c  view on Meta::CPAN


	strncpy(cpu_name.name, name, IDENTIFIER_LENGTH);

	my_cpu_t*	cpu = (my_cpu_t*)safemalloc(sizeof(my_cpu_t));
	if (cpu == NULL)
	{
		die("cpu: malloc failed for cpu");
	}

	cpu->size = 0;
	cpu->data = (perfstat_cpu_t*)safemalloc(desired_number * sizeof(perfstat_cpu_t));
	if (cpu->data == NULL)
	{
		safefree(cpu);
		die("cpu: malloc failed for cpu->data");
	}

	if ((cpu->size = perfstat_cpu(&cpu_name, cpu->data, sizeof(perfstat_cpu_t), desired_number)) == -1 || (cpu->size == 0))
	{
		safefree(cpu->data);
		safefree(cpu);
		cpu = NULL;
	}

	if (update_name)
	{
		int name_len = strlen(name);
		int cpu_name_len = strlen(cpu_name.name);

		if (cpu_name_len > name_len)

cpu/cpu_xs  view on Meta::CPAN

		 XSRETURN_UNDEF;
	}
	if ((items == 2) && (!SvREADONLY((SV*)ST(1))))
	{
		 sv_setpv((SV*)ST(1), name);
		 SvSETMAGIC(ST(1));
	}
OUTPUT:
	RETVAL
CLEANUP:
	safefree(RETVAL->data);
	safefree(RETVAL);

disk/disk.c  view on Meta::CPAN


	strncpy(disk_name.name, name, IDENTIFIER_LENGTH);

	my_disk_t*	disk = (my_disk_t*)safemalloc(sizeof(my_disk_t));
	if (disk == NULL)
	{
		die("disk: malloc failed for disk");
	}

	disk->size = 0;
	disk->data = (perfstat_disk_t*)safemalloc(desired_number * sizeof(perfstat_disk_t));
	if (disk->data == NULL)
	{
		safefree(disk);
		die("disk: malloc failed for disk->data");
	}

	if ((disk->size = perfstat_disk(&disk_name, disk->data, sizeof(perfstat_disk_t), desired_number)) == -1 || (disk->size == 0))
	{
		safefree(disk->data);
		safefree(disk);
		disk = NULL;
	}

	if (update_name)
	{
		int name_len = strlen(name);
		int disk_name_len = strlen(disk_name.name);

		if (disk_name_len > name_len)

disk/disk_xs  view on Meta::CPAN

		 XSRETURN_UNDEF;
	}
	if ((items == 2) && (!SvREADONLY((SV*)ST(1))))
	{
		 sv_setpv((SV*)ST(1), name);
		 SvSETMAGIC(ST(1));
	}
OUTPUT:
	RETVAL
CLEANUP:
	safefree(RETVAL->data);
	safefree(RETVAL);

example1.pl  view on Meta::CPAN


my $num_cpus = AIX::Perfstat::cpu_count();
print "cpu_count() $num_cpus\n";

my $num_disks = AIX::Perfstat::disk_count();
print "disk_count() $num_disks\n";

my $num_netifs = AIX::Perfstat::netinterface_count();
print "netinterface_count() $num_netifs\n";

my $cpu_data = AIX::Perfstat::cpu($num_cpus);
print "cpu($num_cpus) ", Dumper($cpu_data);

my $disk_data = AIX::Perfstat::disk($num_disks);
print "disk($num_disks) ", Dumper($disk_data);

my $netif_data = AIX::Perfstat::netinterface($num_netifs);
print "netinterface($num_netifs) ", Dumper($netif_data);

lib/AIX/Perfstat.pm  view on Meta::CPAN

$netift = AIX::Perfstat::netinterface_total();

$memoryt = AIX::Perfstat::memory_total();

$num_cpus = AIX::Perfstat::cpu_count();

$num_disks = AIX::Perfstat::disk_count();

$num_netifs = AIX::Perfstat::netinterface_count();

$cpu_data = AIX::Perfstat::cpu(desired_number = 1, name = "");

$disk_data = AIX::Perfstat::disk(desired_number = 1, name = "");

$netif_data = AIX::Perfstat::netinterface(desired_number = 1, name = "");



=head1 DESCRIPTION

This Perl module lets you call all of the perfstat functions defined on
AIX 5.1 and returns system data in Perl data structures.

The C<AIX::Perfstat::cpu_total>, C<AIX::Perfstat::disk_total>,
C<AIX::Perfstat::netinterface_total>, and C<AIX::Perfstat::memory_total>
functions each return a hashref containing all of the respective C
structures.

The C<AIX::Perfstat::cpu_count>, C<AIX::Perfstat::disk_count>, and
C<AIX::Perfstat::netinterface_count> functions each return a count
of how many structures are available from the C<AIX::Perfstat::cpu>,
C<AIX::Perfstat::disk>, and C<AIX::Perfstat::netinterface> functions
respectively.

The C<AIX::Perfstat::cpu>, C<AIX::Perfstat::disk>, and 
C<AIX::Perfstat::netinterface> functions each take up to
two arguments and return a reference to an array of hashes. The
arguments specify the number of records to return, and the name
of the record to start with. These arguments are equivalent to the
C<desired_number> and C<name> parameters to the C<perfstat> functions.
Only valid data is returned (Example: If you call 
C<AIX::Perfstat::netinterface(5)> on a machine with only 2 network
interfaces, the returned array will only contain two entries.) When
these functions are called with a variable for the name parameter
the variable will be modified in place to contain the name of the next
available record, or "" if no more records are available.


=head2 EXPORT

None by default.

netinterface/netinterface.c  view on Meta::CPAN


	strncpy(netinterface_name.name, name, IDENTIFIER_LENGTH);

	my_netinterface_t*	netinterface = (my_netinterface_t*)safemalloc(sizeof(my_netinterface_t));
	if (netinterface == NULL)
	{
		die("netinterface: malloc failed for netinterface");
	}

	netinterface->size = 0;
	netinterface->data = (perfstat_netinterface_t*)safemalloc(desired_number * sizeof(perfstat_netinterface_t));
	if (netinterface->data == NULL)
	{
		safefree(netinterface);
		die("netinterface: malloc failed for netinterface->data");
	}

	if ((netinterface->size = perfstat_netinterface(&netinterface_name, netinterface->data, sizeof(perfstat_netinterface_t), desired_number)) == -1 || (netinterface->size == 0))
	{
		safefree(netinterface->data);
		safefree(netinterface);
		netinterface = NULL;
	}

	if (update_name)
	{
		int name_len = strlen(name);
		int netinterface_name_len = strlen(netinterface_name.name);

		if (netinterface_name_len > name_len)

netinterface/netinterface_xs  view on Meta::CPAN

		 XSRETURN_UNDEF;
	}
	if ((items == 2) && (!SvREADONLY((SV*)ST(1))))
	{
		 sv_setpv((SV*)ST(1), name);
		 SvSETMAGIC(ST(1));
	}
OUTPUT:
	RETVAL
CLEANUP:
	safefree(RETVAL->data);
	safefree(RETVAL);

ppport.h  view on Meta::CPAN

PERL_MAGIC_glob|5.007002||p
PERL_MAGIC_isaelem|5.007002||p
PERL_MAGIC_isa|5.007002||p
PERL_MAGIC_mutex|5.007002||p
PERL_MAGIC_nkeys|5.007002||p
PERL_MAGIC_overload_elem|5.007002||p
PERL_MAGIC_overload_table|5.007002||p
PERL_MAGIC_overload|5.007002||p
PERL_MAGIC_pos|5.007002||p
PERL_MAGIC_qr|5.007002||p
PERL_MAGIC_regdata|5.007002||p
PERL_MAGIC_regdatum|5.007002||p
PERL_MAGIC_regex_global|5.007002||p
PERL_MAGIC_shared_scalar|5.007003||p
PERL_MAGIC_shared|5.007003||p
PERL_MAGIC_sigelem|5.007002||p
PERL_MAGIC_sig|5.007002||p
PERL_MAGIC_substr|5.007002||p
PERL_MAGIC_sv|5.007002||p
PERL_MAGIC_taint|5.007002||p
PERL_MAGIC_tiedelem|5.007002||p

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.693 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )