diff --git a/wlauto/common/android/BaseUiAutomation$ActionLogger.class b/wlauto/common/android/BaseUiAutomation$ActionLogger.class index 581e1e8b..bde4b8f2 100644 Binary files a/wlauto/common/android/BaseUiAutomation$ActionLogger.class and b/wlauto/common/android/BaseUiAutomation$ActionLogger.class differ diff --git a/wlauto/common/android/workload.py b/wlauto/common/android/workload.py index 1d48796e..aad30932 100755 --- a/wlauto/common/android/workload.py +++ b/wlauto/common/android/workload.py @@ -200,6 +200,7 @@ class ApkWorkload(Workload): self.apk_version = None self.logcat_log = None self.exact_apk_version = None + self.applaunch_start_time = None def setup(self, context): Workload.setup(self, context) @@ -246,6 +247,7 @@ class ApkWorkload(Workload): context.add_classifiers(apk_version=self.apk_version) if self.launch_main: + self.applaunch_start_time = int(float(self.device.execute('echo $EPOCHREALTIME')) * 1000) self.launch_package() # launch default activity without intent data self.device.execute('am kill-all') # kill all *background* activities self.device.clear_logcat() @@ -430,6 +432,13 @@ class ApkWorkload(Workload): def update_result(self, context): self.logcat_log = os.path.join(context.output_directory, 'logcat.log') self.device.dump_logcat(self.logcat_log) + #Appending applaunch start time to logcat file + logcatfile = open(self.logcat_log, "r+") + logcat_content = logcatfile.read() + logcatfile.seek(0, 0) + applaunchMarker = "UX_PERF : applaunch_start " + str(self.applaunch_start_time) + logcatfile.write(applaunchMarker.rstrip('\r\n') + '\n' + logcat_content) + logcatfile.close() context.add_iteration_artifact(name='logcat', path='logcat.log', kind='log', diff --git a/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java b/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java index 7e9e7fa2..f8e9e96a 100755 --- a/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java +++ b/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java @@ -89,13 +89,13 @@ public class BaseUiAutomation extends UiAutomatorTestCase { public void start() { if (enabled) { - Log.d("UX_PERF", testTag + "_start " + System.nanoTime()); + Log.d("UX_PERF", testTag + "_start " + System.currentTimeMillis()); } } public void stop() throws Exception { if (enabled) { - Log.d("UX_PERF", testTag + "_end " + System.nanoTime()); + Log.d("UX_PERF", testTag + "_end " + System.currentTimeMillis()); } } } diff --git a/wlauto/result_processors/uxperf.py b/wlauto/result_processors/uxperf.py index fdac6435..4829d655 100755 --- a/wlauto/result_processors/uxperf.py +++ b/wlauto/result_processors/uxperf.py @@ -185,7 +185,7 @@ class UxPerfParser(object): for action, timestamps in self.actions.iteritems(): # nanosecond precision, but not necessarily nanosecond resolution # truncate to guarantee millisecond precision - ts_ms = tuple(int(ts[:-6]) for ts in timestamps) + ts_ms = tuple(int(ts) for ts in timestamps) if len(ts_ms) == 2: start, finish = ts_ms duration = finish - start diff --git a/wlauto/workloads/adobereader/com.arm.wlauto.uiauto.adobereader.jar b/wlauto/workloads/adobereader/com.arm.wlauto.uiauto.adobereader.jar index f91c97fe..82fc9237 100644 Binary files a/wlauto/workloads/adobereader/com.arm.wlauto.uiauto.adobereader.jar and b/wlauto/workloads/adobereader/com.arm.wlauto.uiauto.adobereader.jar differ diff --git a/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 11f10536..674d33b6 100755 --- a/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -16,6 +16,7 @@ package com.arm.wlauto.uiauto.adobereader; import android.os.Bundle; +import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.UiObject; @@ -52,6 +53,7 @@ public class UiAutomation extends UxPerfUiAutomation { String[] searchStrings = parameters.getString("search_string_list").replace("0space0", " ").split("0newline0"); + Log.d("UX_PERF", "applaunch_end " + System.currentTimeMillis()); setScreenOrientation(ScreenOrientation.NATURAL); dismissWelcomeView(); diff --git a/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar b/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar index 57bac152..1907b0fb 100644 Binary files a/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar and b/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar differ diff --git a/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index b3c81954..ec298f01 100755 --- a/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -17,6 +17,7 @@ package com.arm.wlauto.uiauto.googlephotos; import android.os.Bundle; import android.graphics.Rect; +import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.UiObject; @@ -50,6 +51,7 @@ public class UiAutomation extends UxPerfUiAutomation { packageID = packageName + ":id/"; sleep(5); // Pause while splash screen loads + Log.d("UX_PERF", "applaunch_end " + System.currentTimeMillis()); setScreenOrientation(ScreenOrientation.NATURAL); dismissWelcomeView(); closePromotionPopUp(); diff --git a/wlauto/workloads/googleplaybooks/com.arm.wlauto.uiauto.googleplaybooks.jar b/wlauto/workloads/googleplaybooks/com.arm.wlauto.uiauto.googleplaybooks.jar index 9166516c..424deef5 100644 Binary files a/wlauto/workloads/googleplaybooks/com.arm.wlauto.uiauto.googleplaybooks.jar and b/wlauto/workloads/googleplaybooks/com.arm.wlauto.uiauto.googleplaybooks.jar differ diff --git a/wlauto/workloads/googleplaybooks/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/googleplaybooks/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 0303cd3e..6852a8ea 100755 --- a/wlauto/workloads/googleplaybooks/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/googleplaybooks/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -16,6 +16,7 @@ package com.arm.wlauto.uiauto.googleplaybooks; import android.os.Bundle; +import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.UiObject; @@ -62,6 +63,7 @@ public class UiAutomation extends UxPerfUiAutomation { String noteText = "This is a test note"; String account = parameters.getString("account"); + Log.d("UX_PERF", "applaunch_end " + System.currentTimeMillis()); setScreenOrientation(ScreenOrientation.NATURAL); chooseAccount(account); diff --git a/wlauto/workloads/googleslides/com.arm.wlauto.uiauto.googleslides.jar b/wlauto/workloads/googleslides/com.arm.wlauto.uiauto.googleslides.jar index 860507ad..9891e1fd 100644 Binary files a/wlauto/workloads/googleslides/com.arm.wlauto.uiauto.googleslides.jar and b/wlauto/workloads/googleslides/com.arm.wlauto.uiauto.googleslides.jar differ diff --git a/wlauto/workloads/googleslides/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/googleslides/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index a1fa8c44..5330f417 100755 --- a/wlauto/workloads/googleslides/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/googleslides/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -22,6 +22,7 @@ import java.util.Map; import android.graphics.Rect; import android.os.Bundle; import android.os.SystemClock; +import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.Configurator; @@ -57,6 +58,7 @@ public class UiAutomation extends UxPerfUiAutomation { boolean doTextEntry = Boolean.parseBoolean(parameters.getString("do_text_entry")); String workingDirectoryName = parameters.getString("workdir_name"); + Log.d("UX_PERF", "applaunch_end " + System.currentTimeMillis()); setScreenOrientation(ScreenOrientation.NATURAL); changeAckTimeout(100); // UI automation begins here diff --git a/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar b/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar index 84275874..b4606073 100644 Binary files a/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar and b/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar differ diff --git a/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 1dd57b16..950635f5 100755 --- a/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -16,6 +16,7 @@ package com.arm.wlauto.uiauto.skype; import android.os.Bundle; +import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.UiObject; @@ -55,6 +56,7 @@ public class UiAutomation extends UxPerfUiAutomation { String callType = parameters.getString("action"); String resultsFile = parameters.getString("results_file"); + Log.d("UX_PERF", "applaunch_end " + System.currentTimeMillis()); setScreenOrientation(ScreenOrientation.NATURAL); UiWatcher infoPopUpWatcher = createInfoPopUpWatcher(); diff --git a/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar b/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar index 9aad9634..acc14a1f 100644 Binary files a/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar and b/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar differ diff --git a/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 44313008..d905bd99 100755 --- a/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -17,6 +17,7 @@ package com.arm.wlauto.uiauto.youtube; import android.os.Bundle; import android.os.SystemClock; +import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.UiObject; @@ -54,6 +55,7 @@ public class UiAutomation extends UxPerfUiAutomation { searchTerm = searchTerm.replace("0space0", " "); } + Log.d("UX_PERF", "applaunch_end " + System.currentTimeMillis()); setScreenOrientation(ScreenOrientation.NATURAL); clearFirstRunDialogues();