Loading cmds/statsd/Android.mk +4 −2 Original line number Diff line number Diff line Loading @@ -157,8 +157,10 @@ LOCAL_SRC_FILES := \ tests/LogReader_test.cpp \ tests/MetricsManager_test.cpp \ tests/UidMap_test.cpp \ tests/OringDurationTracker_test.cpp \ tests/MaxDurationTracker_test.cpp tests/metrics/OringDurationTracker_test.cpp \ tests/metrics/MaxDurationTracker_test.cpp \ tests/metrics/CountMetricProducer_test.cpp \ tests/metrics/EventMetricProducer_test.cpp LOCAL_STATIC_LIBRARIES := \ Loading cmds/statsd/src/StatsLogProcessor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ ConfigMetricsReport StatsLogProcessor::onDumpReport(const ConfigKey& key) { *dest = m; } auto temp = mUidMap->getOutput(key); report.set_allocated_uid_map(&temp); report.mutable_uid_map()->Swap(&temp); return report; } Loading cmds/statsd/src/external/ResourcePowerManagerPuller.cpp +11 −7 Original line number Diff line number Diff line Loading @@ -83,28 +83,31 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven return false; } uint64_t timestamp = time(nullptr) * NS_PER_SEC; data->clear(); Return<void> ret = gPowerHalV1_0->getPlatformLowPowerStats( [&data](hidl_vec<PowerStatePlatformSleepState> states, Status status) { [&data, timestamp](hidl_vec<PowerStatePlatformSleepState> states, Status status) { if (status != Status::SUCCESS) return; for (size_t i = 0; i < states.size(); i++) { const PowerStatePlatformSleepState& state = states[i]; auto statePtr = make_shared<LogEvent>(power_state_platform_sleep_state_tag); auto statePtr = make_shared<LogEvent>(power_state_platform_sleep_state_tag, timestamp); auto elemList = statePtr->GetAndroidLogEventList(); *elemList << state.name; *elemList << state.residencyInMsecSinceBoot; *elemList << state.totalTransitions; *elemList << state.supportedOnlyInSuspend; statePtr->init(); data->push_back(statePtr); VLOG("powerstate: %s, %lld, %lld, %d", state.name.c_str(), (long long)state.residencyInMsecSinceBoot, (long long)state.totalTransitions, state.supportedOnlyInSuspend ? 1 : 0); for (auto voter : state.voters) { auto voterPtr = make_shared<LogEvent>(power_state_voter_tag); auto voterPtr = make_shared<LogEvent>(power_state_voter_tag, timestamp); auto elemList = voterPtr->GetAndroidLogEventList(); *elemList << state.name; *elemList << voter.name; Loading @@ -128,7 +131,7 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven android::hardware::power::V1_1::IPower::castFrom(gPowerHalV1_0); if (gPowerHal_1_1 != nullptr) { ret = gPowerHal_1_1->getSubsystemLowPowerStats( [&data](hidl_vec<PowerStateSubsystem> subsystems, Status status) { [&data, timestamp](hidl_vec<PowerStateSubsystem> subsystems, Status status) { if (status != Status::SUCCESS) return; Loading @@ -137,8 +140,8 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven const PowerStateSubsystem& subsystem = subsystems[i]; for (size_t j = 0; j < subsystem.states.size(); j++) { const PowerStateSubsystemSleepState& state = subsystem.states[j]; auto subsystemStatePtr = make_shared<LogEvent>(power_state_subsystem_state_tag); auto subsystemStatePtr = make_shared<LogEvent>( power_state_subsystem_state_tag, timestamp); auto elemList = subsystemStatePtr->GetAndroidLogEventList(); *elemList << subsystem.name; *elemList << state.name; Loading @@ -146,6 +149,7 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven *elemList << state.totalTransitions; *elemList << state.lastEntryTimestampMs; *elemList << state.supportedOnlyInSuspend; subsystemStatePtr->init(); data->push_back(subsystemStatePtr); VLOG("subsystemstate: %s, %s, %lld, %lld, %lld", subsystem.name.c_str(), state.name.c_str(), Loading cmds/statsd/src/external/StatsPullerManager.cpp +30 −34 Original line number Diff line number Diff line Loading @@ -30,11 +30,11 @@ #include <iostream> using std::make_shared; using std::map; using std::shared_ptr; using std::string; using std::vector; using std::make_shared; using std::shared_ptr; namespace android { namespace os { Loading @@ -42,26 +42,21 @@ namespace statsd { StatsPullerManager::StatsPullerManager() : mCurrentPullingInterval(LONG_MAX), mPullStartTimeMs(get_pull_start_time_ms()) { shared_ptr<StatsPuller> statsCompanionServicePuller = make_shared<StatsCompanionServicePuller>(); shared_ptr <StatsPuller> resourcePowerManagerPuller = make_shared<ResourcePowerManagerPuller>(); mPullers.insert({android::util::KERNEL_WAKELOCK_PULLED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::MOBILE_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert({android::util::MOBILE_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert({android::util::POWER_STATE_PLATFORM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); mPullers.insert({android::util::POWER_STATE_VOTER_PULLED, resourcePowerManagerPuller}); mPullers.insert({android::util::POWER_STATE_SUBSYSTEM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); shared_ptr<StatsPuller> statsCompanionServicePuller = make_shared<StatsCompanionServicePuller>(); shared_ptr<StatsPuller> resourcePowerManagerPuller = make_shared<ResourcePowerManagerPuller>(); mPullers.insert({android::util::KERNEL_WAKELOCK_PULLED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::MOBILE_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert( {android::util::MOBILE_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert( {android::util::POWER_STATE_PLATFORM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); mPullers.insert({android::util::POWER_STATE_VOTER_PULLED, resourcePowerManagerPuller}); mPullers.insert( {android::util::POWER_STATE_SUBSYSTEM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); mStatsCompanionService = StatsService::getStatsCompanionService(); } Loading Loading @@ -91,7 +86,8 @@ long StatsPullerManager::get_pull_start_time_ms() { return time(nullptr) * 1000; } void StatsPullerManager::RegisterReceiver(int tagId, sp<PullDataReceiver> receiver, long intervalMs) { void StatsPullerManager::RegisterReceiver(int tagId, sp<PullDataReceiver> receiver, long intervalMs) { AutoMutex _l(mReceiversLock); vector<ReceiverInfo>& receivers = mReceivers[tagId]; for (auto it = receivers.begin(); it != receivers.end(); it++) { Loading cmds/statsd/src/logd/LogEvent.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ LogEvent::LogEvent(log_msg& msg) : mList(msg) { init(msg.entry_v1.sec * NS_PER_SEC + msg.entry_v1.nsec, &mList); } LogEvent::LogEvent(int tag) : mList(tag) { LogEvent::LogEvent(int tag, uint64_t timestampNs) : mList(tag), mTimestampNs(timestampNs) { } LogEvent::~LogEvent() { Loading Loading
cmds/statsd/Android.mk +4 −2 Original line number Diff line number Diff line Loading @@ -157,8 +157,10 @@ LOCAL_SRC_FILES := \ tests/LogReader_test.cpp \ tests/MetricsManager_test.cpp \ tests/UidMap_test.cpp \ tests/OringDurationTracker_test.cpp \ tests/MaxDurationTracker_test.cpp tests/metrics/OringDurationTracker_test.cpp \ tests/metrics/MaxDurationTracker_test.cpp \ tests/metrics/CountMetricProducer_test.cpp \ tests/metrics/EventMetricProducer_test.cpp LOCAL_STATIC_LIBRARIES := \ Loading
cmds/statsd/src/StatsLogProcessor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ ConfigMetricsReport StatsLogProcessor::onDumpReport(const ConfigKey& key) { *dest = m; } auto temp = mUidMap->getOutput(key); report.set_allocated_uid_map(&temp); report.mutable_uid_map()->Swap(&temp); return report; } Loading
cmds/statsd/src/external/ResourcePowerManagerPuller.cpp +11 −7 Original line number Diff line number Diff line Loading @@ -83,28 +83,31 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven return false; } uint64_t timestamp = time(nullptr) * NS_PER_SEC; data->clear(); Return<void> ret = gPowerHalV1_0->getPlatformLowPowerStats( [&data](hidl_vec<PowerStatePlatformSleepState> states, Status status) { [&data, timestamp](hidl_vec<PowerStatePlatformSleepState> states, Status status) { if (status != Status::SUCCESS) return; for (size_t i = 0; i < states.size(); i++) { const PowerStatePlatformSleepState& state = states[i]; auto statePtr = make_shared<LogEvent>(power_state_platform_sleep_state_tag); auto statePtr = make_shared<LogEvent>(power_state_platform_sleep_state_tag, timestamp); auto elemList = statePtr->GetAndroidLogEventList(); *elemList << state.name; *elemList << state.residencyInMsecSinceBoot; *elemList << state.totalTransitions; *elemList << state.supportedOnlyInSuspend; statePtr->init(); data->push_back(statePtr); VLOG("powerstate: %s, %lld, %lld, %d", state.name.c_str(), (long long)state.residencyInMsecSinceBoot, (long long)state.totalTransitions, state.supportedOnlyInSuspend ? 1 : 0); for (auto voter : state.voters) { auto voterPtr = make_shared<LogEvent>(power_state_voter_tag); auto voterPtr = make_shared<LogEvent>(power_state_voter_tag, timestamp); auto elemList = voterPtr->GetAndroidLogEventList(); *elemList << state.name; *elemList << voter.name; Loading @@ -128,7 +131,7 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven android::hardware::power::V1_1::IPower::castFrom(gPowerHalV1_0); if (gPowerHal_1_1 != nullptr) { ret = gPowerHal_1_1->getSubsystemLowPowerStats( [&data](hidl_vec<PowerStateSubsystem> subsystems, Status status) { [&data, timestamp](hidl_vec<PowerStateSubsystem> subsystems, Status status) { if (status != Status::SUCCESS) return; Loading @@ -137,8 +140,8 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven const PowerStateSubsystem& subsystem = subsystems[i]; for (size_t j = 0; j < subsystem.states.size(); j++) { const PowerStateSubsystemSleepState& state = subsystem.states[j]; auto subsystemStatePtr = make_shared<LogEvent>(power_state_subsystem_state_tag); auto subsystemStatePtr = make_shared<LogEvent>( power_state_subsystem_state_tag, timestamp); auto elemList = subsystemStatePtr->GetAndroidLogEventList(); *elemList << subsystem.name; *elemList << state.name; Loading @@ -146,6 +149,7 @@ bool ResourcePowerManagerPuller::Pull(const int tagId, vector<shared_ptr<LogEven *elemList << state.totalTransitions; *elemList << state.lastEntryTimestampMs; *elemList << state.supportedOnlyInSuspend; subsystemStatePtr->init(); data->push_back(subsystemStatePtr); VLOG("subsystemstate: %s, %s, %lld, %lld, %lld", subsystem.name.c_str(), state.name.c_str(), Loading
cmds/statsd/src/external/StatsPullerManager.cpp +30 −34 Original line number Diff line number Diff line Loading @@ -30,11 +30,11 @@ #include <iostream> using std::make_shared; using std::map; using std::shared_ptr; using std::string; using std::vector; using std::make_shared; using std::shared_ptr; namespace android { namespace os { Loading @@ -42,26 +42,21 @@ namespace statsd { StatsPullerManager::StatsPullerManager() : mCurrentPullingInterval(LONG_MAX), mPullStartTimeMs(get_pull_start_time_ms()) { shared_ptr<StatsPuller> statsCompanionServicePuller = make_shared<StatsCompanionServicePuller>(); shared_ptr <StatsPuller> resourcePowerManagerPuller = make_shared<ResourcePowerManagerPuller>(); mPullers.insert({android::util::KERNEL_WAKELOCK_PULLED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::MOBILE_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert({android::util::MOBILE_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert({android::util::POWER_STATE_PLATFORM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); mPullers.insert({android::util::POWER_STATE_VOTER_PULLED, resourcePowerManagerPuller}); mPullers.insert({android::util::POWER_STATE_SUBSYSTEM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); shared_ptr<StatsPuller> statsCompanionServicePuller = make_shared<StatsCompanionServicePuller>(); shared_ptr<StatsPuller> resourcePowerManagerPuller = make_shared<ResourcePowerManagerPuller>(); mPullers.insert({android::util::KERNEL_WAKELOCK_PULLED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::MOBILE_BYTES_TRANSFERRED, statsCompanionServicePuller}); mPullers.insert({android::util::WIFI_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert( {android::util::MOBILE_BYTES_TRANSFERRED_BY_FG_BG, statsCompanionServicePuller}); mPullers.insert( {android::util::POWER_STATE_PLATFORM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); mPullers.insert({android::util::POWER_STATE_VOTER_PULLED, resourcePowerManagerPuller}); mPullers.insert( {android::util::POWER_STATE_SUBSYSTEM_SLEEP_STATE_PULLED, resourcePowerManagerPuller}); mStatsCompanionService = StatsService::getStatsCompanionService(); } Loading Loading @@ -91,7 +86,8 @@ long StatsPullerManager::get_pull_start_time_ms() { return time(nullptr) * 1000; } void StatsPullerManager::RegisterReceiver(int tagId, sp<PullDataReceiver> receiver, long intervalMs) { void StatsPullerManager::RegisterReceiver(int tagId, sp<PullDataReceiver> receiver, long intervalMs) { AutoMutex _l(mReceiversLock); vector<ReceiverInfo>& receivers = mReceivers[tagId]; for (auto it = receivers.begin(); it != receivers.end(); it++) { Loading
cmds/statsd/src/logd/LogEvent.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ LogEvent::LogEvent(log_msg& msg) : mList(msg) { init(msg.entry_v1.sec * NS_PER_SEC + msg.entry_v1.nsec, &mList); } LogEvent::LogEvent(int tag) : mList(tag) { LogEvent::LogEvent(int tag, uint64_t timestampNs) : mList(tag), mTimestampNs(timestampNs) { } LogEvent::~LogEvent() { Loading