Loading core/java/android/os/OomKillRecord.java +17 −3 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.internal.util.FrameworkStatsLog; * Note that this class fields' should be equivalent to the struct * <b>OomKill</b> inside * <pre> * system/memory/libmeminfo/libmemevents/include/memevents.h * system/memory/libmeminfo/libmemevents/include/memevents/bpf_types.h * </pre> * * @hide Loading @@ -36,14 +36,27 @@ public final class OomKillRecord { private int mUid; private String mProcessName; private short mOomScoreAdj; private long mTotalVmInKb; private long mAnonRssInKb; private long mFileRssInKb; private long mShmemRssInKb; private long mPgTablesInKb; public OomKillRecord(long timeStampInMillis, int pid, int uid, String processName, short oomScoreAdj) { String processName, short oomScoreAdj, long totalVmInKb, long anonRssInKb, long fileRssInKb, long shmemRssInKb, long pgTablesInKb) { this.mTimeStampInMillis = timeStampInMillis; this.mPid = pid; this.mUid = uid; this.mProcessName = processName; this.mOomScoreAdj = oomScoreAdj; this.mTotalVmInKb = totalVmInKb; this.mAnonRssInKb = anonRssInKb; this.mFileRssInKb = fileRssInKb; this.mShmemRssInKb = shmemRssInKb; this.mPgTablesInKb = pgTablesInKb; } /** Loading @@ -55,7 +68,8 @@ public final class OomKillRecord { FrameworkStatsLog.write( FrameworkStatsLog.KERNEL_OOM_KILL_OCCURRED, mUid, mPid, mOomScoreAdj, mTimeStampInMillis, mProcessName); mProcessName, mTotalVmInKb, mAnonRssInKb, mFileRssInKb, mShmemRssInKb, mPgTablesInKb); } public long getTimestampMilli() { Loading services/core/jni/com_android_server_am_OomConnection.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -92,9 +92,11 @@ static jobjectArray android_server_am_OomConnection_waitOom(JNIEnv* env, jobject memevent_listener.deregisterAllEvents(); jniThrowRuntimeException(env, "Failed creating java string for process name"); } jobject java_oom_kill = env->NewObject(sOomKillRecordInfo.clazz, sOomKillRecordInfo.ctor, oom_kill.timestamp_ms, oom_kill.pid, oom_kill.uid, process_name, oom_kill.oom_score_adj); jobject java_oom_kill = env->NewObject(sOomKillRecordInfo.clazz, sOomKillRecordInfo.ctor, oom_kill.timestamp_ms, oom_kill.pid, oom_kill.uid, process_name, oom_kill.oom_score_adj, oom_kill.total_vm_kb, oom_kill.anon_rss_kb, oom_kill.file_rss_kb, oom_kill.shmem_rss_kb, oom_kill.pgtables_kb); if (java_oom_kill == NULL) { memevent_listener.deregisterAllEvents(); jniThrowRuntimeException(env, "Failed to create OomKillRecord object"); Loading @@ -115,8 +117,8 @@ int register_android_server_am_OomConnection(JNIEnv* env) { sOomKillRecordInfo.clazz = FindClassOrDie(env, "android/os/OomKillRecord"); sOomKillRecordInfo.clazz = MakeGlobalRefOrDie(env, sOomKillRecordInfo.clazz); sOomKillRecordInfo.ctor = GetMethodIDOrDie(env, sOomKillRecordInfo.clazz, "<init>", "(JIILjava/lang/String;S)V"); sOomKillRecordInfo.ctor = GetMethodIDOrDie(env, sOomKillRecordInfo.clazz, "<init>", "(JIILjava/lang/String;SJJJJJ)V"); return RegisterMethodsOrDie(env, "com/android/server/am/OomConnection", sOomConnectionMethods, NELEM(sOomConnectionMethods)); Loading Loading
core/java/android/os/OomKillRecord.java +17 −3 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.internal.util.FrameworkStatsLog; * Note that this class fields' should be equivalent to the struct * <b>OomKill</b> inside * <pre> * system/memory/libmeminfo/libmemevents/include/memevents.h * system/memory/libmeminfo/libmemevents/include/memevents/bpf_types.h * </pre> * * @hide Loading @@ -36,14 +36,27 @@ public final class OomKillRecord { private int mUid; private String mProcessName; private short mOomScoreAdj; private long mTotalVmInKb; private long mAnonRssInKb; private long mFileRssInKb; private long mShmemRssInKb; private long mPgTablesInKb; public OomKillRecord(long timeStampInMillis, int pid, int uid, String processName, short oomScoreAdj) { String processName, short oomScoreAdj, long totalVmInKb, long anonRssInKb, long fileRssInKb, long shmemRssInKb, long pgTablesInKb) { this.mTimeStampInMillis = timeStampInMillis; this.mPid = pid; this.mUid = uid; this.mProcessName = processName; this.mOomScoreAdj = oomScoreAdj; this.mTotalVmInKb = totalVmInKb; this.mAnonRssInKb = anonRssInKb; this.mFileRssInKb = fileRssInKb; this.mShmemRssInKb = shmemRssInKb; this.mPgTablesInKb = pgTablesInKb; } /** Loading @@ -55,7 +68,8 @@ public final class OomKillRecord { FrameworkStatsLog.write( FrameworkStatsLog.KERNEL_OOM_KILL_OCCURRED, mUid, mPid, mOomScoreAdj, mTimeStampInMillis, mProcessName); mProcessName, mTotalVmInKb, mAnonRssInKb, mFileRssInKb, mShmemRssInKb, mPgTablesInKb); } public long getTimestampMilli() { Loading
services/core/jni/com_android_server_am_OomConnection.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -92,9 +92,11 @@ static jobjectArray android_server_am_OomConnection_waitOom(JNIEnv* env, jobject memevent_listener.deregisterAllEvents(); jniThrowRuntimeException(env, "Failed creating java string for process name"); } jobject java_oom_kill = env->NewObject(sOomKillRecordInfo.clazz, sOomKillRecordInfo.ctor, oom_kill.timestamp_ms, oom_kill.pid, oom_kill.uid, process_name, oom_kill.oom_score_adj); jobject java_oom_kill = env->NewObject(sOomKillRecordInfo.clazz, sOomKillRecordInfo.ctor, oom_kill.timestamp_ms, oom_kill.pid, oom_kill.uid, process_name, oom_kill.oom_score_adj, oom_kill.total_vm_kb, oom_kill.anon_rss_kb, oom_kill.file_rss_kb, oom_kill.shmem_rss_kb, oom_kill.pgtables_kb); if (java_oom_kill == NULL) { memevent_listener.deregisterAllEvents(); jniThrowRuntimeException(env, "Failed to create OomKillRecord object"); Loading @@ -115,8 +117,8 @@ int register_android_server_am_OomConnection(JNIEnv* env) { sOomKillRecordInfo.clazz = FindClassOrDie(env, "android/os/OomKillRecord"); sOomKillRecordInfo.clazz = MakeGlobalRefOrDie(env, sOomKillRecordInfo.clazz); sOomKillRecordInfo.ctor = GetMethodIDOrDie(env, sOomKillRecordInfo.clazz, "<init>", "(JIILjava/lang/String;S)V"); sOomKillRecordInfo.ctor = GetMethodIDOrDie(env, sOomKillRecordInfo.clazz, "<init>", "(JIILjava/lang/String;SJJJJJ)V"); return RegisterMethodsOrDie(env, "com/android/server/am/OomConnection", sOomConnectionMethods, NELEM(sOomConnectionMethods)); Loading