Merge "Check if CPU time tracking is expected to work" into sc-dev

This commit is contained in:
Rafal Slawik
2021-02-08 16:44:23 +00:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 4 deletions

View File

@@ -24,10 +24,7 @@ public final class KernelCpuTotalBpfMapReader {
}
/** Returns whether total CPU time is measured. */
public static boolean isSupported() {
// TODO(b/174245730): Implement this check.
return true;
}
public static native boolean isSupported();
/** Reads total CPU time from bpf map. */
public static native boolean read(Callback callback);

View File

@@ -20,6 +20,10 @@
namespace android {
static jboolean KernelCpuTotalBpfMapReader_isSupported(JNIEnv *, jobject) {
return android::bpf::isTrackingUidTimesSupported() ? JNI_TRUE : JNI_FALSE;
}
static jboolean KernelCpuTotalBpfMapReader_read(JNIEnv *env, jobject, jobject callback) {
jclass callbackClass = env->GetObjectClass(callback);
jmethodID callbackMethod = env->GetMethodID(callbackClass, "accept", "(IIJ)V");
@@ -47,6 +51,7 @@ static jboolean KernelCpuTotalBpfMapReader_read(JNIEnv *env, jobject, jobject ca
static const JNINativeMethod methods[] = {
{"read", "(Lcom/android/internal/os/KernelCpuTotalBpfMapReader$Callback;)Z",
(void *)KernelCpuTotalBpfMapReader_read},
{"isSupported", "()Z", (void *)KernelCpuTotalBpfMapReader_isSupported},
};
int register_com_android_internal_os_KernelCpuTotalBpfMapReader(JNIEnv *env) {