Multiuser perfetto metric: Settings tracepoints
Add tracepoints in Settings for user switches and creation, for the primary purpose of performance metrics in trace_processor. Bug: 192001071 Test: manual Change-Id: I1ecaccdaba3b14c42a45fefeb9b5568f7c7d6bf6
This commit is contained in:
@@ -25,6 +25,7 @@ import android.content.Context;
|
|||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
|
import android.os.Trace;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -344,6 +345,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void switchUser() {
|
void switchUser() {
|
||||||
|
Trace.beginSection("UserDetailSettings.switchUser");
|
||||||
try {
|
try {
|
||||||
if (mUserInfo.isGuest()) {
|
if (mUserInfo.isGuest()) {
|
||||||
mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_SWITCH_TO_GUEST);
|
mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_SWITCH_TO_GUEST);
|
||||||
@@ -352,6 +354,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
|
|||||||
} catch (RemoteException re) {
|
} catch (RemoteException re) {
|
||||||
Log.e(TAG, "Error while switching to other user.");
|
Log.e(TAG, "Error while switching to other user.");
|
||||||
} finally {
|
} finally {
|
||||||
|
Trace.endSection();
|
||||||
finishFragment();
|
finishFragment();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -40,6 +40,7 @@ import android.os.Handler;
|
|||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
|
import android.os.Trace;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
@@ -798,6 +799,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addUserNow(final int userType) {
|
private void addUserNow(final int userType) {
|
||||||
|
Trace.beginAsyncSection("UserSettings.addUserNow", 0);
|
||||||
synchronized (mUserLock) {
|
synchronized (mUserLock) {
|
||||||
mAddingUser = true;
|
mAddingUser = true;
|
||||||
mAddingUserName = userType == USER_TYPE_USER
|
mAddingUserName = userType == USER_TYPE_USER
|
||||||
@@ -824,6 +826,11 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
runAddUser();
|
||||||
|
Trace.endAsyncSection("UserSettings.addUserNow", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void runAddUser() {
|
||||||
UserInfo user;
|
UserInfo user;
|
||||||
String username;
|
String username;
|
||||||
|
|
||||||
@@ -1198,8 +1205,10 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
} else if (pref == mAddGuest) {
|
} else if (pref == mAddGuest) {
|
||||||
mAddGuest.setEnabled(false); // prevent multiple tap issue
|
mAddGuest.setEnabled(false); // prevent multiple tap issue
|
||||||
mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_USER_GUEST_ADD);
|
mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_USER_GUEST_ADD);
|
||||||
|
Trace.beginSection("UserSettings.addGuest");
|
||||||
UserInfo guest = mUserManager.createGuest(
|
UserInfo guest = mUserManager.createGuest(
|
||||||
getContext(), getString(com.android.settingslib.R.string.user_guest));
|
getContext(), getString(com.android.settingslib.R.string.user_guest));
|
||||||
|
Trace.endSection();
|
||||||
if (guest == null) {
|
if (guest == null) {
|
||||||
Toast.makeText(getContext(),
|
Toast.makeText(getContext(),
|
||||||
com.android.settingslib.R.string.add_user_failed,
|
com.android.settingslib.R.string.add_user_failed,
|
||||||
|
Reference in New Issue
Block a user