Package com.sun.jna.platform.unix.aix

# Interface Perfstat

All Superinterfaces:
  `Library`

public interface Perfstat extends Library
The perfstat API uses the perfstat kernel extension to extract various AIX® performance metrics. System component information is also retrieved from the Object Data Manager (ODM) and returned with the performance metrics. The perfstat API is thread–safe, and does not require root authority.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static class`
`Perfstat.perfstat_cpu_t`
`static class`
`Perfstat.perfstat_cpu_total_t`
`static class`
`Perfstat.perfstat_disk_t`
`static class`
`Perfstat.perfstat_id_t`
`static class`
`Perfstat.perfstat_memory_total_t`
`static class`
`Perfstat.perfstat_netinterface_t`
`static class`
`Perfstat.perfstat_partition_config_t`
`static class`
`Perfstat.perfstat_process_t`
`static class`
`Perfstat.perfstat_protocol_t`
`static class`
`Perfstat.perfstat_value_t`

## Nested classes/interfaces inherited from interface com.sun.jna.Library

`Library.Handler`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`IDENTIFIER_LENGTH`
`static final Perfstat`
`INSTANCE`

### Fields inherited from interface com.sun.jna.Library

`OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_SYMBOL_PROVIDER, OPTION_TYPE_MAPPER`

## Method Summary

Modifier and Type
Method
Description
`int`
`perfstat_cpu(Perfstat.perfstat_id_t name, Perfstat.perfstat_cpu_t[] cpu, int sizeof_struct, int desired_number)`
Retrieves individual processor usage metrics
`int`
`perfstat_cpu_total(Perfstat.perfstat_id_t name, Perfstat.perfstat_cpu_total_t cpu, int sizeof_struct, int desired_number)`
Retrieves total processor usage metrics
`int`
`perfstat_disk(Perfstat.perfstat_id_t name, Perfstat.perfstat_disk_t[] disks, int sizeof_struct, int desired_number)`
Retrieves disk statistics
`int`
`perfstat_memory_total(Perfstat.perfstat_id_t name, Perfstat.perfstat_memory_total_t mem, int sizeof_struct, int desired_number)`
Retrieves total memory-related metrics
`int`
`perfstat_netinterface(Perfstat.perfstat_id_t name, Perfstat.perfstat_netinterface_t[] netints, int sizeof_struct, int desired_number)`
Retrieves network interfaces
`int`
`perfstat_partition_config(Perfstat.perfstat_id_t name, Perfstat.perfstat_partition_config_t config, int sizeof_struct, int desired_number)`
Retrieves total memory-related metrics
`int`
`perfstat_process(Perfstat.perfstat_id_t name, Perfstat.perfstat_process_t[] procs, int sizeof_struct, int desired_number)`
Retrieves process-related metrics
`int`
`perfstat_protocol(Perfstat.perfstat_id_t name, Perfstat.perfstat_protocol_t[] protocols, int sizeof_struct, int desired_number)`
Retrieves protocol data

## Field Details

### INSTANCE

static final Perfstat INSTANCE

### IDENTIFIER_LENGTH

static final int IDENTIFIER_LENGTH

See Also:
  - Constant Field Values

## Method Details

### perfstat_cpu_total

int perfstat_cpu_total(Perfstat.perfstat_id_t name, Perfstat.perfstat_cpu_total_t cpu, int sizeof_struct, int desired_number)
Retrieves total processor usage metrics

Parameters:
  `name` - Reserved for future use, must be NULL
  `cpu` - Populated with structure
  `sizeof_struct` - Should be set to sizeof(perfstat_cpu_total_t)
  `desired_number` - Reserved for future use, must be set to 0 or 1
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned. This is always 1.

### perfstat_cpu

int perfstat_cpu(Perfstat.perfstat_id_t name, Perfstat.perfstat_cpu_t[] cpu, int sizeof_struct, int desired_number)
Retrieves individual processor usage metrics

Parameters:
  `name` - Structure containing empty string when collecting all cpu stats, or null to count CPUs
  `cpu` - Populated with structures, or null to count CPUs
  `sizeof_struct` - Should be set to sizeof(perfstat_cpu_t)
  `desired_number` - Set to 0 to count CPUs, set to number of cpus to return otherwise
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned.

### perfstat_memory_total

int perfstat_memory_total(Perfstat.perfstat_id_t name, Perfstat.perfstat_memory_total_t mem, int sizeof_struct, int desired_number)
Retrieves total memory-related metrics

Parameters:
  `name` - Reserved for future use, must be NULL
  `mem` - Populated with structure
  `sizeof_struct` - Should be set to sizeof(perfstat_memory_total_t)
  `desired_number` - Reserved for future use, must be set to 0 or 1
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned. This is always 1.

### perfstat_process

int perfstat_process(Perfstat.perfstat_id_t name, Perfstat.perfstat_process_t[] procs, int sizeof_struct, int desired_number)
Retrieves process-related metrics

Parameters:
  `name` - Structure containing empty string when collecting all process stats, or null to count processes
  `procs` - Populated with structure
  `sizeof_struct` - Should be set to sizeof(perfstat_process_t)
  `desired_number` - Set to 0 to count processes, set to number of processes to return otherwise
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned.

### perfstat_disk

int perfstat_disk(Perfstat.perfstat_id_t name, Perfstat.perfstat_disk_t[] disks, int sizeof_struct, int desired_number)
Retrieves disk statistics

Parameters:
  `name` - Structure containing empty string when collecting all disk stats, or null to count block disks
  `disks` - Populated with structures, or null to count disks
  `sizeof_struct` - Should be set to sizeof(perfstat_disk_t)
  `desired_number` - Set to 0 to count disks, set to number of disks to return otherwise
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned.

### perfstat_partition_config

int perfstat_partition_config(Perfstat.perfstat_id_t name, Perfstat.perfstat_partition_config_t config, int sizeof_struct, int desired_number)
Retrieves total memory-related metrics

Parameters:
  `name` - Reserved for future use, must be NULL
  `config` - Populated with structure
  `sizeof_struct` - Should be set to sizeof(perfstat_partition_config_t)
  `desired_number` - Reserved for future use, must be set to 0 or 1
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned. This is always 1.

### perfstat_netinterface

int perfstat_netinterface(Perfstat.perfstat_id_t name, Perfstat.perfstat_netinterface_t[] netints, int sizeof_struct, int desired_number)
Retrieves network interfaces

Parameters:
  `name` - Structure containing empty string when collecting all interface stats, or null to count interfaces
  `netints` - Populated with structures, or null to count interfaces
  `sizeof_struct` - Should be set to sizeof(perfstat_netinterface_t)
  `desired_number` - Set to 0 to count network interfaces, set to number of interfaces to return otherwise
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned.

### perfstat_protocol

int perfstat_protocol(Perfstat.perfstat_id_t name, Perfstat.perfstat_protocol_t[] protocols, int sizeof_struct, int desired_number)
Retrieves protocol data

Parameters:
  `name` - Structure containing empty string when collecting all protocol stats, or null to count stats
  `protocols` - Populated with structures, or null to count protocols
  `sizeof_struct` - Should be set to sizeof(perfstat_protocol_t)
  `desired_number` - Set to 0 to count protocols, set to number of protocols to return otherwise
Returns:
  The return value is -1 in case of errors. Otherwise, the number of structures copied is returned.