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

Issue 591149 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocking:
issue 551193



Sign in to add a comment

prepare for finch experiment to measure the effect of IME thread

Project Member Reported by changwan@chromium.org, Mar 1 2016

Issue description

Following up on https://codereview.chromium.org/1278593004/,

We need a finch experiment to do the following as necessary:

1) measure the effect of IME thread model against the existing model.
2) remotely turn off IME thread model in case we find problems in stable release

 

Comment 1 Deleted

Cc: kerz@chromium.org klo...@chromium.org
This is not a user-visible feature, but a large internal change for IME pipeline. (See  issue 551193  for details).

Here's the current status:
1) CL has been landed for M50 behind a switch (a big change)
2) Migrating the switch to feature API: https://codereview.chromium.org/1771223002/ (a small change to enable finch experiment)

We're trying to ship it for M51 or later, but 
I'd like to try this out on M50 to get preliminary result.

Grace suggested offline that we run a small experiment code on the first activation for each user on M50.

But I realized that there won't be a lot of information we can get from the failure when it happens. UMA does not seem to give all the information about the framework such as OS version and build, manufacturer, and the stack trace leading to it. (At least not available on uma.googleplex.com and Dremel seems to require special access right to access some of it) I'm worried that there won't be actionable items if we see failures.

In this sense, I prefer to keep the crash path and run finch experiments. What do you think?

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ded37535ac881713223cf71d9168887ec60caf3

commit 7ded37535ac881713223cf71d9168887ec60caf3
Author: changwan <changwan@chromium.org>
Date: Wed Mar 09 23:25:12 2016

Migrate *-ime-thread switches to feature API

The new Feature API is the simplest way to run Finch experiments with.
Also, it gets propagated to the renderer.

BUG= 551193 ,  591149 

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

Cr-Commit-Position: refs/heads/master@{#380256}

[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/chrome/browser/about_flags.cc
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/browser/renderer_host/ime_adapter_android.cc
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/browser/renderer_host/ime_adapter_android.h
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/public/common/content_features.cc
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/public/common/content_features.h
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/public/common/content_switches.cc
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/public/common/content_switches.h
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/content/renderer/render_widget.cc
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/testing/variations/fieldtrial_testing_config_android.json
[modify] https://crrev.com/7ded37535ac881713223cf71d9168887ec60caf3/tools/metrics/histograms/histograms.xml

Labels: Merge-Request-50
Requesting merge of the above CL into M50 for the following reasons:
1) Switches used in M50 will no longer apply to M51. If they opt in on M50, they need to opt in again on M51, which could be a pain.
2) For potential finch experiment on M50.

Comment 5 by tin...@google.com, Mar 9 2016

Labels: -Merge-Request-50 Merge-Approved-50 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M50 (branch: 2661)
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 10 2016

Labels: -merge-approved-50 merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21

commit 9d4eb204f3cdf8f282f258aaf1770d6d3727bb21
Author: Changwan Ryu <changwan@google.com>
Date: Thu Mar 10 01:54:36 2016

Migrate *-ime-thread switches to feature API

The new Feature API is the simplest way to run Finch experiments with.
Also, it gets propagated to the renderer.

BUG= 551193 ,  591149 

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

Cr-Commit-Position: refs/heads/master@{#380256}
(cherry picked from commit 7ded37535ac881713223cf71d9168887ec60caf3)

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

Cr-Commit-Position: refs/branch-heads/2661@{#162}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/chrome/browser/about_flags.cc
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/browser/renderer_host/ime_adapter_android.cc
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/browser/renderer_host/ime_adapter_android.h
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/public/common/content_features.cc
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/public/common/content_features.h
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/public/common/content_switches.cc
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/public/common/content_switches.h
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/content/renderer/render_widget.cc
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/testing/variations/fieldtrial_testing_config_android.json
[modify] https://crrev.com/9d4eb204f3cdf8f282f258aaf1770d6d3727bb21/tools/metrics/histograms/histograms.xml

Comment 7 by klo...@chromium.org, Mar 10 2016

How do you plan to monitor the crash if ever happen due to this? The rate can be low and not surface up to stability sheriff.
Project Member

Comment 9 by sheriffbot@chromium.org, Apr 21 2016



For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Do you want to expand the current experiment? What is the percentage now?

We know before hand that we can't repro the crash. Do we have the idea whether crash happens on certain type of device or OS?
Thanks for the quick response. Currently it is enabled only for those who opted in on "Run IME on its own thread" flag from about:flags. There is no experiment running, and this is the bug to enable the experiment. The crash happens on various OSes and devices.

https://crash.corp.google.com/browse?q=product.name%3D%27Chrome_Android%27%20%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%20contains%20%27ThreadedInputConnectionFactory%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D%27%5BAndroid%20Java%20Exception%5D%20java.lang.AssertionError%20at%20org.chromium.content.browser.input.ThreadedInputConnectionFactory.onRegisterProxyViewFailed(ThreadedInputConnectionFactory.java)%27&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D

According to the above link, it seems that we have more crashes on M, but I think it just reflects the fact that early adopters and googlers tend to use M more than average users.

ping. Can we get approval for experimenting IME thread on dev and beta? Also, I'd like to experiment 100% on WebView beta as well since there is no finch experiment there.

Sorry for the delay.

Please file a L-R bug to request beta, dev, canary finch trial. Please specify what metrics you are monitoring.

If it goes well, let us do webview beta next.
Thanks, I've filed issue 620662.
Status: Fixed (was: Started)
Summary: prepare for finch experiment to measure the effect of IME thread (was: finch experiment to measure the effect of IME thread)

Sign in to add a comment