Commit 52ebb71a authored by Boris Sazonov's avatar Boris Sazonov Committed by Commit Bot

[Signin][Android] Add histogram for duration of getting account ids

This CL adds Signin.AndroidGetAccountIdsTime histogram that tracks how
much time it takes to get account ids for all accounts on the device.

Bug: 906713
Change-Id: Ie59e815fcb469ced15fe308378e7c3fbc07d776a
Reviewed-on: https://chromium-review.googlesource.com/c/1342997
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Reviewed-by: default avatarJesse Doherty <jwd@chromium.org>
Reviewed-by: default avatarMihai Sardarescu <msarda@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610376}
parent 5a2a7a91
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.signin; package org.chromium.chrome.browser.signin;
import android.os.SystemClock;
import android.support.annotation.IntDef; import android.support.annotation.IntDef;
import org.chromium.base.Log; import org.chromium.base.Log;
...@@ -11,6 +12,7 @@ import org.chromium.base.ObserverList; ...@@ -11,6 +12,7 @@ import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting; import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.JNINamespace; import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.AsyncTask; import org.chromium.base.task.AsyncTask;
import org.chromium.components.signin.AccountIdProvider; import org.chromium.components.signin.AccountIdProvider;
import org.chromium.components.signin.AccountManagerFacade; import org.chromium.components.signin.AccountManagerFacade;
...@@ -18,6 +20,7 @@ import org.chromium.components.signin.AccountsChangeObserver; ...@@ -18,6 +20,7 @@ import org.chromium.components.signin.AccountsChangeObserver;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.concurrent.TimeUnit;
/** /**
* Android wrapper of AccountTrackerService which provides access from the java layer. * Android wrapper of AccountTrackerService which provides access from the java layer.
...@@ -136,12 +139,20 @@ public class AccountTrackerService { ...@@ -136,12 +139,20 @@ public class AccountTrackerService {
@Override @Override
public String[][] doInBackground() { public String[][] doInBackground() {
Log.d(TAG, "Getting id/email mapping"); Log.d(TAG, "Getting id/email mapping");
long seedingStartTime = SystemClock.elapsedRealtime();
String[][] accountIdNameMap = new String[2][accounts.size()]; String[][] accountIdNameMap = new String[2][accounts.size()];
for (int i = 0; i < accounts.size(); ++i) { for (int i = 0; i < accounts.size(); ++i) {
accountIdNameMap[0][i] = accountIdNameMap[0][i] =
accountIdProvider.getAccountId(accounts.get(i).name); accountIdProvider.getAccountId(accounts.get(i).name);
accountIdNameMap[1][i] = accounts.get(i).name; accountIdNameMap[1][i] = accounts.get(i).name;
} }
RecordHistogram.recordTimesHistogram("Signin.AndroidGetAccountIdsTime",
SystemClock.elapsedRealtime() - seedingStartTime,
TimeUnit.MILLISECONDS);
return accountIdNameMap; return accountIdNameMap;
} }
@Override @Override
......
...@@ -102450,6 +102450,13 @@ uploading your change for review. ...@@ -102450,6 +102450,13 @@ uploading your change for review.
</summary> </summary>
</histogram> </histogram>
<histogram name="Signin.AndroidGetAccountIdsTime" units="ms">
<owner>bsazonov@chromium.org</owner>
<summary>
The time it takes to retrieve Gaia ids for all accounts from GoogleAuthUtil.
</summary>
</histogram>
<histogram name="Signin.AndroidGetAccountsTime" units="ms"> <histogram name="Signin.AndroidGetAccountsTime" units="ms">
<owner>nyquist@chromium.org</owner> <owner>nyquist@chromium.org</owner>
<summary> <summary>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment