Merge "Add command to clear puller cache"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ad73f41329
@@ -41,6 +41,8 @@ statsd_common_src := \
|
||||
src/external/ResourceHealthManagerPuller.cpp \
|
||||
src/external/CpuTimePerUidPuller.cpp \
|
||||
src/external/CpuTimePerUidFreqPuller.cpp \
|
||||
src/external/KernelUidCpuActiveTimeReader.cpp \
|
||||
src/external/KernelUidCpuClusterTimeReader.cpp \
|
||||
src/external/StatsPullerManagerImpl.cpp \
|
||||
src/logd/LogEvent.cpp \
|
||||
src/logd/LogListener.cpp \
|
||||
|
||||
@@ -551,6 +551,12 @@ status_t StatsService::cmd_dump_memory_info(FILE* out) {
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
status_t StatsService::cmd_clear_puller_cache(FILE* out) {
|
||||
mStatsPullerManager.ClearPullerCache();
|
||||
fprintf(out, "Puller cached data removed!\n");
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
Status StatsService::informAllUidData(const vector<int32_t>& uid, const vector<int64_t>& version,
|
||||
const vector<String16>& app) {
|
||||
VLOG("StatsService::informAllUidData was called");
|
||||
|
||||
@@ -197,6 +197,11 @@ private:
|
||||
*/
|
||||
status_t cmd_dump_memory_info(FILE* out);
|
||||
|
||||
/*
|
||||
* Clear all puller cached data
|
||||
*/
|
||||
status_t cmd_clear_puller_cache(FILE* out);
|
||||
|
||||
/**
|
||||
* Update a configuration.
|
||||
*/
|
||||
|
||||
5
cmds/statsd/src/external/StatsPuller.cpp
vendored
5
cmds/statsd/src/external/StatsPuller.cpp
vendored
@@ -59,6 +59,11 @@ bool StatsPuller::Pull(std::vector<std::shared_ptr<LogEvent>>* data) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void StatsPuller::ClearCache() {
|
||||
lock_guard<std::mutex> lock(mLock);
|
||||
mCachedData.clear();
|
||||
}
|
||||
|
||||
} // namespace statsd
|
||||
} // namespace os
|
||||
} // namespace android
|
||||
|
||||
2
cmds/statsd/src/external/StatsPuller.h
vendored
2
cmds/statsd/src/external/StatsPuller.h
vendored
@@ -38,6 +38,8 @@ public:
|
||||
|
||||
bool Pull(std::vector<std::shared_ptr<LogEvent>>* data);
|
||||
|
||||
void ClearCache();
|
||||
|
||||
protected:
|
||||
// The atom tag id this puller pulls
|
||||
const int mTagId;
|
||||
|
||||
@@ -50,10 +50,14 @@ class StatsPullerManager {
|
||||
return mPullerManager.Pull(tagId, data);
|
||||
}
|
||||
|
||||
virtual void SetTimeBaseSec(const long timeBaseSec) {
|
||||
void SetTimeBaseSec(const long timeBaseSec) {
|
||||
mPullerManager.SetTimeBaseSec(timeBaseSec);
|
||||
}
|
||||
|
||||
void ClearPullerCache() {
|
||||
mPullerManager.ClearPullerCache();
|
||||
}
|
||||
|
||||
private:
|
||||
StatsPullerManagerImpl
|
||||
& mPullerManager = StatsPullerManagerImpl::GetInstance();
|
||||
|
||||
@@ -199,6 +199,12 @@ void StatsPullerManagerImpl::OnAlarmFired() {
|
||||
}
|
||||
}
|
||||
|
||||
void StatsPullerManagerImpl::ClearPullerCache() {
|
||||
for (auto puller : mPullers) {
|
||||
puller.second->ClearCache();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace statsd
|
||||
} // namespace os
|
||||
} // namespace android
|
||||
|
||||
@@ -49,6 +49,8 @@ public:
|
||||
|
||||
void SetTimeBaseSec(long timeBaseSec) {mTimeBaseSec = timeBaseSec;};
|
||||
|
||||
void ClearPullerCache();
|
||||
|
||||
private:
|
||||
StatsPullerManagerImpl();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user