summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-08-15 18:45:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-08-15 18:45:46 +0000
commit2f089b4e6e0f214ecdd5612bb2fd377f9f73cdc3 (patch)
treea8ef000de0e37bfc76eea16b99d5c0628080110f
parentf93ad188411d05ee688c32ec1707a6ac105515a7 (diff)
parente926ab508d94a32cfded4778d0f2ed3217cfbce3 (diff)
Merge "TimeStats: bound the stats pool size"
-rw-r--r--services/surfaceflinger/TimeStats/TimeStats.cpp7
-rw-r--r--services/surfaceflinger/TimeStats/TimeStats.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/services/surfaceflinger/TimeStats/TimeStats.cpp b/services/surfaceflinger/TimeStats/TimeStats.cpp
index 93fe7d056c..3e3ab18e8f 100644
--- a/services/surfaceflinger/TimeStats/TimeStats.cpp
+++ b/services/surfaceflinger/TimeStats/TimeStats.cpp
@@ -72,8 +72,10 @@ std::string TimeStats::miniDump() {
std::string result = "TimeStats miniDump:\n";
std::lock_guard<std::mutex> lock(mMutex);
- android::base::StringAppendF(&result, "Number of tracked layers is %zu\n",
+ android::base::StringAppendF(&result, "Number of layers currently being tracked is %zu\n",
mTimeStatsTracker.size());
+ android::base::StringAppendF(&result, "Number of layers in the stats pool is %zu\n",
+ mTimeStats.stats.size());
return result;
}
@@ -250,6 +252,9 @@ void TimeStats::setPostTime(int32_t layerID, uint64_t frameNumber, const std::st
postTime);
std::lock_guard<std::mutex> lock(mMutex);
+ if (!mTimeStats.stats.count(layerName) && mTimeStats.stats.size() >= MAX_NUM_LAYER_STATS) {
+ return;
+ }
if (!mTimeStatsTracker.count(layerID) && mTimeStatsTracker.size() < MAX_NUM_LAYER_RECORDS &&
layerNameIsValid(layerName)) {
mTimeStatsTracker[layerID].layerName = layerName;
diff --git a/services/surfaceflinger/TimeStats/TimeStats.h b/services/surfaceflinger/TimeStats/TimeStats.h
index 2bcb5682b0..eed711158a 100644
--- a/services/surfaceflinger/TimeStats/TimeStats.h
+++ b/services/surfaceflinger/TimeStats/TimeStats.h
@@ -161,6 +161,7 @@ private:
GlobalRecord mGlobalRecord;
static const size_t MAX_NUM_LAYER_RECORDS = 200;
+ static const size_t MAX_NUM_LAYER_STATS = 200;
};
} // namespace impl