From 2f54a688c8b2048ed1b689acfe317271ff384867 Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Mon, 27 Jan 2020 14:36:31 -0800 Subject: startop: Update parse_metrics to parse #ReportFullyDrawn Change-Id: I0b81c6348aadb19500d174b3b7fba8a7be1c88c5 --- .../metrics/com.google.android.GoogleCamera | 25 ------------------ startop/scripts/app_startup/parse_metrics | 30 +++++++++++++++++++--- 2 files changed, 27 insertions(+), 28 deletions(-) delete mode 100755 startop/scripts/app_startup/metrics/com.google.android.GoogleCamera (limited to 'startop') diff --git a/startop/scripts/app_startup/metrics/com.google.android.GoogleCamera b/startop/scripts/app_startup/metrics/com.google.android.GoogleCamera deleted file mode 100755 index d95fa32dce3f..000000000000 --- a/startop/scripts/app_startup/metrics/com.google.android.GoogleCamera +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -# -# Copyright 2019, The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# 05-06 14:51:17.688 29691 29897 I CAM_Timing: CameraActivity: START -> ACTIVITY_FIRST_PREVIEW_FRAME_RECEIVED: 385ms -pattern="CAM_Timing: CameraActivity: START -> ACTIVITY_FIRST_PREVIEW_FRAME_RECEIVED:" -re_pattern='.*ACTIVITY_FIRST_PREVIEW_FRAME_RECEIVED: \([[:digit:]]\+\)ms' -parse_metric_from_logcat "ACTIVITY_FIRST_PREVIEW_FRAME_RECEIVED_ms" "$pattern" "$re_pattern" - -# 05-06 14:51:17.724 29691 29691 I CAM_Timing: CameraActivity: START -> ACTIVITY_FIRST_PREVIEW_FRAME_RENDERED: 421ms -pattern="CAM_Timing: CameraActivity: START -> ACTIVITY_FIRST_PREVIEW_FRAME_RENDERED:" -re_pattern='.*ACTIVITY_FIRST_PREVIEW_FRAME_RENDERED: \([[:digit:]]\+\)ms' -parse_metric_from_logcat "ACTIVITY_FIRST_PREVIEW_FRAME_RENDERED_ms" "$pattern" "$re_pattern" diff --git a/startop/scripts/app_startup/parse_metrics b/startop/scripts/app_startup/parse_metrics index c6bf08ee9dfd..036609ff02be 100755 --- a/startop/scripts/app_startup/parse_metrics +++ b/startop/scripts/app_startup/parse_metrics @@ -50,7 +50,7 @@ source "$DIR/lib/common" package="" activity="" -timeout=10 +timeout=5 simulate="n" parse_arguments() { while [[ $# -gt 0 ]]; do @@ -123,6 +123,9 @@ parse_metric_from_logcat() { local pattern="$2" local re_pattern="$3" local retcode + local result + local sec + local ms # parse logcat for 'Displayed...' and that other one... @@ -137,14 +140,28 @@ parse_metric_from_logcat() { return 0 fi - logcat_extract_pattern "$timeout" "$timestamp" "$pattern" "$re_pattern" + result="$(logcat_extract_pattern "$timeout" "$timestamp" "$pattern" "$re_pattern")" retcode=$? if [[ $retcode -ne 0 ]]; then # Timed out before finding the pattern. Could also mean the pattern is wrong. + echo "Parse $re_pattern from logcat TIMED OUT after $timeout seconds." >&2 echo "-$?" + return $retcode fi + # "10s123ms" -> "10s123" + result=${result/ms/} + if [[ $result =~ s ]]; then + ms=${result/*s/} + sec=${result/s*/} + else + sec=0 + ms=$result + fi + ((result=sec*1000+ms)) + + echo "$result" return $retcode } @@ -169,10 +186,17 @@ echo "TotalTime_ms=$total_time" # 05-06 14:34:08.854 29460 29481 I ActivityTaskManager: Displayed com.google.android.dialer/.extensions.GoogleDialtactsActivity: +361ms pattern="ActivityTaskManager: Displayed ${package}" -re_pattern='.*Displayed[[:blank:]]\+'"${package}"'[/][^[:blank:]]\+[[:blank:]]+\([[:digit:]]\+\).*' +re_pattern='.*Displayed[[:blank:]]\+'"${package}"'[/][^[:blank:]]\+[[:blank:]]+\([[:digit:]]\+ms\|[[:digit:]]\+s[[:digit:]]\+ms\).*' parse_metric_from_logcat "Displayed_ms" "$pattern" "$re_pattern" +# 01-16 17:31:44.550 11172 11204 I ActivityTaskManager: Fully drawn com.google.android.GoogleCamera/com.android.camera.CameraLauncher: +10s897ms +pattern="ActivityTaskManager: Fully drawn ${package}" +#re_pattern='.*Fully drawn[[:blank:]]\+'"${package}"'[/][^[:blank:]]\+[[:blank:]]+\([[:digit:]]\+\).*' +re_pattern='.*Fully drawn[[:blank:]]\+'"${package}"'[/][^[:blank:]]\+[[:blank:]]+\([[:digit:]]\+ms\|[[:digit:]]\+s[[:digit:]]\+ms\).*' + +parse_metric_from_logcat "Fully_drawn_ms" "$pattern" "$re_pattern" + # also call into package-specific scripts if there are additional metrics if [[ -x "$DIR/metrics/$package" ]]; then source "$DIR/metrics/$package" "$timestamp" -- cgit v1.2.3