From 91e50a268c8ea358fe1142611d117cd8a74ec9cf Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 29 Oct 2015 17:32:28 -0700 Subject: [PATCH] Further tweak to issue #issue #25371736: Don't include z-ram allocations in Android OS Make sure the duration shown for z-ram is sane (the maximum of the other process durations of that app). Change-Id: I62c46b89f927b2c7c16f5c31f6910419b2bdd130 --- src/com/android/settings/applications/ProcStatsData.java | 14 +++++++++----- src/com/android/settings/applications/ProcStatsEntry.java | 5 +++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/applications/ProcStatsData.java b/src/com/android/settings/applications/ProcStatsData.java index efdf158f2d..0cd80e7ecf 100644 --- a/src/com/android/settings/applications/ProcStatsData.java +++ b/src/com/android/settings/applications/ProcStatsData.java @@ -201,17 +201,21 @@ public class ProcStatsData { for (int i = pkgEntries.size() - 1; i >= 0 && totalTime > 0; i--) { ProcStatsPackageEntry entry = pkgEntries.get(i); long pkgRunTime = 0; + long maxRunTime = 0; for (int j = entry.mEntries.size() - 1; j >= 0; j--) { ProcStatsEntry proc = entry.mEntries.get(j); pkgRunTime += proc.mRunDuration; + if (proc.mRunDuration > maxRunTime) { + maxRunTime = proc.mRunDuration; + } } long pkgZRam = (zramMem*pkgRunTime)/totalTime; if (pkgZRam > 0) { zramMem -= pkgZRam; totalTime -= pkgRunTime; ProcStatsEntry procEntry = new ProcStatsEntry(entry.mPackage, 0, - mContext.getString(R.string.process_stats_os_zram), memTotalTime, - pkgZRam); + mContext.getString(R.string.process_stats_os_zram), maxRunTime, + pkgZRam, memTotalTime); procEntry.evaluateTargetPackage(mPm, mStats, null, null, sEntryCompare, mUseUss); entry.addEntry(procEntry); } @@ -226,14 +230,14 @@ public class ProcStatsData { if (totalMem.sysMemNativeWeight > 0) { osEntry = new ProcStatsEntry(Utils.OS_PKG, 0, mContext.getString(R.string.process_stats_os_native), memTotalTime, - (long) (totalMem.sysMemNativeWeight / memTotalTime)); + (long) (totalMem.sysMemNativeWeight / memTotalTime), memTotalTime); osEntry.evaluateTargetPackage(mPm, mStats, bgTotals, runTotals, sEntryCompare, mUseUss); osPkg.addEntry(osEntry); } if (totalMem.sysMemKernelWeight > 0) { osEntry = new ProcStatsEntry(Utils.OS_PKG, 0, mContext.getString(R.string.process_stats_os_kernel), memTotalTime, - (long) (totalMem.sysMemKernelWeight / memTotalTime)); + (long) (totalMem.sysMemKernelWeight / memTotalTime), memTotalTime); osEntry.evaluateTargetPackage(mPm, mStats, bgTotals, runTotals, sEntryCompare, mUseUss); osPkg.addEntry(osEntry); } @@ -249,7 +253,7 @@ public class ProcStatsData { if (baseCacheRam > 0) { osEntry = new ProcStatsEntry(Utils.OS_PKG, 0, mContext.getString(R.string.process_stats_os_cache), memTotalTime, - baseCacheRam / 1024); + baseCacheRam / 1024, memTotalTime); osEntry.evaluateTargetPackage(mPm, mStats, bgTotals, runTotals, sEntryCompare, mUseUss); osPkg.addEntry(osEntry); } diff --git a/src/com/android/settings/applications/ProcStatsEntry.java b/src/com/android/settings/applications/ProcStatsEntry.java index 637003cb17..97a73c47c0 100644 --- a/src/com/android/settings/applications/ProcStatsEntry.java +++ b/src/com/android/settings/applications/ProcStatsEntry.java @@ -72,13 +72,14 @@ public final class ProcStatsEntry implements Parcelable { + " avgpss=" + mAvgBgMem + " weight=" + mBgWeight); } - public ProcStatsEntry(String pkgName, int uid, String procName, long duration, long mem) { + public ProcStatsEntry(String pkgName, int uid, String procName, long duration, long mem, + long memDuration) { mPackage = pkgName; mUid = uid; mName = procName; mBgDuration = mRunDuration = duration; mAvgBgMem = mMaxBgMem = mAvgRunMem = mMaxRunMem = mem; - mBgWeight = mRunWeight = ((double)duration) * mem; + mBgWeight = mRunWeight = ((double)memDuration) * mem; if (DEBUG) Log.d(TAG, "New proc entry " + procName + ": dur=" + mBgDuration + " avgpss=" + mAvgBgMem + " weight=" + mBgWeight); } -- 2.11.0