Class PerfCounterWildcardQuery

java.lang.Object
oshi.util.platform.windows.PerfCounterWildcardQuery

@ThreadSafe public final class PerfCounterWildcardQuery extends Object
Enables queries of Performance Counters using wild cards to filter instances
  • Method Details

    • queryInstancesAndValues

      public static <T extends Enum<T>> Pair<List<String>,Map<T,List<Long>>> queryInstancesAndValues(Class<T> propertyEnum, String perfObject, String perfWmiClass)
      Query the a Performance Counter using PDH, with WMI backup on failure, for values corresponding to the property enum.
      Type Parameters:
      T - The enum type of propertyEnum
      Parameters:
      propertyEnum - An enum which implements PerfCounterQuery.PdhCounterProperty and contains the WMI field (Enum value) and PDH Counter string (instance and counter)
      perfObject - The PDH object for this counter; all counters on this object will be refreshed at the same time
      perfWmiClass - The WMI PerfData_RawData_* class corresponding to the PDH object
      Returns:
      A pair containing a list of instances and an EnumMap of the corresponding values indexed by propertyEnum on success, or an empty list and empty map if both PDH and WMI queries failed.
    • queryInstancesAndValues

      public static <T extends Enum<T>> Pair<List<String>,Map<T,List<Long>>> queryInstancesAndValues(Class<T> propertyEnum, String perfObject, String perfWmiClass, String customFilter)
      Query the a Performance Counter using PDH, with WMI backup on failure, for values corresponding to the property enum.
      Type Parameters:
      T - The enum type of propertyEnum
      Parameters:
      propertyEnum - An enum which implements PerfCounterQuery.PdhCounterProperty and contains the WMI field (Enum value) and PDH Counter string (instance and counter)
      perfObject - The PDH object for this counter; all counters on this object will be refreshed at the same time
      perfWmiClass - The WMI PerfData_RawData_* class corresponding to the PDH object
      customFilter - a custom instance filter to use. If null, uses the first element of the property enum
      Returns:
      A pair containing a list of instances and an EnumMap of the corresponding values indexed by propertyEnum on success, or an empty list and empty map if both PDH and WMI queries failed.
    • queryInstancesAndValuesFromPDH

      public static <T extends Enum<T>> Pair<List<String>,Map<T,List<Long>>> queryInstancesAndValuesFromPDH(Class<T> propertyEnum, String perfObject)
      Query the a Performance Counter using PDH for values corresponding to the property enum.
      Type Parameters:
      T - The enum type of propertyEnum
      Parameters:
      propertyEnum - An enum which implements PerfCounterQuery.PdhCounterProperty and contains the WMI field (Enum value) and PDH Counter string (instance and counter)
      perfObject - The PDH object for this counter; all counters on this object will be refreshed at the same time
      Returns:
      An pair containing a list of instances and an EnumMap of the corresponding values indexed by propertyEnum on success, or an empty list and empty map if the PDH query failed.
    • queryInstancesAndValuesFromPDH

      public static <T extends Enum<T>> Pair<List<String>,Map<T,List<Long>>> queryInstancesAndValuesFromPDH(Class<T> propertyEnum, String perfObject, String customFilter)
      Query the a Performance Counter using PDH for values corresponding to the property enum.
      Type Parameters:
      T - The enum type of propertyEnum
      Parameters:
      propertyEnum - An enum which implements PerfCounterQuery.PdhCounterProperty and contains the WMI field (Enum value) and PDH Counter string (instance and counter)
      perfObject - The PDH object for this counter; all counters on this object will be refreshed at the same time
      customFilter - a custom instance filter to use. If null, uses the first element of the property enum
      Returns:
      An pair containing a list of instances and an EnumMap of the corresponding values indexed by propertyEnum on success, or an empty list and empty map if the PDH query failed.
    • queryInstancesAndValuesFromWMI

      public static <T extends Enum<T>> Pair<List<String>,Map<T,List<Long>>> queryInstancesAndValuesFromWMI(Class<T> propertyEnum, String wmiClass)
      Query the a Performance Counter using WMI for values corresponding to the property enum.
      Type Parameters:
      T - The enum type of propertyEnum
      Parameters:
      propertyEnum - An enum which implements PerfCounterQuery.PdhCounterProperty and contains the WMI field (Enum value) and PDH Counter string (instance and counter)
      wmiClass - The WMI PerfData_RawData_* class corresponding to the PDH object
      Returns:
      An pair containing a list of instances and an EnumMap of the corresponding values indexed by propertyEnum on success, or an empty list and empty map if the WMI query failed.