Log annotations for pulled atoms.
- Also add is_uid annotation to PackageNotication atoms.
Bug: 150414118
Test: m
Change-Id: I5e9abfe4772b04a66bc055e0d784469d94597748
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 9bba69c..7c45cbb 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -5808,7 +5808,7 @@
*/
message PackageNotificationPreferences {
// Uid under which the package is installed.
- optional int32 uid = 1;
+ optional int32 uid = 1 [(is_uid) = true];
// Notification importance, which specifies when and how a notification is displayed.
// Specified under core/java/android/app/NotificationManager.java.
optional int32 importance = 2;
@@ -5825,7 +5825,7 @@
*/
message PackageNotificationChannelPreferences {
// Uid under which the package is installed.
- optional int32 uid = 1;
+ optional int32 uid = 1 [(is_uid) = true];
// Channel's ID. Should always be available.
optional string channel_id = 2;
// Channel's name. Should always be available.
@@ -5848,7 +5848,7 @@
*/
message PackageNotificationChannelGroupPreferences {
// Uid under which the package is installed.
- optional int32 uid = 1;
+ optional int32 uid = 1 [(is_uid) = true];
// Channel Group's ID. Should always be available.
optional string group_id = 2;
// Channel Group's name. Should always be available.
diff --git a/services/core/java/com/android/server/notification/PreferencesHelper.java b/services/core/java/com/android/server/notification/PreferencesHelper.java
index 32cfaf6..dbb246e 100644
--- a/services/core/java/com/android/server/notification/PreferencesHelper.java
+++ b/services/core/java/com/android/server/notification/PreferencesHelper.java
@@ -20,6 +20,7 @@
import static android.app.NotificationManager.IMPORTANCE_NONE;
import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+import static com.android.internal.util.FrameworkStatsLog.ANNOTATION_ID_IS_UID;
import static com.android.internal.util.FrameworkStatsLog.PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES;
import static com.android.internal.util.FrameworkStatsLog.PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES;
import static com.android.internal.util.FrameworkStatsLog.PACKAGE_NOTIFICATION_PREFERENCES;
@@ -1798,6 +1799,7 @@
.setAtomId(PACKAGE_NOTIFICATION_PREFERENCES);
final PackagePreferences r = mPackagePreferences.valueAt(i);
event.writeInt(r.uid);
+ event.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
event.writeInt(r.importance);
event.writeInt(r.visibility);
event.writeInt(r.lockedAppFields);
@@ -1825,6 +1827,7 @@
StatsEvent.Builder event = StatsEvent.newBuilder()
.setAtomId(PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES);
event.writeInt(r.uid);
+ event.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
event.writeString(channel.getId());
event.writeString(channel.getName().toString());
event.writeString(channel.getDescription());
@@ -1856,6 +1859,7 @@
StatsEvent.Builder event = StatsEvent.newBuilder()
.setAtomId(PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES);
event.writeInt(r.uid);
+ event.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
event.writeString(groupChannel.getId());
event.writeString(groupChannel.getName().toString());
event.writeString(groupChannel.getDescription());
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 606c1bbf..4185d4f 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -28,6 +28,7 @@
import static android.util.MathUtils.abs;
import static android.util.MathUtils.constrain;
+import static com.android.internal.util.FrameworkStatsLog.ANNOTATION_ID_IS_UID;
import static com.android.server.am.MemoryStatUtil.readMemoryStatFromFilesystem;
import static com.android.server.stats.pull.IonMemoryUtil.readProcessSystemIonHeapSizesFromDebugfs;
import static com.android.server.stats.pull.IonMemoryUtil.readSystemIonHeapSizeFromDebugfs;
@@ -744,6 +745,7 @@
StatsEvent.Builder e = StatsEvent.newBuilder();
e.setAtomId(atomTag);
e.writeInt(entry.uid);
+ e.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
if (withFgbg) {
e.writeInt(entry.set);
}
@@ -907,6 +909,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(traffic.getUid())
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeLong(traffic.getRxBytes())
.writeLong(traffic.getTxBytes())
.build();
@@ -993,6 +996,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeLong(userTimeUs)
.writeLong(systemTimeUs)
.build();
@@ -1023,6 +1027,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeInt(freqIndex)
.writeLong(cpuFreqTimeMs[freqIndex])
.build();
@@ -1053,6 +1058,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeLong(cpuActiveTimesMs)
.build();
pulledData.add(e);
@@ -1081,6 +1087,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeInt(i)
.writeLong(cpuClusterTimesMs[i])
.build();
@@ -1276,6 +1283,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(processMemoryState.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(processMemoryState.processName)
.writeInt(processMemoryState.oomScore)
.writeLong(memoryStat.pgfault)
@@ -1318,6 +1326,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(managedProcess.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(managedProcess.processName)
// RSS high-water mark in bytes.
.writeLong(snapshot.rssHighWaterMarkInKilobytes * 1024L)
@@ -1337,6 +1346,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(snapshot.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(processCmdlines.valueAt(i))
// RSS high-water mark in bytes.
.writeLong(snapshot.rssHighWaterMarkInKilobytes * 1024L)
@@ -1371,6 +1381,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(managedProcess.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(managedProcess.processName)
.writeInt(managedProcess.pid)
.writeInt(managedProcess.oomScore)
@@ -1396,6 +1407,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(snapshot.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(processCmdlines.valueAt(i))
.writeInt(pid)
.writeInt(-1001) // Placeholder for native processes, OOM_SCORE_ADJ_MIN - 1.
@@ -1468,6 +1480,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(getUidForPid(allocations.pid))
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(readCmdlineFromProcfs(allocations.pid))
.writeInt((int) (allocations.totalSizeInBytes / 1024))
.writeInt(allocations.count)
@@ -1580,6 +1593,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(callStat.workSourceUid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(callStat.className)
.writeString(callStat.methodName)
.writeLong(callStat.callCount)
@@ -1656,6 +1670,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(entry.workSourceUid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(entry.handlerClassName)
.writeString(entry.threadName)
.writeString(entry.messageName)
@@ -2099,6 +2114,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeLong(fgCharsRead)
.writeLong(fgCharsWrite)
.writeLong(fgBytesRead)
@@ -2164,6 +2180,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(st.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(st.name)
.writeLong(st.base_utime)
.writeLong(st.base_stime)
@@ -2222,6 +2239,7 @@
StatsEvent.Builder e = StatsEvent.newBuilder();
e.setAtomId(atomTag);
e.writeInt(processCpuUsage.uid);
+ e.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
e.writeInt(processCpuUsage.processId);
e.writeInt(threadCpuUsage.threadId);
e.writeString(processCpuUsage.processName);
@@ -2313,6 +2331,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(bs.uidObj.getUid())
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeLong(milliAmpHrsToNanoAmpSecs(bs.totalPowerMah))
.build();
pulledData.add(e);
@@ -2517,6 +2536,7 @@
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
.writeInt(pkg.applicationInfo.uid)
+ .addBooleanAnnotation(ANNOTATION_ID_IS_UID, true)
.writeString(holderName)
.writeString(roleName)
.build();
@@ -2600,6 +2620,7 @@
e.setAtomId(atomTag);
e.writeString(permName);
e.writeInt(pkg.applicationInfo.uid);
+ e.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
if (atomTag == FrameworkStatsLog.DANGEROUS_PERMISSION_STATE) {
e.writeString("");
}
@@ -2954,6 +2975,7 @@
StatsEvent.Builder e = StatsEvent.newBuilder();
e.setAtomId(atomTag);
e.writeInt(uid);
+ e.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
e.writeString(packageName);
if (atomTag == FrameworkStatsLog.ATTRIBUTED_APP_OPS) {
e.writeString(attributionTag);
@@ -3002,6 +3024,7 @@
StatsEvent.Builder e = StatsEvent.newBuilder();
e.setAtomId(atomTag);
e.writeInt(message.getUid());
+ e.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
e.writeString(message.getPackageName());
e.writeString(message.getOp());
if (message.getAttributionTag() == null) {