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 int` | `IDENTIFIER_LENGTH` |
    `static 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_TYPE_MAPPER`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    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 Detail

    - #### INSTANCE

          static final Perfstat INSTANCE

    - #### IDENTIFIER_LENGTH

          static final int IDENTIFIER_LENGTH

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### 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.