summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-05-10 02:02:37 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-05-10 02:02:37 +0000
commit3f57b16deb78134cf4690819a844f4d941c01710 (patch)
treee15347c22a5db1dea81921f49c20ccb3f544fc0b
parent7c3c4d38a9e0e39c1c4e2a9ed812465690c530bc (diff)
parent028091cb15f5e8290eed77a222582162d19a3d87 (diff)
Merge "Skip writing metrics to disk if it's entirely composed of no_report_metric" into pi-dev
-rw-r--r--cmds/statsd/src/StatsLogProcessor.cpp3
-rw-r--r--cmds/statsd/src/metrics/MetricsManager.h4
2 files changed, 6 insertions, 1 deletions
diff --git a/cmds/statsd/src/StatsLogProcessor.cpp b/cmds/statsd/src/StatsLogProcessor.cpp
index daafe9c0390d..8487e6794873 100644
--- a/cmds/statsd/src/StatsLogProcessor.cpp
+++ b/cmds/statsd/src/StatsLogProcessor.cpp
@@ -503,7 +503,8 @@ void StatsLogProcessor::flushIfNecessaryLocked(
void StatsLogProcessor::WriteDataToDiskLocked(const ConfigKey& key,
const int64_t timestampNs,
const DumpReportReason dumpReportReason) {
- if (mMetricsManagers.find(key) == mMetricsManagers.end()) {
+ if (mMetricsManagers.find(key) == mMetricsManagers.end() ||
+ !mMetricsManagers.find(key)->second->shouldWriteToDisk()) {
return;
}
ProtoOutputStream proto;
diff --git a/cmds/statsd/src/metrics/MetricsManager.h b/cmds/statsd/src/metrics/MetricsManager.h
index 456da982bd9b..e143b5a582dd 100644
--- a/cmds/statsd/src/metrics/MetricsManager.h
+++ b/cmds/statsd/src/metrics/MetricsManager.h
@@ -67,6 +67,10 @@ public:
return !mAllowedPkg.empty();
}
+ bool shouldWriteToDisk() const {
+ return mNoReportMetricIds.size() != mAllMetricProducers.size();
+ }
+
void dumpStates(FILE* out, bool verbose);
inline bool isInTtl(const int64_t timestampNs) const {