summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rafal Slawik <rslawik@google.com> 2021-02-08 16:44:23 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-02-08 16:44:23 +0000
commit64454600c6f4ffad968e44b8c4fbd6e4d6a1bbc8 (patch)
tree7a303cabc59957b06e3d227f5a8a660114fc6521
parent2c3254c775cc117222e9aec71f7eee5556e049d0 (diff)
parentf280c6aba50b43edd1e5a0d97294d41cc70ac3eb (diff)
Merge "Check if CPU time tracking is expected to work" into sc-dev
-rw-r--r--core/java/com/android/internal/os/KernelCpuTotalBpfMapReader.java5
-rw-r--r--core/jni/com_android_internal_os_KernelCpuTotalBpfMapReader.cpp5
2 files changed, 6 insertions, 4 deletions
diff --git a/core/java/com/android/internal/os/KernelCpuTotalBpfMapReader.java b/core/java/com/android/internal/os/KernelCpuTotalBpfMapReader.java
index fa552e3603c6..50331e3338dc 100644
--- a/core/java/com/android/internal/os/KernelCpuTotalBpfMapReader.java
+++ b/core/java/com/android/internal/os/KernelCpuTotalBpfMapReader.java
@@ -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);
diff --git a/core/jni/com_android_internal_os_KernelCpuTotalBpfMapReader.cpp b/core/jni/com_android_internal_os_KernelCpuTotalBpfMapReader.cpp
index 72492381e31a..d8446ca2881d 100644
--- a/core/jni/com_android_internal_os_KernelCpuTotalBpfMapReader.cpp
+++ b/core/jni/com_android_internal_os_KernelCpuTotalBpfMapReader.cpp
@@ -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) {