From a6116961338548409b14076eefbef211afc8c3fe Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Mon, 12 Oct 2015 13:45:51 -0700 Subject: logd: pruning time horizon Estimate a time horizon of ten fold for worst UID pruning Bug: 25453210 Bug: 24782000 Change-Id: I7118deb6d42531c68ed2ac2a59c57b0580b942cc --- logd/LogBuffer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'logd') diff --git a/logd/LogBuffer.cpp b/logd/LogBuffer.cpp index 559fa2e..d72a78c 100644 --- a/logd/LogBuffer.cpp +++ b/logd/LogBuffer.cpp @@ -435,7 +435,10 @@ void LogBuffer::prune(log_id_t id, unsigned long pruneRows, uid_t caller_uid) { worst_sizes = sorted[0]->getSizes(); // Calculate threshold as 12.5% of available storage size_t threshold = log_buffer_size(id) / 8; - if (worst_sizes > threshold) { + if ((worst_sizes > threshold) + // Allow time horizon to extend roughly tenfold, assume + // average entry length is 100 characters. + && (worst_sizes > (10 * sorted[0]->getDropped()))) { worst = sorted[0]->getKey(); second_worst_sizes = sorted[1]->getSizes(); if (second_worst_sizes < threshold) { -- cgit v1.1