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.
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 is collected. For example, hdisk0, hdisk1, cpu0, and cpu1. |
psize | Specifies the page size for which the statistics is 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 are not valid. |
ENOENT | Either the cluster statistics collection is not enabled using perfstat_config(), or the cluster statistics collection is not currently supported. |
Files
The libperfstat.h file defines standard macros, data types, and subroutines.