AIX-Perfstat
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
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)
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);
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 distributionview release on metacpan - search on metacpan
( run in 1.693 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )