New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 590800 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
not available
Closed: Jan 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 590844



Sign in to add a comment

Move Android WebView aosp perf bot from fyi to main waterfall

Project Member Reported by yolandyan@chromium.org, Feb 29 2016

Issue description

WebView perf bot is now having consistent results with the main perf bot's Android Chrome perf bot(Nexus5).

I propose to move Android WebView perf bot to the main perf waterfall so it can be part of the normal perf rotation.

Android WebView Perf
https://build.chromium.org/p/chromium.perf.fyi/builders/android_webview_aosp_perf (Currently red)

Android Chrome Perf
https://build.chromium.org/p/chromium.perf/builders/Android%20Nexus5%20Perf%20(1)
https://build.chromium.org/p/chromium.perf/builders/Android%20Nexus5%20Perf%20(2) (Currently red for the same test)
https://build.chromium.org/p/chromium.perf/builders/Android%20Nexus5%20Perf%20(3)

Caveat:
The buildslave for WebView Perf bot is a1(build15-a1) while all the perf bot on the main perf waterfall is b1. Would there be any problem for this?
 
Cc: tdres...@chromium.org
I have a CL that makes the needed recipe changes to move the webview perf bots to the main waterfall.

https://codereview.chromium.org/1777863005

We are just waiting on getting additional capacity to run the webview tests so that they can we run (and have more issues bisected) more quickly.
Blockedon: 590844
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/1bc43f2edf6bffa87baea20c12a4d48161cb01ae

commit 1bc43f2edf6bffa87baea20c12a4d48161cb01ae
Author: mikecase@chromium.org <mikecase@chromium.org>
Date: Mon Apr 18 18:41:41 2016

Recipe changes to move android webiew perf bot to the android/perf recipe.
This change is motivated by us getting 2 new WebView perf bots and I would
like to use the sharding logic in the android/perf recipe for the new
bots.

BUG= 590800 

Review URL: https://codereview.chromium.org/1777863005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@299994 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/masters/master.chromium.perf.fyi/master.cfg
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/masters/master.chromium.perf.fyi/slaves.cfg
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipe_modules/chromium_android/api.py
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipe_modules/chromium_android/chromium_config.py
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipe_modules/chromium_android/config.py
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipes/android/builder.expected/full_chromium_perf_Android_Builder.json
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipes/android/builder.py
[rename] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipes/android/perf.expected/full_chromium_perf_fyi_Android_Nexus5_WebView_Perf__1_.json
[copy] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipes/android/perf.expected/full_chromium_perf_fyi_Android_Nexus5x_WebView_Perf__1_.json
[copy] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipes/android/perf.expected/full_chromium_perf_fyi_Android_Nexus5x_WebView_Perf__2_.json
[modify] https://crrev.com/1bc43f2edf6bffa87baea20c12a4d48161cb01ae/scripts/slave/recipes/android/perf.py
[delete] https://crrev.com/5b894af76d7a1f3a6ccb5c6204e0c416add78e46/scripts/slave/recipes/android_webview_aosp_perf.py

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 19 2016

The following revision refers to this bug:
  http://goto.ext.google.com/viewvc/chrome-internal?view=rev&revision=86750

------------------------------------------------------------------
r86750 | recipe-roller@chromium.org | 2016-04-19T00:03:06.829470Z

-----------------------------------------------------------------
Is the Webview bot working? The graphs appear to be out of date. 

https://chromeperf.appspot.com/report?sid=8aa74c7973f7ceff953a68427e4d66a5c2e6508a4bebf1106776d512222ef246
Thanks for the trace links, Randy.

tdresser@: any idea what's going on here? Are we missing some critical trace events to compute mean_input_event_latency?
The gesture scroll update latency traces are present. That should be all that's needed for first_gesture_scroll_update_latency. I'm not sure what's going on here.

https://chromeperf.appspot.com/report?sid=8dadacf6b13adf73c9b2cac143c7506e46da4c4e49806d6cc609cbec7dd8f0a0




It is getting None for some reason. 

@@@STEP_LOG_LINE@json.output@        "http://sports.yahoo.com/": {@@@
@@@STEP_LOG_LINE@json.output@          "description": "First gesture scroll update latency measures the time it takes to process the very first gesture scroll update input event. The first scroll gesture can often get delayed by work related to page loading.", @@@
@@@STEP_LOG_LINE@json.output@          "important": true, @@@
@@@STEP_LOG_LINE@json.output@          "improvement_direction": "down", @@@
@@@STEP_LOG_LINE@json.output@          "name": "first_gesture_scroll_update_latency", @@@
@@@STEP_LOG_LINE@json.output@          "none_value_reason": "Merging values containing a None value results in a None value.", @@@
@@@STEP_LOG_LINE@json.output@          "page_id": 22, @@@
@@@STEP_LOG_LINE@json.output@          "std": null, @@@
@@@STEP_LOG_LINE@json.output@          "type": "list_of_scalar_values", @@@
@@@STEP_LOG_LINE@json.output@          "units": "ms", @@@
@@@STEP_LOG_LINE@json.output@          "values": null@@@
@@@STEP_LOG_LINE@json.output@        }, @@@
If we click on "Input latency" side panel view on the "New trace" link, the Average Input latency is also undefined.

Screen Shot 2016-06-06 at 12.40.37 PM.png
354 KB View Download
Cc: boliu@chromium.org
Oh, we don't have InputLatency::GestureScrollUpdate slices in the new trace, only Latency::ScrollUpdate.

I wonder if this is due to the change to make webview input async. I think that happened fairly recently.

+boliu@
tdresser: can you point out the trace event in code?

"async input" means using the same input path as chrome, so if webview is missing this event, then it probably never had it to begin with
async LatencyInfo stuff, kinda complicated where start and end happens actually happens :/
There are InputLatency::GestureScrollUpdate start events, but no end events in webview traces I think. Now where does the end one happen in chrome that's missing...
Webview never calls RenderWidgetHostLatencyTracker::OnFrameSwapped. Swaps are still different between webview and chrome.
> Webview never calls RenderWidgetHostLatencyTracker::OnFrameSwapped. Swaps are still different between webview and chrome.

And that's the browser compositor swap.

Ok, this can't easily be made to work because webview doesn't have a browser compositor, and the thing that receives renderer frames does not live on the UI thread. So this whole RenderWidgetHostLatencyTracker thing needs to be re-written to work on webview.

On the other hand, swap scheduling is not really in webview's control anyway, so maybe not all that important to keep track.
Thanks for digging into this. I think we should address this at some point, but it's a separate issue. (Filed issue 617942). Despite the fact that the webview doesn't schedule the swap, the timing of the swap impacts the user experience of scroll latency, so we should keep track of it.
Status: Fixed (was: Started)

Sign in to add a comment