perfstat_node Subroutine
Purpose
These subroutines retrieve the performance statistics of the subsystem type for a remote node. The list of subroutines are
- perfstat_cpu_node
- perfstat_cpu_total_node
- perfstat_disk_node
- perfstat_disk_total_node
- perfstat_diskadapter_node
- perfstat_diskpath_node
- perfstat_fcstat_node
- perfstat_logicalvolume_node
- perfstat_memory_page_node
- perfstat_memory_total_node
- perfstat_netadapter_node
- perfstat_netbuffer_node
- perfstat_netinterface_node
- perfstat_netinterface_total_node
- perfstat_pagingspace_node
- perfstat_partition_total_node
- perfstat_protocol_node
- perfstat_tape_node
- perfstat_tape_total_node
- perfstat_volumegroup_node
Library
Perfstat
library (libperfstat.a
)
Syntax
#include <libperfstat.h>
int perfstat_cpu_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_cpu_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_cpu_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_cpu_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_disk_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_disk_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_disk_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_disk_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_diskadapter_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_diskadapter_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_diskpath_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_diskpath_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_fcstat_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_fcstat_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_logicalvolume_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_logicalvolume_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_memory_page_node (name, psize, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_psize_t *psize;
perfstat_memory_page_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_memory_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_memory_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netadapter_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netadapter_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netbuffer_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netbuffer_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netinterface_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netinterface_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netinterface_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netinterface_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_pagingspace_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_pagingspace_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_partition_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_partition_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_protocol_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_protocol_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_tape_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_tape_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_tape_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_tape_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_volumegroup_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_volumegroup_t *userbuff;
int sizeof_userbuff;
int desired_number
Description
These
subroutines return the performance statistics of the remote node in
their corresponding perfstat_subsystem_t
structure.
All
these subroutines are called only after the node or cluster statistics
collection is enabled by calling the perfstat_config
function:
perfstat_config
(PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL)
The node
or cluster statistics collection is disabled after collecting the
remote node data by calling the perfstat_config
function:
perfstat_config
(PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL)
To get the statistics from any particular node in the cluster, specify the Node name value in the name parameter. The userbuff parameter must be allocated. The desired number parameter must be set.
perfstat
API
call runs belong to the same cluster.The perfstat_fcstat_node subroutine does not work for the nonroot user.
Parameters
Item | Description |
---|---|
name.u.nodename | Specifies the node name. |
name.spec | Specifies the node specifier. |
name.name | Specifies the first component for which statistics are collected. For example, hdisk0, hdisk1, cpu0, and cpu1. |
psize | Specifies the page size for which the statistics are collected. |
userbuff | Points to the memory area that is to be filled with the
perfstat_<subsystem>_t structure. |
sizeof_userbuff | Specifies the size of the perfstat_<subsystem>_t
structure. |
desired_number | Specifies the number of structures to return. |
Return Values
On successful completion of the subroutine, the number of available structures is returned. Otherwise, a value of -1 is returned and the errno global variable is set to indicate the error.
Error Codes
The perfstat_node subroutine fails if one or more of the following are true:
Item | Description |
---|---|
EINVAL |
One of the parameters is not valid. |
ENOENT |
Either the cluster statistics collection is not enabled by using
perfstat_config() , or the cluster statistics collection is not currently
supported. |
Files
The libperfstat.h file defines standard macros, data types, and subroutines.