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

Commit 35b008b9 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

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

Merge "Merge "Add option to enable tracing all the launches." into qt-dev am: 7fc8ac4e" into qt-dev-plus-aosp
parents 14626021 45433e31
Loading
Loading
Loading
Loading
+37 −12
Original line number 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_APP = "simpleperf_app";
    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_LAUNCH_DIRECTORY = "launch_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 mLastAppName = "";
    private boolean mCycleCleanUp = false;
    private boolean mTraceAll = false;
    private boolean mIterationCycle = false;
    private long mCycleTime = 0;
    private StringBuilder mCycleTimes = new StringBuilder();
@@ -296,6 +298,20 @@ public class AppLaunch extends InstrumentationTestCase {
                        // skip if the app has failures while launched first
                        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
                        // "LAUNCH_ITERATION - ITERATION NUM"
                        launchResults = startApp(launch.getApp(), launch.getLaunchReason());
@@ -308,6 +324,14 @@ public class AppLaunch extends InstrumentationTestCase {
                            addLaunchResult(launch, launchResults);
                        }
                        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
@@ -534,6 +558,7 @@ public class AppLaunch extends InstrumentationTestCase {
        mLaunchOrder = args.getString(KEY_LAUNCH_ORDER, LAUNCH_ORDER_CYCLIC);
        mSimplePerfAppOnly = Boolean.parseBoolean(args.getString(KEY_SIMPLEPERF_APP));
        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));

        if (mSimplePerfCmd != null && mSimplePerfAppOnly) {