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

Commit 45433e31 authored by Gopinath Elanchezhian's avatar Gopinath Elanchezhian Committed by android-build-merger
Browse files

Merge "Add option to enable tracing all the launches." into qt-dev

am: 7fc8ac4e

Change-Id: I95bd2c71dd9abf5024680ff4748bac7d2f2d038c
parents 186bf7c6 7fc8ac4e
Loading
Loading
Loading
Loading
+37 −12
Original line number Original line Diff line number Diff line
@@ -78,6 +78,7 @@ public class AppLaunch extends InstrumentationTestCase {
    private static final String KEY_SIMPLEPERF_CMD = "simpleperf_cmd";
    private static final String KEY_SIMPLEPERF_CMD = "simpleperf_cmd";
    private static final String KEY_SIMPLEPERF_APP = "simpleperf_app";
    private static final String KEY_SIMPLEPERF_APP = "simpleperf_app";
    private static final String KEY_CYCLE_CLEAN = "cycle_clean";
    private static final String KEY_CYCLE_CLEAN = "cycle_clean";
    private static final String KEY_TRACE_ALL = "trace_all";
    private static final String KEY_TRACE_ITERATIONS = "trace_iterations";
    private static final String KEY_TRACE_ITERATIONS = "trace_iterations";
    private static final String KEY_LAUNCH_DIRECTORY = "launch_directory";
    private static final String KEY_LAUNCH_DIRECTORY = "launch_directory";
    private static final String KEY_TRACE_DIRECTORY = "trace_directory";
    private static final String KEY_TRACE_DIRECTORY = "trace_directory";
@@ -142,6 +143,7 @@ public class AppLaunch extends InstrumentationTestCase {
    private String[] mCompilerFilters = null;
    private String[] mCompilerFilters = null;
    private String mLastAppName = "";
    private String mLastAppName = "";
    private boolean mCycleCleanUp = false;
    private boolean mCycleCleanUp = false;
    private boolean mTraceAll = false;
    private boolean mIterationCycle = false;
    private boolean mIterationCycle = false;
    private long mCycleTime = 0;
    private long mCycleTime = 0;
    private StringBuilder mCycleTimes = new StringBuilder();
    private StringBuilder mCycleTimes = new StringBuilder();
@@ -296,6 +298,20 @@ public class AppLaunch extends InstrumentationTestCase {
                        // skip if the app has failures while launched first
                        // skip if the app has failures while launched first
                        continue;
                        continue;
                    }
                    }
                    AtraceLogger atraceLogger = null;
                    if (mTraceAll) {
                        Log.i(TAG, "Started tracing " + launch.getApp());
                        atraceLogger = AtraceLogger
                                .getAtraceLoggerInstance(getInstrumentation());
                    }
                    try {
                        // Start the trace
                        if (atraceLogger != null) {
                            atraceLogger.atraceStart(traceCategoriesSet, traceBufferSize,
                                    traceDumpInterval, rootTraceSubDir,
                                    String.format("%s-%s-%s", launch.getApp(),
                                            launch.getCompilerFilter(), launch.getLaunchReason()));
                        }
                        // In the "applaunch.txt" file app launches are referenced using
                        // In the "applaunch.txt" file app launches are referenced using
                        // "LAUNCH_ITERATION - ITERATION NUM"
                        // "LAUNCH_ITERATION - ITERATION NUM"
                        launchResults = startApp(launch.getApp(), launch.getLaunchReason());
                        launchResults = startApp(launch.getApp(), launch.getLaunchReason());
@@ -308,6 +324,14 @@ public class AppLaunch extends InstrumentationTestCase {
                            addLaunchResult(launch, launchResults);
                            addLaunchResult(launch, launchResults);
                        }
                        }
                        sleep(POST_LAUNCH_IDLE_TIMEOUT);
                        sleep(POST_LAUNCH_IDLE_TIMEOUT);
                    } finally {
                        // Stop the trace
                        if (atraceLogger != null) {
                            Log.i(TAG, "Stopped tracing " + launch.getApp());
                            atraceLogger.atraceStop();
                        }
                    }

                }
                }


                // App launch times for trace launch will not be used for final
                // App launch times for trace launch will not be used for final
@@ -534,6 +558,7 @@ public class AppLaunch extends InstrumentationTestCase {
        mLaunchOrder = args.getString(KEY_LAUNCH_ORDER, LAUNCH_ORDER_CYCLIC);
        mLaunchOrder = args.getString(KEY_LAUNCH_ORDER, LAUNCH_ORDER_CYCLIC);
        mSimplePerfAppOnly = Boolean.parseBoolean(args.getString(KEY_SIMPLEPERF_APP));
        mSimplePerfAppOnly = Boolean.parseBoolean(args.getString(KEY_SIMPLEPERF_APP));
        mCycleCleanUp = Boolean.parseBoolean(args.getString(KEY_CYCLE_CLEAN));
        mCycleCleanUp = Boolean.parseBoolean(args.getString(KEY_CYCLE_CLEAN));
        mTraceAll = Boolean.parseBoolean(args.getString(KEY_TRACE_ALL));
        mTrialLaunch = mTrialLaunch || Boolean.parseBoolean(args.getString(KEY_TRIAL_LAUNCH));
        mTrialLaunch = mTrialLaunch || Boolean.parseBoolean(args.getString(KEY_TRIAL_LAUNCH));


        if (mSimplePerfCmd != null && mSimplePerfAppOnly) {
        if (mSimplePerfCmd != null && mSimplePerfAppOnly) {