Loading cmds/statsd/Android.bp +33 −1 Original line number Original line Diff line number Diff line Loading @@ -113,8 +113,8 @@ cc_defaults { "libbase", "libbase", "libcutils", "libcutils", "libprotoutil", "libprotoutil", "libstatslog", "libstatsmetadata", "libstatsmetadata", "libstatslog_statsd", "libsysutils", "libsysutils", "libutils", "libutils", ], ], Loading Loading @@ -171,6 +171,37 @@ cc_library_static { ], ], } } genrule { name: "statslog_statsd.h", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_statsd.h --module statsd --namespace android,os,statsd,util", out: [ "statslog_statsd.h", ], } genrule { name: "statslog_statsd.cpp", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_statsd.cpp --module statsd --namespace android,os,statsd,util --importHeader statslog_statsd.h", out: [ "statslog_statsd.cpp", ], } cc_library_static { name: "libstatslog_statsd", generated_sources: ["statslog_statsd.cpp"], generated_headers: ["statslog_statsd.h"], export_generated_headers: ["statslog_statsd.h"], apex_available: [ "com.android.os.statsd", "test_com.android.os.statsd", ], shared_libs: [ "libstatssocket", ] } // ========= // ========= // statsd // statsd Loading Loading @@ -300,6 +331,7 @@ cc_test { static_libs: [ static_libs: [ "libgmock", "libgmock", "libplatformprotos", "libplatformprotos", "libstatslog", //TODO(b/150976524): remove this when the tests no longer hardcode atoms. "libstatssocket_private", "libstatssocket_private", ], ], Loading cmds/statsd/src/StatsLogProcessor.cpp +10 −10 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,7 @@ #include "state/StateManager.h" #include "state/StateManager.h" #include "stats_log_util.h" #include "stats_log_util.h" #include "stats_util.h" #include "stats_util.h" #include "statslog.h" #include "statslog_statsd.h" #include "storage/StorageManager.h" #include "storage/StorageManager.h" using namespace android; using namespace android; Loading Loading @@ -287,17 +287,17 @@ void StatsLogProcessor::getAndUpdateTrainInfoOnDisk(bool is_rollback, int64_t firstId = trainInfo->experimentIds.at(0); int64_t firstId = trainInfo->experimentIds.at(0); auto& ids = trainInfo->experimentIds; auto& ids = trainInfo->experimentIds; switch (trainInfo->status) { switch (trainInfo->status) { case android::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALL_SUCCESS: case android::os::statsd::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALL_SUCCESS: if (find(ids.begin(), ids.end(), firstId + 1) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 1) == ids.end()) { ids.push_back(firstId + 1); ids.push_back(firstId + 1); } } break; break; case android::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_INITIATED: case android::os::statsd::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_INITIATED: if (find(ids.begin(), ids.end(), firstId + 2) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 2) == ids.end()) { ids.push_back(firstId + 2); ids.push_back(firstId + 2); } } break; break; case android::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_SUCCESS: case android::os::statsd::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_SUCCESS: if (find(ids.begin(), ids.end(), firstId + 3) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 3) == ids.end()) { ids.push_back(firstId + 3); ids.push_back(firstId + 3); } } Loading Loading @@ -366,13 +366,13 @@ vector<int64_t> StatsLogProcessor::processWatchdogRollbackOccurred(const int32_t int64_t firstId = trainInfoOnDisk.experimentIds[0]; int64_t firstId = trainInfoOnDisk.experimentIds[0]; auto& ids = trainInfoOnDisk.experimentIds; auto& ids = trainInfoOnDisk.experimentIds; switch (rollbackTypeIn) { switch (rollbackTypeIn) { case android::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE: case android::os::statsd::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE: if (find(ids.begin(), ids.end(), firstId + 4) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 4) == ids.end()) { ids.push_back(firstId + 4); ids.push_back(firstId + 4); } } StorageManager::writeTrainInfo(trainInfoOnDisk); StorageManager::writeTrainInfo(trainInfoOnDisk); break; break; case android::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS: case android::os::statsd::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS: if (find(ids.begin(), ids.end(), firstId + 5) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 5) == ids.end()) { ids.push_back(firstId + 5); ids.push_back(firstId + 5); } } Loading Loading @@ -405,13 +405,13 @@ void StatsLogProcessor::OnLogEvent(LogEvent* event, int64_t elapsedRealtimeNs) { // Hard-coded logic to update train info on disk and fill in any information // Hard-coded logic to update train info on disk and fill in any information // this log event may be missing. // this log event may be missing. if (event->GetTagId() == android::util::BINARY_PUSH_STATE_CHANGED) { if (event->GetTagId() == android::os::statsd::util::BINARY_PUSH_STATE_CHANGED) { onBinaryPushStateChangedEventLocked(event); onBinaryPushStateChangedEventLocked(event); } } // Hard-coded logic to update experiment ids on disk for certain rollback // Hard-coded logic to update experiment ids on disk for certain rollback // types and fill the rollback atom with experiment ids // types and fill the rollback atom with experiment ids if (event->GetTagId() == android::util::WATCHDOG_ROLLBACK_OCCURRED) { if (event->GetTagId() == android::os::statsd::util::WATCHDOG_ROLLBACK_OCCURRED) { onWatchdogRollbackOccurredLocked(event); onWatchdogRollbackOccurredLocked(event); } } Loading @@ -429,7 +429,7 @@ void StatsLogProcessor::OnLogEvent(LogEvent* event, int64_t elapsedRealtimeNs) { // Hard-coded logic to update the isolated uid's in the uid-map. // Hard-coded logic to update the isolated uid's in the uid-map. // The field numbers need to be currently updated by hand with atoms.proto // The field numbers need to be currently updated by hand with atoms.proto if (event->GetTagId() == android::util::ISOLATED_UID_CHANGED) { if (event->GetTagId() == android::os::statsd::util::ISOLATED_UID_CHANGED) { onIsolatedUidChangedEventLocked(*event); onIsolatedUidChangedEventLocked(*event); } } Loading @@ -446,7 +446,7 @@ void StatsLogProcessor::OnLogEvent(LogEvent* event, int64_t elapsedRealtimeNs) { } } if (event->GetTagId() != android::util::ISOLATED_UID_CHANGED) { if (event->GetTagId() != android::os::statsd::util::ISOLATED_UID_CHANGED) { // Map the isolated uid to host uid if necessary. // Map the isolated uid to host uid if necessary. mapIsolatedUidToHostUidIfNecessaryLocked(event); mapIsolatedUidToHostUidIfNecessaryLocked(event); } } Loading cmds/statsd/src/StatsService.cpp +4 −3 Original line number Original line Diff line number Diff line Loading @@ -32,7 +32,7 @@ #include <frameworks/base/cmds/statsd/src/statsd_config.pb.h> #include <frameworks/base/cmds/statsd/src/statsd_config.pb.h> #include <frameworks/base/cmds/statsd/src/uid_data.pb.h> #include <frameworks/base/cmds/statsd/src/uid_data.pb.h> #include <private/android_filesystem_config.h> #include <private/android_filesystem_config.h> #include <statslog.h> #include <statslog_statsd.h> #include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <stdlib.h> #include <sys/system_properties.h> #include <sys/system_properties.h> Loading Loading @@ -767,7 +767,8 @@ status_t StatsService::cmd_log_app_breadcrumb(int out, const Vector<String8>& ar } } if (good) { if (good) { dprintf(out, "Logging AppBreadcrumbReported(%d, %d, %d) to statslog.\n", uid, label, state); dprintf(out, "Logging AppBreadcrumbReported(%d, %d, %d) to statslog.\n", uid, label, state); android::util::stats_write(android::util::APP_BREADCRUMB_REPORTED, uid, label, state); android::os::statsd::util::stats_write( android::os::statsd::util::APP_BREADCRUMB_REPORTED, uid, label, state); } else { } else { print_cmd_help(out); print_cmd_help(out); return UNKNOWN_ERROR; return UNKNOWN_ERROR; Loading Loading @@ -1188,7 +1189,7 @@ Status StatsService::unsetBroadcastSubscriber(int64_t configId, Status StatsService::sendAppBreadcrumbAtom(int32_t label, int32_t state) { Status StatsService::sendAppBreadcrumbAtom(int32_t label, int32_t state) { // Permission check not necessary as it's meant for applications to write to // Permission check not necessary as it's meant for applications to write to // statsd. // statsd. android::util::stats_write(util::APP_BREADCRUMB_REPORTED, android::os::statsd::util::stats_write(android::os::statsd::util::APP_BREADCRUMB_REPORTED, (int32_t) AIBinder_getCallingUid(), label, (int32_t) AIBinder_getCallingUid(), label, state); state); return Status::ok(); return Status::ok(); Loading cmds/statsd/src/anomaly/AlarmTracker.cpp +0 −1 Original line number Original line Diff line number Diff line Loading @@ -23,7 +23,6 @@ #include "stats_util.h" #include "stats_util.h" #include "storage/StorageManager.h" #include "storage/StorageManager.h" #include <statslog.h> #include <time.h> #include <time.h> namespace android { namespace android { Loading cmds/statsd/src/anomaly/AnomalyTracker.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ #include "subscriber/SubscriberReporter.h" #include "subscriber/SubscriberReporter.h" #include <inttypes.h> #include <inttypes.h> #include <statslog.h> #include <statslog_statsd.h> #include <time.h> #include <time.h> namespace android { namespace android { Loading Loading @@ -235,7 +235,7 @@ void AnomalyTracker::declareAnomaly(const int64_t& timestampNs, int64_t metricId StatsdStats::getInstance().noteAnomalyDeclared(mConfigKey, mAlert.id()); StatsdStats::getInstance().noteAnomalyDeclared(mConfigKey, mAlert.id()); // TODO(b/110564268): This should also take in the const MetricDimensionKey& key? // TODO(b/110564268): This should also take in the const MetricDimensionKey& key? android::util::stats_write(android::util::ANOMALY_DETECTED, mConfigKey.GetUid(), util::stats_write(util::ANOMALY_DETECTED, mConfigKey.GetUid(), mConfigKey.GetId(), mAlert.id()); mConfigKey.GetId(), mAlert.id()); } } Loading Loading
cmds/statsd/Android.bp +33 −1 Original line number Original line Diff line number Diff line Loading @@ -113,8 +113,8 @@ cc_defaults { "libbase", "libbase", "libcutils", "libcutils", "libprotoutil", "libprotoutil", "libstatslog", "libstatsmetadata", "libstatsmetadata", "libstatslog_statsd", "libsysutils", "libsysutils", "libutils", "libutils", ], ], Loading Loading @@ -171,6 +171,37 @@ cc_library_static { ], ], } } genrule { name: "statslog_statsd.h", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_statsd.h --module statsd --namespace android,os,statsd,util", out: [ "statslog_statsd.h", ], } genrule { name: "statslog_statsd.cpp", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_statsd.cpp --module statsd --namespace android,os,statsd,util --importHeader statslog_statsd.h", out: [ "statslog_statsd.cpp", ], } cc_library_static { name: "libstatslog_statsd", generated_sources: ["statslog_statsd.cpp"], generated_headers: ["statslog_statsd.h"], export_generated_headers: ["statslog_statsd.h"], apex_available: [ "com.android.os.statsd", "test_com.android.os.statsd", ], shared_libs: [ "libstatssocket", ] } // ========= // ========= // statsd // statsd Loading Loading @@ -300,6 +331,7 @@ cc_test { static_libs: [ static_libs: [ "libgmock", "libgmock", "libplatformprotos", "libplatformprotos", "libstatslog", //TODO(b/150976524): remove this when the tests no longer hardcode atoms. "libstatssocket_private", "libstatssocket_private", ], ], Loading
cmds/statsd/src/StatsLogProcessor.cpp +10 −10 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,7 @@ #include "state/StateManager.h" #include "state/StateManager.h" #include "stats_log_util.h" #include "stats_log_util.h" #include "stats_util.h" #include "stats_util.h" #include "statslog.h" #include "statslog_statsd.h" #include "storage/StorageManager.h" #include "storage/StorageManager.h" using namespace android; using namespace android; Loading Loading @@ -287,17 +287,17 @@ void StatsLogProcessor::getAndUpdateTrainInfoOnDisk(bool is_rollback, int64_t firstId = trainInfo->experimentIds.at(0); int64_t firstId = trainInfo->experimentIds.at(0); auto& ids = trainInfo->experimentIds; auto& ids = trainInfo->experimentIds; switch (trainInfo->status) { switch (trainInfo->status) { case android::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALL_SUCCESS: case android::os::statsd::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALL_SUCCESS: if (find(ids.begin(), ids.end(), firstId + 1) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 1) == ids.end()) { ids.push_back(firstId + 1); ids.push_back(firstId + 1); } } break; break; case android::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_INITIATED: case android::os::statsd::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_INITIATED: if (find(ids.begin(), ids.end(), firstId + 2) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 2) == ids.end()) { ids.push_back(firstId + 2); ids.push_back(firstId + 2); } } break; break; case android::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_SUCCESS: case android::os::statsd::util::BINARY_PUSH_STATE_CHANGED__STATE__INSTALLER_ROLLBACK_SUCCESS: if (find(ids.begin(), ids.end(), firstId + 3) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 3) == ids.end()) { ids.push_back(firstId + 3); ids.push_back(firstId + 3); } } Loading Loading @@ -366,13 +366,13 @@ vector<int64_t> StatsLogProcessor::processWatchdogRollbackOccurred(const int32_t int64_t firstId = trainInfoOnDisk.experimentIds[0]; int64_t firstId = trainInfoOnDisk.experimentIds[0]; auto& ids = trainInfoOnDisk.experimentIds; auto& ids = trainInfoOnDisk.experimentIds; switch (rollbackTypeIn) { switch (rollbackTypeIn) { case android::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE: case android::os::statsd::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE: if (find(ids.begin(), ids.end(), firstId + 4) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 4) == ids.end()) { ids.push_back(firstId + 4); ids.push_back(firstId + 4); } } StorageManager::writeTrainInfo(trainInfoOnDisk); StorageManager::writeTrainInfo(trainInfoOnDisk); break; break; case android::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS: case android::os::statsd::util::WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS: if (find(ids.begin(), ids.end(), firstId + 5) == ids.end()) { if (find(ids.begin(), ids.end(), firstId + 5) == ids.end()) { ids.push_back(firstId + 5); ids.push_back(firstId + 5); } } Loading Loading @@ -405,13 +405,13 @@ void StatsLogProcessor::OnLogEvent(LogEvent* event, int64_t elapsedRealtimeNs) { // Hard-coded logic to update train info on disk and fill in any information // Hard-coded logic to update train info on disk and fill in any information // this log event may be missing. // this log event may be missing. if (event->GetTagId() == android::util::BINARY_PUSH_STATE_CHANGED) { if (event->GetTagId() == android::os::statsd::util::BINARY_PUSH_STATE_CHANGED) { onBinaryPushStateChangedEventLocked(event); onBinaryPushStateChangedEventLocked(event); } } // Hard-coded logic to update experiment ids on disk for certain rollback // Hard-coded logic to update experiment ids on disk for certain rollback // types and fill the rollback atom with experiment ids // types and fill the rollback atom with experiment ids if (event->GetTagId() == android::util::WATCHDOG_ROLLBACK_OCCURRED) { if (event->GetTagId() == android::os::statsd::util::WATCHDOG_ROLLBACK_OCCURRED) { onWatchdogRollbackOccurredLocked(event); onWatchdogRollbackOccurredLocked(event); } } Loading @@ -429,7 +429,7 @@ void StatsLogProcessor::OnLogEvent(LogEvent* event, int64_t elapsedRealtimeNs) { // Hard-coded logic to update the isolated uid's in the uid-map. // Hard-coded logic to update the isolated uid's in the uid-map. // The field numbers need to be currently updated by hand with atoms.proto // The field numbers need to be currently updated by hand with atoms.proto if (event->GetTagId() == android::util::ISOLATED_UID_CHANGED) { if (event->GetTagId() == android::os::statsd::util::ISOLATED_UID_CHANGED) { onIsolatedUidChangedEventLocked(*event); onIsolatedUidChangedEventLocked(*event); } } Loading @@ -446,7 +446,7 @@ void StatsLogProcessor::OnLogEvent(LogEvent* event, int64_t elapsedRealtimeNs) { } } if (event->GetTagId() != android::util::ISOLATED_UID_CHANGED) { if (event->GetTagId() != android::os::statsd::util::ISOLATED_UID_CHANGED) { // Map the isolated uid to host uid if necessary. // Map the isolated uid to host uid if necessary. mapIsolatedUidToHostUidIfNecessaryLocked(event); mapIsolatedUidToHostUidIfNecessaryLocked(event); } } Loading
cmds/statsd/src/StatsService.cpp +4 −3 Original line number Original line Diff line number Diff line Loading @@ -32,7 +32,7 @@ #include <frameworks/base/cmds/statsd/src/statsd_config.pb.h> #include <frameworks/base/cmds/statsd/src/statsd_config.pb.h> #include <frameworks/base/cmds/statsd/src/uid_data.pb.h> #include <frameworks/base/cmds/statsd/src/uid_data.pb.h> #include <private/android_filesystem_config.h> #include <private/android_filesystem_config.h> #include <statslog.h> #include <statslog_statsd.h> #include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <stdlib.h> #include <sys/system_properties.h> #include <sys/system_properties.h> Loading Loading @@ -767,7 +767,8 @@ status_t StatsService::cmd_log_app_breadcrumb(int out, const Vector<String8>& ar } } if (good) { if (good) { dprintf(out, "Logging AppBreadcrumbReported(%d, %d, %d) to statslog.\n", uid, label, state); dprintf(out, "Logging AppBreadcrumbReported(%d, %d, %d) to statslog.\n", uid, label, state); android::util::stats_write(android::util::APP_BREADCRUMB_REPORTED, uid, label, state); android::os::statsd::util::stats_write( android::os::statsd::util::APP_BREADCRUMB_REPORTED, uid, label, state); } else { } else { print_cmd_help(out); print_cmd_help(out); return UNKNOWN_ERROR; return UNKNOWN_ERROR; Loading Loading @@ -1188,7 +1189,7 @@ Status StatsService::unsetBroadcastSubscriber(int64_t configId, Status StatsService::sendAppBreadcrumbAtom(int32_t label, int32_t state) { Status StatsService::sendAppBreadcrumbAtom(int32_t label, int32_t state) { // Permission check not necessary as it's meant for applications to write to // Permission check not necessary as it's meant for applications to write to // statsd. // statsd. android::util::stats_write(util::APP_BREADCRUMB_REPORTED, android::os::statsd::util::stats_write(android::os::statsd::util::APP_BREADCRUMB_REPORTED, (int32_t) AIBinder_getCallingUid(), label, (int32_t) AIBinder_getCallingUid(), label, state); state); return Status::ok(); return Status::ok(); Loading
cmds/statsd/src/anomaly/AlarmTracker.cpp +0 −1 Original line number Original line Diff line number Diff line Loading @@ -23,7 +23,6 @@ #include "stats_util.h" #include "stats_util.h" #include "storage/StorageManager.h" #include "storage/StorageManager.h" #include <statslog.h> #include <time.h> #include <time.h> namespace android { namespace android { Loading
cmds/statsd/src/anomaly/AnomalyTracker.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ #include "subscriber/SubscriberReporter.h" #include "subscriber/SubscriberReporter.h" #include <inttypes.h> #include <inttypes.h> #include <statslog.h> #include <statslog_statsd.h> #include <time.h> #include <time.h> namespace android { namespace android { Loading Loading @@ -235,7 +235,7 @@ void AnomalyTracker::declareAnomaly(const int64_t& timestampNs, int64_t metricId StatsdStats::getInstance().noteAnomalyDeclared(mConfigKey, mAlert.id()); StatsdStats::getInstance().noteAnomalyDeclared(mConfigKey, mAlert.id()); // TODO(b/110564268): This should also take in the const MetricDimensionKey& key? // TODO(b/110564268): This should also take in the const MetricDimensionKey& key? android::util::stats_write(android::util::ANOMALY_DETECTED, mConfigKey.GetUid(), util::stats_write(util::ANOMALY_DETECTED, mConfigKey.GetUid(), mConfigKey.GetId(), mAlert.id()); mConfigKey.GetId(), mAlert.id()); } } Loading