Loading cmds/statsd/src/StatsLogProcessor.cpp +16 −8 Original line number Diff line number Diff line Loading @@ -112,8 +112,8 @@ void updateUid(Value* value, int hostUid) { } void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event) const { if (android::util::kAtomsWithAttributionChain.find(event->GetTagId()) != android::util::kAtomsWithAttributionChain.end()) { if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(event->GetTagId()) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()) { for (auto& value : *(event->getMutableValues())) { if (value.mField.getPosAtDepth(0) > kAttributionField) { break; Loading @@ -123,12 +123,20 @@ void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event updateUid(&value.mValue, hostUid); } } } else if (android::util::kAtomsWithUidField.find(event->GetTagId()) != android::util::kAtomsWithUidField.end() && event->getValues().size() > 0 && (event->getValues())[0].mValue.getType() == INT) { Value& value = (*event->getMutableValues())[0].mValue; } else { auto it = android::util::AtomsInfo::kAtomsWithUidField.find(event->GetTagId()); if (it != android::util::AtomsInfo::kAtomsWithUidField.end()) { int uidField = it->second; // uidField is the field number in proto, // starting from 1 if (uidField > 0 && (int)event->getValues().size() >= uidField && (event->getValues())[uidField - 1].mValue.getType() == INT) { Value& value = (*event->getMutableValues())[uidField - 1].mValue; const int hostUid = mUidMap->getHostUidOrSelf(value.int_value); updateUid(&value, hostUid); } else { ALOGE("Malformed log, uid not found. %s", event->ToString().c_str()); } } } } Loading cmds/statsd/src/atom_field_options.proto +3 −0 Original line number Diff line number Diff line Loading @@ -67,4 +67,7 @@ message StateAtomFieldOption { extend google.protobuf.FieldOptions { // Flags to decorate an atom that presents a state change. optional StateAtomFieldOption stateFieldOption = 50000; // Flags to decorate the uid fields in an atom. optional bool is_uid = 50001 [default = false]; } No newline at end of file cmds/statsd/src/atoms.proto +35 −31 Original line number Diff line number Diff line Loading @@ -209,7 +209,7 @@ message ScreenStateChanged { * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message UidProcessStateChanged { optional int32 uid = 1 [(stateFieldOption).option = PRIMARY]; optional int32 uid = 1 [(stateFieldOption).option = PRIMARY, (is_uid) = true]; // The state, from frameworks/base/core/proto/android/app/enums.proto. optional android.app.ProcessStateEnum state = 2 [(stateFieldOption).option = EXCLUSIVE]; Loading @@ -223,7 +223,7 @@ message UidProcessStateChanged { */ message ProcessLifeCycleStateChanged { // TODO: should be a string tagged w/ uid annotation optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name (usually same as the app name). optional string name = 2; Loading Loading @@ -593,7 +593,7 @@ message WakeupAlarmOccurred { */ message MobileRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; Loading @@ -608,7 +608,7 @@ message MobileRadioPowerStateChanged { */ message WifiRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; Loading Loading @@ -1130,7 +1130,8 @@ message ChargeCyclesReported { */ message DaveyOccurred { // The UID that logged this atom. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; ; // Amount of time it took to render the frame. Should be >=700ms. optional int64 jank_duration_millis = 2; Loading Loading @@ -1187,7 +1188,7 @@ message SettingChanged { * frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java */ message ActivityForegroundStateChanged { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional string pkg_name = 2; optional string class_name = 3; Loading @@ -1205,7 +1206,7 @@ message ActivityForegroundStateChanged { */ message DropboxErrorChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // Tag used when recording this error to dropbox. Contains data_ or system_ prefix. optional string tag = 2; Loading Loading @@ -1236,7 +1237,7 @@ message DropboxErrorChanged { */ message AppBreadcrumbReported { // The uid of the application that sent this custom atom. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // An arbitrary label chosen by the developer. For Android P, the label should be in [0, 16). optional int32 label = 2; Loading @@ -1260,7 +1261,7 @@ message AppBreadcrumbReported { */ message AnomalyDetected { // Uid that owns the config whose anomaly detection alert fired. optional int32 config_uid = 1; optional int32 config_uid = 1 [(is_uid) = true]; // Id of the config whose anomaly detection alert fired. optional int64 config_id = 2; Loading @@ -1271,7 +1272,7 @@ message AnomalyDetected { message AppStartChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The app package name. optional string pkg_name = 2; Loading Loading @@ -1318,7 +1319,7 @@ message AppStartChanged { message AppStartCancelChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The app package name. optional string pkg_name = 2; Loading @@ -1338,7 +1339,7 @@ message AppStartCancelChanged { message AppStartFullyDrawnChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The app package name. optional string pkg_name = 2; Loading Loading @@ -1369,7 +1370,7 @@ message AppStartFullyDrawnChanged { */ message PictureInPictureStateChanged { // -1 if it is not available optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional string short_name = 2; Loading @@ -1388,7 +1389,7 @@ message PictureInPictureStateChanged { * services/core/java/com/android/server/wm/Session.java */ message OverlayStateChanged { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional string package_name = 2; Loading @@ -1409,7 +1410,7 @@ message OverlayStateChanged { * //frameworks/base/services/core/java/com/android/server/am/ActiveServices.java */ message ForegroundServiceStateChanged { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // package_name + "/" + class_name optional string short_name = 2; Loading @@ -1429,6 +1430,7 @@ message ForegroundServiceStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message IsolatedUidChanged { // NOTE: DO NOT annotate uid field in this atom. This atom is specially handled in statsd. // The host UID. Generally, we should attribute metrics from the isolated uid to the host uid. optional int32 parent_uid = 1; Loading @@ -1450,7 +1452,7 @@ message IsolatedUidChanged { message PacketWakeupOccurred { // The uid owning the socket into which the packet was delivered, or -1 if the packet was // delivered nowhere. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The interface name on which the packet was received. optional string iface = 2; // The ethertype value of the packet. Loading Loading @@ -1478,7 +1480,7 @@ message PacketWakeupOccurred { */ message AppStartMemoryStateCaptured { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name. optional string process_name = 2; Loading Loading @@ -1524,7 +1526,7 @@ message LmkStateChanged { */ message LmkKillOccurred { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name. optional string process_name = 2; Loading Loading @@ -1556,7 +1558,7 @@ message LmkKillOccurred { */ message AppDied { // timestamp(elapsedRealtime) of record creation optional uint64 timestamp_millis = 1; optional uint64 timestamp_millis = 1 [(stateFieldOption).option = EXCLUSIVE]; } ////////////////////////////////////////////////////////////////////// Loading @@ -1570,7 +1572,7 @@ message AppDied { * StatsCompanionService (using BatteryStats to get which interfaces are wifi) */ message WifiBytesTransfer { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int64 rx_bytes = 2; Loading @@ -1588,9 +1590,10 @@ message WifiBytesTransfer { * StatsCompanionService (using BatteryStats to get which interfaces are wifi) */ message WifiBytesTransferByFgBg { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // 1 denotes foreground and 0 denotes background. This is called Set in NetworkStats. // 1 denotes foreground and 0 denotes background. This is called Set in // NetworkStats. optional int32 is_foreground = 2; optional int64 rx_bytes = 3; Loading @@ -1609,7 +1612,7 @@ message WifiBytesTransferByFgBg { * StatsCompanionService (using BatteryStats to get which interfaces are mobile data) */ message MobileBytesTransfer { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int64 rx_bytes = 2; Loading @@ -1627,9 +1630,10 @@ message MobileBytesTransfer { * StatsCompanionService (using BatteryStats to get which interfaces are mobile data) */ message MobileBytesTransferByFgBg { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // 1 denotes foreground and 0 denotes background. This is called Set in NetworkStats. // 1 denotes foreground and 0 denotes background. This is called Set in // NetworkStats. optional int32 is_foreground = 2; optional int64 rx_bytes = 3; Loading @@ -1648,7 +1652,7 @@ message MobileBytesTransferByFgBg { * StatsCompanionService */ message BluetoothBytesTransfer { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int64 rx_bytes = 2; Loading Loading @@ -1708,7 +1712,7 @@ message CpuTimePerFreq { * Note that isolated process uid time should be attributed to host uids. */ message CpuTimePerUid { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional uint64 user_time_millis = 2; optional uint64 sys_time_millis = 3; } Loading @@ -1719,7 +1723,7 @@ message CpuTimePerUid { * For each uid, we order the time by descending frequencies. */ message CpuTimePerUidFreq { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional uint32 freq_index = 2; optional uint64 time_millis = 3; } Loading Loading @@ -1801,7 +1805,7 @@ message BluetoothActivityInfo { */ message ProcessMemoryState { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name. optional string process_name = 2; Loading Loading @@ -1853,7 +1857,7 @@ message SystemUptime { * The file contains a monotonically increasing count of time for a single boot. */ message CpuActiveTime { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional uint64 time_millis = 2; } Loading @@ -1867,7 +1871,7 @@ message CpuActiveTime { * The file contains a monotonically increasing count of time for a single boot. */ message CpuClusterTime { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int32 cluster_index = 2; optional uint64 time_millis = 3; } Loading cmds/statsd/src/external/puller_util.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -112,7 +112,8 @@ void mergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const sp<Uid VLOG("Unknown pull atom id %d", tagId); return; } if (android::util::kAtomsWithUidField.find(tagId) == android::util::kAtomsWithUidField.end()) { if (android::util::AtomsInfo::kAtomsWithUidField.find(tagId) == android::util::AtomsInfo::kAtomsWithUidField.end()) { VLOG("No uid to merge for atom %d", tagId); return; } Loading cmds/statsd/src/metrics/EventMetricProducer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -134,8 +134,8 @@ void EventMetricProducer::onMatchedLogEventInternalLocked( uint64_t wrapperToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); const bool truncateTimestamp = android::util::kNotTruncatingTimestampAtomWhiteList.find(event.GetTagId()) == android::util::kNotTruncatingTimestampAtomWhiteList.end(); android::util::AtomsInfo::kNotTruncatingTimestampAtomWhiteList.find(event.GetTagId()) == android::util::AtomsInfo::kNotTruncatingTimestampAtomWhiteList.end(); if (truncateTimestamp) { mProto->write(FIELD_TYPE_INT64 | FIELD_ID_ELAPSED_TIMESTAMP_NANOS, (long long)truncateTimestampNsToFiveMinutes(event.GetElapsedTimestampNs())); Loading Loading
cmds/statsd/src/StatsLogProcessor.cpp +16 −8 Original line number Diff line number Diff line Loading @@ -112,8 +112,8 @@ void updateUid(Value* value, int hostUid) { } void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event) const { if (android::util::kAtomsWithAttributionChain.find(event->GetTagId()) != android::util::kAtomsWithAttributionChain.end()) { if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(event->GetTagId()) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()) { for (auto& value : *(event->getMutableValues())) { if (value.mField.getPosAtDepth(0) > kAttributionField) { break; Loading @@ -123,12 +123,20 @@ void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event updateUid(&value.mValue, hostUid); } } } else if (android::util::kAtomsWithUidField.find(event->GetTagId()) != android::util::kAtomsWithUidField.end() && event->getValues().size() > 0 && (event->getValues())[0].mValue.getType() == INT) { Value& value = (*event->getMutableValues())[0].mValue; } else { auto it = android::util::AtomsInfo::kAtomsWithUidField.find(event->GetTagId()); if (it != android::util::AtomsInfo::kAtomsWithUidField.end()) { int uidField = it->second; // uidField is the field number in proto, // starting from 1 if (uidField > 0 && (int)event->getValues().size() >= uidField && (event->getValues())[uidField - 1].mValue.getType() == INT) { Value& value = (*event->getMutableValues())[uidField - 1].mValue; const int hostUid = mUidMap->getHostUidOrSelf(value.int_value); updateUid(&value, hostUid); } else { ALOGE("Malformed log, uid not found. %s", event->ToString().c_str()); } } } } Loading
cmds/statsd/src/atom_field_options.proto +3 −0 Original line number Diff line number Diff line Loading @@ -67,4 +67,7 @@ message StateAtomFieldOption { extend google.protobuf.FieldOptions { // Flags to decorate an atom that presents a state change. optional StateAtomFieldOption stateFieldOption = 50000; // Flags to decorate the uid fields in an atom. optional bool is_uid = 50001 [default = false]; } No newline at end of file
cmds/statsd/src/atoms.proto +35 −31 Original line number Diff line number Diff line Loading @@ -209,7 +209,7 @@ message ScreenStateChanged { * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message UidProcessStateChanged { optional int32 uid = 1 [(stateFieldOption).option = PRIMARY]; optional int32 uid = 1 [(stateFieldOption).option = PRIMARY, (is_uid) = true]; // The state, from frameworks/base/core/proto/android/app/enums.proto. optional android.app.ProcessStateEnum state = 2 [(stateFieldOption).option = EXCLUSIVE]; Loading @@ -223,7 +223,7 @@ message UidProcessStateChanged { */ message ProcessLifeCycleStateChanged { // TODO: should be a string tagged w/ uid annotation optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name (usually same as the app name). optional string name = 2; Loading Loading @@ -593,7 +593,7 @@ message WakeupAlarmOccurred { */ message MobileRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; Loading @@ -608,7 +608,7 @@ message MobileRadioPowerStateChanged { */ message WifiRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; Loading Loading @@ -1130,7 +1130,8 @@ message ChargeCyclesReported { */ message DaveyOccurred { // The UID that logged this atom. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; ; // Amount of time it took to render the frame. Should be >=700ms. optional int64 jank_duration_millis = 2; Loading Loading @@ -1187,7 +1188,7 @@ message SettingChanged { * frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java */ message ActivityForegroundStateChanged { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional string pkg_name = 2; optional string class_name = 3; Loading @@ -1205,7 +1206,7 @@ message ActivityForegroundStateChanged { */ message DropboxErrorChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // Tag used when recording this error to dropbox. Contains data_ or system_ prefix. optional string tag = 2; Loading Loading @@ -1236,7 +1237,7 @@ message DropboxErrorChanged { */ message AppBreadcrumbReported { // The uid of the application that sent this custom atom. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // An arbitrary label chosen by the developer. For Android P, the label should be in [0, 16). optional int32 label = 2; Loading @@ -1260,7 +1261,7 @@ message AppBreadcrumbReported { */ message AnomalyDetected { // Uid that owns the config whose anomaly detection alert fired. optional int32 config_uid = 1; optional int32 config_uid = 1 [(is_uid) = true]; // Id of the config whose anomaly detection alert fired. optional int64 config_id = 2; Loading @@ -1271,7 +1272,7 @@ message AnomalyDetected { message AppStartChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The app package name. optional string pkg_name = 2; Loading Loading @@ -1318,7 +1319,7 @@ message AppStartChanged { message AppStartCancelChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The app package name. optional string pkg_name = 2; Loading @@ -1338,7 +1339,7 @@ message AppStartCancelChanged { message AppStartFullyDrawnChanged { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The app package name. optional string pkg_name = 2; Loading Loading @@ -1369,7 +1370,7 @@ message AppStartFullyDrawnChanged { */ message PictureInPictureStateChanged { // -1 if it is not available optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional string short_name = 2; Loading @@ -1388,7 +1389,7 @@ message PictureInPictureStateChanged { * services/core/java/com/android/server/wm/Session.java */ message OverlayStateChanged { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional string package_name = 2; Loading @@ -1409,7 +1410,7 @@ message OverlayStateChanged { * //frameworks/base/services/core/java/com/android/server/am/ActiveServices.java */ message ForegroundServiceStateChanged { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // package_name + "/" + class_name optional string short_name = 2; Loading @@ -1429,6 +1430,7 @@ message ForegroundServiceStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message IsolatedUidChanged { // NOTE: DO NOT annotate uid field in this atom. This atom is specially handled in statsd. // The host UID. Generally, we should attribute metrics from the isolated uid to the host uid. optional int32 parent_uid = 1; Loading @@ -1450,7 +1452,7 @@ message IsolatedUidChanged { message PacketWakeupOccurred { // The uid owning the socket into which the packet was delivered, or -1 if the packet was // delivered nowhere. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The interface name on which the packet was received. optional string iface = 2; // The ethertype value of the packet. Loading Loading @@ -1478,7 +1480,7 @@ message PacketWakeupOccurred { */ message AppStartMemoryStateCaptured { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name. optional string process_name = 2; Loading Loading @@ -1524,7 +1526,7 @@ message LmkStateChanged { */ message LmkKillOccurred { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name. optional string process_name = 2; Loading Loading @@ -1556,7 +1558,7 @@ message LmkKillOccurred { */ message AppDied { // timestamp(elapsedRealtime) of record creation optional uint64 timestamp_millis = 1; optional uint64 timestamp_millis = 1 [(stateFieldOption).option = EXCLUSIVE]; } ////////////////////////////////////////////////////////////////////// Loading @@ -1570,7 +1572,7 @@ message AppDied { * StatsCompanionService (using BatteryStats to get which interfaces are wifi) */ message WifiBytesTransfer { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int64 rx_bytes = 2; Loading @@ -1588,9 +1590,10 @@ message WifiBytesTransfer { * StatsCompanionService (using BatteryStats to get which interfaces are wifi) */ message WifiBytesTransferByFgBg { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // 1 denotes foreground and 0 denotes background. This is called Set in NetworkStats. // 1 denotes foreground and 0 denotes background. This is called Set in // NetworkStats. optional int32 is_foreground = 2; optional int64 rx_bytes = 3; Loading @@ -1609,7 +1612,7 @@ message WifiBytesTransferByFgBg { * StatsCompanionService (using BatteryStats to get which interfaces are mobile data) */ message MobileBytesTransfer { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int64 rx_bytes = 2; Loading @@ -1627,9 +1630,10 @@ message MobileBytesTransfer { * StatsCompanionService (using BatteryStats to get which interfaces are mobile data) */ message MobileBytesTransferByFgBg { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // 1 denotes foreground and 0 denotes background. This is called Set in NetworkStats. // 1 denotes foreground and 0 denotes background. This is called Set in // NetworkStats. optional int32 is_foreground = 2; optional int64 rx_bytes = 3; Loading @@ -1648,7 +1652,7 @@ message MobileBytesTransferByFgBg { * StatsCompanionService */ message BluetoothBytesTransfer { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int64 rx_bytes = 2; Loading Loading @@ -1708,7 +1712,7 @@ message CpuTimePerFreq { * Note that isolated process uid time should be attributed to host uids. */ message CpuTimePerUid { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional uint64 user_time_millis = 2; optional uint64 sys_time_millis = 3; } Loading @@ -1719,7 +1723,7 @@ message CpuTimePerUid { * For each uid, we order the time by descending frequencies. */ message CpuTimePerUidFreq { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional uint32 freq_index = 2; optional uint64 time_millis = 3; } Loading Loading @@ -1801,7 +1805,7 @@ message BluetoothActivityInfo { */ message ProcessMemoryState { // The uid if available. -1 means not available. optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; // The process name. optional string process_name = 2; Loading Loading @@ -1853,7 +1857,7 @@ message SystemUptime { * The file contains a monotonically increasing count of time for a single boot. */ message CpuActiveTime { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional uint64 time_millis = 2; } Loading @@ -1867,7 +1871,7 @@ message CpuActiveTime { * The file contains a monotonically increasing count of time for a single boot. */ message CpuClusterTime { optional int32 uid = 1; optional int32 uid = 1 [(is_uid) = true]; optional int32 cluster_index = 2; optional uint64 time_millis = 3; } Loading
cmds/statsd/src/external/puller_util.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -112,7 +112,8 @@ void mergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const sp<Uid VLOG("Unknown pull atom id %d", tagId); return; } if (android::util::kAtomsWithUidField.find(tagId) == android::util::kAtomsWithUidField.end()) { if (android::util::AtomsInfo::kAtomsWithUidField.find(tagId) == android::util::AtomsInfo::kAtomsWithUidField.end()) { VLOG("No uid to merge for atom %d", tagId); return; } Loading
cmds/statsd/src/metrics/EventMetricProducer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -134,8 +134,8 @@ void EventMetricProducer::onMatchedLogEventInternalLocked( uint64_t wrapperToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); const bool truncateTimestamp = android::util::kNotTruncatingTimestampAtomWhiteList.find(event.GetTagId()) == android::util::kNotTruncatingTimestampAtomWhiteList.end(); android::util::AtomsInfo::kNotTruncatingTimestampAtomWhiteList.find(event.GetTagId()) == android::util::AtomsInfo::kNotTruncatingTimestampAtomWhiteList.end(); if (truncateTimestamp) { mProto->write(FIELD_TYPE_INT64 | FIELD_ID_ELAPSED_TIMESTAMP_NANOS, (long long)truncateTimestampNsToFiveMinutes(event.GetElapsedTimestampNs())); Loading