Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 614b4c4c authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Refactor ProcessStats, ProcessTracker."

parents 52a9a10b d2932243
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -296,7 +296,21 @@ public class Binder implements IBinder {
                disabled = sDumpDisabled;
            }
            if (disabled == null) {
                try {
                    dump(fd, pw, args);
                } catch (SecurityException e) {
                    pw.println();
                    pw.println("Security exception: " + e.getMessage());
                    throw e;
                } catch (Throwable e) {
                    // Unlike usual calls, in this case if an exception gets thrown
                    // back to us we want to print it back in to the dump data, since
                    // that is where the caller expects all interesting information to
                    // go.
                    pw.println();
                    pw.println("Exception occurred while dumping:");
                    e.printStackTrace(pw);
                }
            } else {
                pw.println(sDumpDisabled);
            }
@@ -443,7 +457,6 @@ final class BinderProxy implements IBinder {
        data.writeStringArray(args);
        try {
            transact(DUMP_TRANSACTION, data, reply, FLAG_ONEWAY);
            reply.readException();
        } finally {
            data.recycle();
            reply.recycle();
+39 −39
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;

public class ProcessStats {
public class ProcessCpuTracker {
    private static final String TAG = "ProcessStats";
    private static final boolean DEBUG = false;
    private static final boolean localLOGV = DEBUG || false;
@@ -256,7 +256,7 @@ public class ProcessStats {
    };


    public ProcessStats(boolean includeThreads) {
    public ProcessCpuTracker(boolean includeThreads) {
        mIncludeThreads = includeThreads;
    }

+9 −9
Original line number Diff line number Diff line
@@ -29,18 +29,18 @@ import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;

import com.android.internal.os.ProcessStats;
import com.android.internal.os.ProcessCpuTracker;

public class LoadAverageService extends Service {
    private View mView;

    private static final class Stats extends ProcessStats {
    private static final class CpuTracker extends ProcessCpuTracker {
        String mLoadText;
        int mLoadWidth;

        private final Paint mPaint;

        Stats(Paint paint) {
        CpuTracker(Paint paint) {
            super(false);
            mPaint = paint;
        }
@@ -70,7 +70,7 @@ public class LoadAverageService extends Service {
            }
        };

        private final Stats mStats;
        private final CpuTracker mStats;

        private Paint mLoadPaint;
        private Paint mAddedPaint;
@@ -150,7 +150,7 @@ public class LoadAverageService extends Service {
            float descent = mLoadPaint.descent();
            mFH = (int)(descent - mAscent + .5f);

            mStats = new Stats(mLoadPaint);
            mStats = new CpuTracker(mLoadPaint);
            mStats.init();
            updateDisplay();
        }
@@ -179,7 +179,7 @@ public class LoadAverageService extends Service {
            final int W = mNeededWidth;
            final int RIGHT = getWidth()-1;

            final Stats stats = mStats;
            final CpuTracker stats = mStats;
            final int userTime = stats.getLastUserTime();
            final int systemTime = stats.getLastSystemTime();
            final int iowaitTime = stats.getLastIoWaitTime();
@@ -226,7 +226,7 @@ public class LoadAverageService extends Service {

            int N = stats.countWorkingStats();
            for (int i=0; i<N; i++) {
                Stats.Stats st = stats.getWorkingStats(i);
                CpuTracker.Stats st = stats.getWorkingStats(i);
                y += mFH;
                top += mFH;
                bottom += mFH;
@@ -259,12 +259,12 @@ public class LoadAverageService extends Service {
        }

        void updateDisplay() {
            final Stats stats = mStats;
            final CpuTracker stats = mStats;
            final int NW = stats.countWorkingStats();

            int maxWidth = stats.mLoadWidth;
            for (int i=0; i<NW; i++) {
                Stats.Stats st = stats.getWorkingStats(i);
                CpuTracker.Stats st = stats.getWorkingStats(i);
                if (st.nameWidth > maxWidth) {
                    maxWidth = st.nameWidth;
                }
+16 −15
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;

import com.android.internal.app.ProcessStats;
import com.android.internal.os.BatteryStatsImpl;
import com.android.internal.os.TransferPipe;
import com.android.server.am.ActivityManagerService.ItemMatcher;
@@ -251,9 +252,9 @@ public final class ActiveServices {
        }
        r.lastActivity = SystemClock.uptimeMillis();
        r.startRequested = true;
        ProcessTracker.ServiceState stracker = r.getTracker();
        ProcessStats.ServiceState stracker = r.getTracker();
        if (stracker != null) {
            stracker.setStarted(true, mAm.mProcessTracker.getMemFactorLocked(), r.lastActivity);
            stracker.setStarted(true, mAm.mProcessStats.getMemFactorLocked(), r.lastActivity);
        }
        r.callStart = false;
        r.pendingStarts.add(new ServiceRecord.StartItem(r, false, r.makeNextStartId(),
@@ -274,7 +275,7 @@ public final class ActiveServices {
        }
        service.startRequested = false;
        if (service.tracker != null) {
            service.tracker.setStarted(false, mAm.mProcessTracker.getMemFactorLocked(),
            service.tracker.setStarted(false, mAm.mProcessStats.getMemFactorLocked(),
                    SystemClock.uptimeMillis());
        }
        service.callStart = false;
@@ -374,7 +375,7 @@ public final class ActiveServices {
            }
            r.startRequested = false;
            if (r.tracker != null) {
                r.tracker.setStarted(false, mAm.mProcessTracker.getMemFactorLocked(),
                r.tracker.setStarted(false, mAm.mProcessStats.getMemFactorLocked(),
                        SystemClock.uptimeMillis());
            }
            r.callStart = false;
@@ -516,9 +517,9 @@ public final class ActiveServices {
                s.lastActivity = SystemClock.uptimeMillis();
                if (!s.hasAutoCreateConnections()) {
                    // This is the first binding, let the tracker know.
                    ProcessTracker.ServiceState stracker = s.getTracker();
                    ProcessStats.ServiceState stracker = s.getTracker();
                    if (stracker != null) {
                        stracker.setBound(true, mAm.mProcessTracker.getMemFactorLocked(),
                        stracker.setBound(true, mAm.mProcessStats.getMemFactorLocked(),
                                s.lastActivity);
                    }
                }
@@ -844,9 +845,9 @@ public final class ActiveServices {
        long now = SystemClock.uptimeMillis();
        if (r.executeNesting == 0) {
            r.executeFg = fg;
            ProcessTracker.ServiceState stracker = r.getTracker();
            ProcessStats.ServiceState stracker = r.getTracker();
            if (stracker != null) {
                stracker.setExecuting(true, mAm.mProcessTracker.getMemFactorLocked(), now);
                stracker.setExecuting(true, mAm.mProcessStats.getMemFactorLocked(), now);
            }
            if (r.app != null) {
                if (r.app.executingServices.size() == 0) {
@@ -1079,7 +1080,7 @@ public final class ActiveServices {
                Slog.v(TAG_MU, "bringUpServiceLocked: appInfo.uid=" + r.appInfo.uid + " app=" + app);
            if (app != null && app.thread != null) {
                try {
                    app.addPackage(r.appInfo.packageName, mAm.mProcessTracker);
                    app.addPackage(r.appInfo.packageName, mAm.mProcessStats);
                    realStartServiceLocked(r, app, execInFg);
                    return null;
                } catch (RemoteException e) {
@@ -1364,7 +1365,7 @@ public final class ActiveServices {
           ((ServiceRestarter)r.restarter).setService(null);
        }

        int memFactor = mAm.mProcessTracker.getMemFactorLocked();
        int memFactor = mAm.mProcessStats.getMemFactorLocked();
        long now = SystemClock.uptimeMillis();
        if (r.tracker != null) {
            r.tracker.setStarted(false, memFactor, now);
@@ -1435,7 +1436,7 @@ public final class ActiveServices {
                boolean hasAutoCreate = s.hasAutoCreateConnections();
                if (!hasAutoCreate) {
                    if (s.tracker != null) {
                        s.tracker.setBound(false, mAm.mProcessTracker.getMemFactorLocked(),
                        s.tracker.setBound(false, mAm.mProcessStats.getMemFactorLocked(),
                                SystemClock.uptimeMillis());
                    }
                }
@@ -1541,7 +1542,7 @@ public final class ActiveServices {
            }
            r.executeFg = false;
            if (r.tracker != null) {
                r.tracker.setExecuting(false, mAm.mProcessTracker.getMemFactorLocked(),
                r.tracker.setExecuting(false, mAm.mProcessStats.getMemFactorLocked(),
                        SystemClock.uptimeMillis());
                if (inStopping) {
                    r.tracker.makeInactive();
@@ -1566,7 +1567,7 @@ public final class ActiveServices {

                    mPendingServices.remove(i);
                    i--;
                    proc.addPackage(sr.appInfo.packageName, mAm.mProcessTracker);
                    proc.addPackage(sr.appInfo.packageName, mAm.mProcessStats);
                    realStartServiceLocked(sr, proc, sr.createdFromFg);
                    didSomething = true;
                }
@@ -1737,7 +1738,7 @@ public final class ActiveServices {
            sr.isolatedProc = null;
            sr.executeNesting = 0;
            if (sr.tracker != null) {
                sr.tracker.setExecuting(false, mAm.mProcessTracker.getMemFactorLocked(),
                sr.tracker.setExecuting(false, mAm.mProcessStats.getMemFactorLocked(),
                        SystemClock.uptimeMillis());
            }
            if (mStoppingServices.remove(sr)) {
@@ -1772,7 +1773,7 @@ public final class ActiveServices {
                    if (sr.pendingStarts.size() == 0) {
                        sr.startRequested = false;
                        if (sr.tracker != null) {
                            sr.tracker.setStarted(false, mAm.mProcessTracker.getMemFactorLocked(),
                            sr.tracker.setStarted(false, mAm.mProcessStats.getMemFactorLocked(),
                                    SystemClock.uptimeMillis());
                        }
                        if (!sr.hasAutoCreateConnections()) {
Loading