add PdhLookupPerfNameByIndex wrapper
This commit is contained in:
parent
36bd793822
commit
9dae5e1ab1
|
@ -401,6 +401,23 @@ JNIEXPORT jobjectArray SIGAR_JNI(win32_Pdh_pdhGetObjects)
|
|||
return array;
|
||||
}
|
||||
|
||||
JNIEXPORT jstring SIGAR_JNI(win32_Pdh_pdhLookupPerfName)
|
||||
(JNIEnv *env, jclass cur, jint index)
|
||||
{
|
||||
TCHAR path[8192];
|
||||
DWORD len = sizeof(path);
|
||||
PDH_STATUS status =
|
||||
PdhLookupPerfNameByIndex(NULL, index, path, &len);
|
||||
|
||||
if (status == ERROR_SUCCESS) {
|
||||
return JENV->NewStringUTF(env, path);
|
||||
}
|
||||
else {
|
||||
win32_throw_exception(env, get_error_message(status));
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -101,6 +101,12 @@ public class Pdh extends Win32 {
|
|||
return counters.map;
|
||||
}
|
||||
|
||||
public static String getCounterName(int index)
|
||||
throws Win32Exception {
|
||||
|
||||
return pdhLookupPerfName(index);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see #getRawValue(String path)
|
||||
|
@ -163,6 +169,8 @@ public class Pdh extends Win32 {
|
|||
throws Win32Exception;
|
||||
private static final native String[] pdhGetObjects()
|
||||
throws Win32Exception;
|
||||
private static final native String pdhLookupPerfName(int index)
|
||||
throws Win32Exception;
|
||||
|
||||
/**
|
||||
* Main method for dumping the entire PDH
|
||||
|
|
|
@ -68,10 +68,14 @@ public class TestPdh extends SigarTestCase {
|
|||
};
|
||||
String last = null;
|
||||
for (int i=0; i<keys.length; i++) {
|
||||
String index = (String)counters.get(keys[i]);
|
||||
String name = keys[i];
|
||||
String index = (String)counters.get(name);
|
||||
assertFalse(index.equals(last));
|
||||
traceln(keys[i] + "=" + index);
|
||||
traceln(name + "=" + index);
|
||||
last = index;
|
||||
String lookupName =
|
||||
Pdh.getCounterName(Integer.parseInt(index));
|
||||
traceln(name + "=" + lookupName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue