Merge "Statsd dumpsys handles multiple and saved configs"
This commit is contained in:
committed by
Android (Google) Code Review
commit
fcfa0ee9bd
@@ -293,7 +293,7 @@ void StatsLogProcessor::onDumpReport(const ConfigKey& key, const int64_t dumpTim
|
||||
|
||||
// Then, check stats-data directory to see there's any file containing
|
||||
// ConfigMetricsReport from previous shutdowns to concatenate to reports.
|
||||
StorageManager::appendConfigMetricsReport(key, proto);
|
||||
StorageManager::appendConfigMetricsReport(key, proto, erase_data);
|
||||
|
||||
auto it = mMetricsManagers.find(key);
|
||||
if (it != mMetricsManagers.end()) {
|
||||
|
||||
@@ -296,6 +296,7 @@ void StatsService::dumpIncidentSection(int out) {
|
||||
ADB_DUMP, &proto);
|
||||
proto.end(reportsListToken);
|
||||
proto.flush(out);
|
||||
proto.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -188,7 +188,9 @@ bool StorageManager::hasConfigMetricsReport(const ConfigKey& key) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void StorageManager::appendConfigMetricsReport(const ConfigKey& key, ProtoOutputStream* proto) {
|
||||
void StorageManager::appendConfigMetricsReport(const ConfigKey& key,
|
||||
ProtoOutputStream* proto,
|
||||
bool erasa_data) {
|
||||
unique_ptr<DIR, decltype(&closedir)> dir(opendir(STATS_DATA_DIR), closedir);
|
||||
if (dir == NULL) {
|
||||
VLOG("Path %s does not exist", STATS_DATA_DIR);
|
||||
@@ -224,8 +226,9 @@ void StorageManager::appendConfigMetricsReport(const ConfigKey& key, ProtoOutput
|
||||
close(fd);
|
||||
}
|
||||
|
||||
// Remove file from disk after reading.
|
||||
remove(file_name.c_str());
|
||||
if (erasa_data) {
|
||||
remove(file_name.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,10 +68,12 @@ public:
|
||||
static bool hasConfigMetricsReport(const ConfigKey& key);
|
||||
|
||||
/**
|
||||
* Appends ConfigMetricsReport found on disk to the specific proto and
|
||||
* delete it.
|
||||
* Appends the ConfigMetricsReport found on disk to the specifid proto
|
||||
* and, if erase_data, deletes it from disk.
|
||||
*/
|
||||
static void appendConfigMetricsReport(const ConfigKey& key, ProtoOutputStream* proto);
|
||||
static void appendConfigMetricsReport(const ConfigKey& key,
|
||||
ProtoOutputStream* proto,
|
||||
bool erase_data);
|
||||
|
||||
/**
|
||||
* Call to load the saved configs from disk.
|
||||
|
||||
Reference in New Issue
Block a user