From 50122695d218232d88ffde5c3fc3e93021971080 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Mon, 12 Oct 2015 13:45:51 -0700 Subject: [PATCH] logd: pruning time horizon Estimate a time horizon of ten fold for worst UID pruning Bug: 24782000 Change-Id: I7118deb6d42531c68ed2ac2a59c57b0580b942cc --- logd/LogBuffer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/logd/LogBuffer.cpp b/logd/LogBuffer.cpp index 1de8e640f..4ada78802 100644 --- a/logd/LogBuffer.cpp +++ b/logd/LogBuffer.cpp @@ -436,7 +436,10 @@ bool 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) {