Instrumenting AccountTracker::StartFetchingUserInfo to locate the source of jankiness.
commite924411b95fa49f84793ff8d33fc107f9a7a0a3b
authorvadimt <vadimt@chromium.org>
Thu, 30 Oct 2014 19:57:05 +0000 (30 12:57 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 30 Oct 2014 19:57:45 +0000 (30 19:57 +0000)
tree8c3718402d21d506f5ac8a92079b677a8824479c
parent0f7acf8eda06bc95341a3869a9e51d48ae2a9a99
Instrumenting AccountTracker::StartFetchingUserInfo to locate the source of jankiness.

Method AccountTracker::StartFetchingUserInfo is executed in browser's UI thread, and it causes jank.
In Canary 40.0.2201.2 on Win, 19.9 jph is caused by AccountTracker::StartFetchingUserInfo,
which average execution time in UI thread is 227 ms. On Mac, we have 17.7 jph and 71.1ms avg. I need to instrument
the code inside it to find out which part causes jank.

This is a mechanical change that adds instrumentation required to locate the
source of jankiness (i.e. a long-running fragment of code executed as a part of
the task that causes jank) in the code. See the bug for details on what kind of
jank we are after.
A number of similar CLs were landed, and none of them caused issues. They've
helped to find and fix janky code. The code of the instrumentation is highly
optimized and is not expected to affect performance. The code simply creates a
diagnostic task which is identical to ones created by PostTask or IPC message
handlers. The task gets created only in developer build and in Canary channel.

BUG=422460

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

Cr-Commit-Position: refs/heads/master@{#302140}
google_apis/gaia/account_tracker.cc