summaryrefslogtreecommitdiffstats
path: root/logd/LogBuffer.h
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2015-08-19 17:06:11 -0700
committerMark Salyzyn <salyzyn@google.com>2015-08-20 11:33:57 -0700
commit0c5ab13a72f4ab76fe37b111550d8a64e70b5e7c (patch)
treee9b4e2c51b6fbb1011c0408347fd2933605313cb /logd/LogBuffer.h
parentc2f7eee26b07498c0adf357fa8970716d8fac31f (diff)
downloadsystem_core-0c5ab13a72f4ab76fe37b111550d8a64e70b5e7c.tar.gz
system_core-0c5ab13a72f4ab76fe37b111550d8a64e70b5e7c.tar.bz2
system_core-0c5ab13a72f4ab76fe37b111550d8a64e70b5e7c.zip
logd: worst uid record watermark
(cherry pick from commit c892ea3fa80dfd3d35c5a3b8bfdc73e7b85eaede) Hold on to last worst uid watermark and bypass a spike to O(n*n*x) (n=samples, x=number of spammers) wrt chatty trimming. Bug: 23327476 Change-Id: I9f21ce95e969b67e576417a760f75c4d86acf364
Diffstat (limited to 'logd/LogBuffer.h')
-rw-r--r--logd/LogBuffer.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/logd/LogBuffer.h b/logd/LogBuffer.h
index 76571c67d..e94598c82 100644
--- a/logd/LogBuffer.h
+++ b/logd/LogBuffer.h
@@ -40,6 +40,11 @@ class LogBuffer {
LogStatistics stats;
PruneList mPrune;
+ // watermark of any worst/chatty uid processing
+ typedef std::unordered_map<uid_t,
+ LogBufferElementCollection::iterator>
+ LogBufferIteratorMap;
+ LogBufferIteratorMap mLastWorstUid[LOG_ID_MAX];
unsigned long mMaxSize[LOG_ID_MAX];