Merge "Log when sync exemptions occur." into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a5526aae6b
@@ -78,6 +78,7 @@ import com.android.internal.os.BackgroundThread;
|
|||||||
import com.android.internal.os.BinderDeathDispatcher;
|
import com.android.internal.os.BinderDeathDispatcher;
|
||||||
import com.android.internal.util.ArrayUtils;
|
import com.android.internal.util.ArrayUtils;
|
||||||
import com.android.internal.util.DumpUtils;
|
import com.android.internal.util.DumpUtils;
|
||||||
|
import com.android.internal.util.FrameworkStatsLog;
|
||||||
import com.android.internal.util.IndentingPrintWriter;
|
import com.android.internal.util.IndentingPrintWriter;
|
||||||
import com.android.server.LocalServices;
|
import com.android.server.LocalServices;
|
||||||
import com.android.server.SystemService;
|
import com.android.server.SystemService;
|
||||||
@@ -1542,11 +1543,62 @@ public final class ContentService extends IContentService.Stub {
|
|||||||
return ContentResolver.SYNC_EXEMPTION_PROMOTE_BUCKET_WITH_TEMP;
|
return ContentResolver.SYNC_EXEMPTION_PROMOTE_BUCKET_WITH_TEMP;
|
||||||
}
|
}
|
||||||
if (procState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND || isUidActive) {
|
if (procState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND || isUidActive) {
|
||||||
|
FrameworkStatsLog.write(FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED,
|
||||||
|
callingUid, getProcStateForStatsd(procState), isUidActive);
|
||||||
return ContentResolver.SYNC_EXEMPTION_PROMOTE_BUCKET;
|
return ContentResolver.SYNC_EXEMPTION_PROMOTE_BUCKET;
|
||||||
}
|
}
|
||||||
return ContentResolver.SYNC_EXEMPTION_NONE;
|
return ContentResolver.SYNC_EXEMPTION_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getProcStateForStatsd(int procState) {
|
||||||
|
switch (procState) {
|
||||||
|
case ActivityManager.PROCESS_STATE_UNKNOWN:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__UNKNOWN;
|
||||||
|
case ActivityManager.PROCESS_STATE_PERSISTENT:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__PERSISTENT;
|
||||||
|
case ActivityManager.PROCESS_STATE_PERSISTENT_UI:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__PERSISTENT_UI;
|
||||||
|
case ActivityManager.PROCESS_STATE_TOP:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__TOP;
|
||||||
|
case ActivityManager.PROCESS_STATE_BOUND_TOP:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__BOUND_TOP;
|
||||||
|
case ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__FOREGROUND_SERVICE;
|
||||||
|
case ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE:
|
||||||
|
return FrameworkStatsLog
|
||||||
|
.SYNC_EXEMPTION_OCCURRED__PROC_STATE__BOUND_FOREGROUND_SERVICE;
|
||||||
|
case ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__IMPORTANT_FOREGROUND;
|
||||||
|
case ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__IMPORTANT_BACKGROUND;
|
||||||
|
case ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__TRANSIENT_BACKGROUND;
|
||||||
|
case ActivityManager.PROCESS_STATE_BACKUP:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__BACKUP;
|
||||||
|
case ActivityManager.PROCESS_STATE_SERVICE:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__SERVICE;
|
||||||
|
case ActivityManager.PROCESS_STATE_RECEIVER:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__RECEIVER;
|
||||||
|
case ActivityManager.PROCESS_STATE_TOP_SLEEPING:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__TOP_SLEEPING;
|
||||||
|
case ActivityManager.PROCESS_STATE_HEAVY_WEIGHT:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__HEAVY_WEIGHT;
|
||||||
|
case ActivityManager.PROCESS_STATE_LAST_ACTIVITY:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__LAST_ACTIVITY;
|
||||||
|
case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__CACHED_ACTIVITY;
|
||||||
|
case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY_CLIENT:
|
||||||
|
return FrameworkStatsLog
|
||||||
|
.SYNC_EXEMPTION_OCCURRED__PROC_STATE__CACHED_ACTIVITY_CLIENT;
|
||||||
|
case ActivityManager.PROCESS_STATE_CACHED_RECENT:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__CACHED_RECENT;
|
||||||
|
case ActivityManager.PROCESS_STATE_CACHED_EMPTY:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__CACHED_EMPTY;
|
||||||
|
default:
|
||||||
|
return FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED__PROC_STATE__UNKNOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public static final class ObserverNode {
|
public static final class ObserverNode {
|
||||||
|
|||||||
Reference in New Issue
Block a user