Perfstat (JNA API)
Description: declaration: package: com.sun.jna.platform.unix.aix, interface: Perfstat

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.