Loading logd/FlushCommand.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ void FlushCommand::runSocketCommand(SocketClient *client) { return; } entry = new LogTimeEntry(mReader, client, mNonBlock, mTail, mLogMask, mPid, mStart); times.push_back(entry); times.push_front(entry); } client->incRef(); Loading logd/LogBuffer.cpp +7 −11 Original line number Diff line number Diff line Loading @@ -217,27 +217,23 @@ int LogBuffer::log(log_id_t log_id, log_time realtime, return len; } // If we're using more than 256K of memory for log entries, prune // at least 10% of the log entries. For sizes above 1M, prune at // least 1% of the log entries. // Prune at most 10% of the log entries or 256, whichever is less. // // mLogElementsLock must be held when this function is called. void LogBuffer::maybePrune(log_id_t id) { size_t sizes = stats.sizes(id); unsigned long maxSize = log_buffer_size(id); if (sizes > maxSize) { size_t sizeOver, minElements, elements = stats.elements(id); if (maxSize > (4 * LOG_BUFFER_SIZE)) { sizeOver = sizes - ((maxSize * 99) / 100); minElements = elements / 100; } else { sizeOver = sizes - ((maxSize * 9) / 10); minElements = elements / 10; } size_t sizeOver = sizes - ((maxSize * 9) / 10); size_t elements = stats.elements(id); size_t minElements = elements / 10; unsigned long pruneRows = elements * sizeOver / sizes; if (pruneRows <= minElements) { pruneRows = minElements; } if (pruneRows > 256) { pruneRows = 256; } prune(id, pruneRows); } } Loading logd/LogBuffer.h +3 −2 Original line number Diff line number Diff line Loading @@ -19,9 +19,10 @@ #include <sys/types.h> #include <list> #include <log/log.h> #include <sysutils/SocketClient.h> #include <utils/List.h> #include <private/android_filesystem_config.h> Loading @@ -30,7 +31,7 @@ #include "LogStatistics.h" #include "LogWhiteBlackList.h" typedef android::List<LogBufferElement *> LogBufferElementCollection; typedef std::list<LogBufferElement *> LogBufferElementCollection; class LogBuffer { LogBufferElementCollection mLogElements; Loading logd/LogTimes.h +5 −3 Original line number Diff line number Diff line Loading @@ -20,8 +20,10 @@ #include <pthread.h> #include <time.h> #include <sys/types.h> #include <list> #include <sysutils/SocketClient.h> #include <utils/List.h> #include <log/log.h> class LogReader; Loading Loading @@ -107,6 +109,6 @@ public: static int FilterSecondPass(const LogBufferElement *element, void *me); }; typedef android::List<LogTimeEntry *> LastLogTimes; typedef std::list<LogTimeEntry *> LastLogTimes; #endif #endif // _LOGD_LOG_TIMES_H__ logd/LogWhiteBlackList.cpp +11 −17 Original line number Diff line number Diff line Loading @@ -50,18 +50,14 @@ void Prune::format(char **strp) { } PruneList::PruneList() : mWorstUidEnabled(true) { mNaughty.clear(); mNice.clear(); } PruneList::~PruneList() { PruneCollection::iterator it; for (it = mNice.begin(); it != mNice.end();) { delete (*it); it = mNice.erase(it); } for (it = mNaughty.begin(); it != mNaughty.end();) { delete (*it); it = mNaughty.erase(it); } } Loading @@ -70,11 +66,9 @@ int PruneList::init(char *str) { mWorstUidEnabled = true; PruneCollection::iterator it; for (it = mNice.begin(); it != mNice.end();) { delete (*it); it = mNice.erase(it); } for (it = mNaughty.begin(); it != mNaughty.end();) { delete (*it); it = mNaughty.erase(it); } Loading Loading @@ -142,28 +136,28 @@ int PruneList::init(char *str) { // insert sequentially into list PruneCollection::iterator it = list->begin(); while (it != list->end()) { Prune *p = *it; int m = uid - p->mUid; Prune &p = *it; int m = uid - p.mUid; if (m == 0) { if (p->mPid == p->pid_all) { if (p.mPid == p.pid_all) { break; } if ((pid == p->pid_all) && (p->mPid != p->pid_all)) { if ((pid == p.pid_all) && (p.mPid != p.pid_all)) { it = list->erase(it); continue; } m = pid - p->mPid; m = pid - p.mPid; } if (m <= 0) { if (m < 0) { list->insert(it, new Prune(uid,pid)); list->insert(it, Prune(uid,pid)); } break; } ++it; } if (it == list->end()) { list->push_back(new Prune(uid,pid)); list->push_back(Prune(uid,pid)); } if (!*str) { break; Loading Loading @@ -193,7 +187,7 @@ void PruneList::format(char **strp) { for (it = mNice.begin(); it != mNice.end(); ++it) { char *a = NULL; (*it)->format(&a); (*it).format(&a); string.appendFormat(fmt, a); fmt = nice_format; Loading @@ -205,7 +199,7 @@ void PruneList::format(char **strp) { fmt = naughty_format + (*fmt != ' '); for (it = mNaughty.begin(); it != mNaughty.end(); ++it) { char *a = NULL; (*it)->format(&a); (*it).format(&a); string.appendFormat(fmt, a); fmt = naughty_format; Loading @@ -223,7 +217,7 @@ void PruneList::format(char **strp) { bool PruneList::naughty(LogBufferElement *element) { PruneCollection::iterator it; for (it = mNaughty.begin(); it != mNaughty.end(); ++it) { if (!(*it)->cmp(element)) { if (!(*it).cmp(element)) { return true; } } Loading @@ -233,7 +227,7 @@ bool PruneList::naughty(LogBufferElement *element) { bool PruneList::nice(LogBufferElement *element) { PruneCollection::iterator it; for (it = mNice.begin(); it != mNice.end(); ++it) { if (!(*it)->cmp(element)) { if (!(*it).cmp(element)) { return true; } } Loading Loading
logd/FlushCommand.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ void FlushCommand::runSocketCommand(SocketClient *client) { return; } entry = new LogTimeEntry(mReader, client, mNonBlock, mTail, mLogMask, mPid, mStart); times.push_back(entry); times.push_front(entry); } client->incRef(); Loading
logd/LogBuffer.cpp +7 −11 Original line number Diff line number Diff line Loading @@ -217,27 +217,23 @@ int LogBuffer::log(log_id_t log_id, log_time realtime, return len; } // If we're using more than 256K of memory for log entries, prune // at least 10% of the log entries. For sizes above 1M, prune at // least 1% of the log entries. // Prune at most 10% of the log entries or 256, whichever is less. // // mLogElementsLock must be held when this function is called. void LogBuffer::maybePrune(log_id_t id) { size_t sizes = stats.sizes(id); unsigned long maxSize = log_buffer_size(id); if (sizes > maxSize) { size_t sizeOver, minElements, elements = stats.elements(id); if (maxSize > (4 * LOG_BUFFER_SIZE)) { sizeOver = sizes - ((maxSize * 99) / 100); minElements = elements / 100; } else { sizeOver = sizes - ((maxSize * 9) / 10); minElements = elements / 10; } size_t sizeOver = sizes - ((maxSize * 9) / 10); size_t elements = stats.elements(id); size_t minElements = elements / 10; unsigned long pruneRows = elements * sizeOver / sizes; if (pruneRows <= minElements) { pruneRows = minElements; } if (pruneRows > 256) { pruneRows = 256; } prune(id, pruneRows); } } Loading
logd/LogBuffer.h +3 −2 Original line number Diff line number Diff line Loading @@ -19,9 +19,10 @@ #include <sys/types.h> #include <list> #include <log/log.h> #include <sysutils/SocketClient.h> #include <utils/List.h> #include <private/android_filesystem_config.h> Loading @@ -30,7 +31,7 @@ #include "LogStatistics.h" #include "LogWhiteBlackList.h" typedef android::List<LogBufferElement *> LogBufferElementCollection; typedef std::list<LogBufferElement *> LogBufferElementCollection; class LogBuffer { LogBufferElementCollection mLogElements; Loading
logd/LogTimes.h +5 −3 Original line number Diff line number Diff line Loading @@ -20,8 +20,10 @@ #include <pthread.h> #include <time.h> #include <sys/types.h> #include <list> #include <sysutils/SocketClient.h> #include <utils/List.h> #include <log/log.h> class LogReader; Loading Loading @@ -107,6 +109,6 @@ public: static int FilterSecondPass(const LogBufferElement *element, void *me); }; typedef android::List<LogTimeEntry *> LastLogTimes; typedef std::list<LogTimeEntry *> LastLogTimes; #endif #endif // _LOGD_LOG_TIMES_H__
logd/LogWhiteBlackList.cpp +11 −17 Original line number Diff line number Diff line Loading @@ -50,18 +50,14 @@ void Prune::format(char **strp) { } PruneList::PruneList() : mWorstUidEnabled(true) { mNaughty.clear(); mNice.clear(); } PruneList::~PruneList() { PruneCollection::iterator it; for (it = mNice.begin(); it != mNice.end();) { delete (*it); it = mNice.erase(it); } for (it = mNaughty.begin(); it != mNaughty.end();) { delete (*it); it = mNaughty.erase(it); } } Loading @@ -70,11 +66,9 @@ int PruneList::init(char *str) { mWorstUidEnabled = true; PruneCollection::iterator it; for (it = mNice.begin(); it != mNice.end();) { delete (*it); it = mNice.erase(it); } for (it = mNaughty.begin(); it != mNaughty.end();) { delete (*it); it = mNaughty.erase(it); } Loading Loading @@ -142,28 +136,28 @@ int PruneList::init(char *str) { // insert sequentially into list PruneCollection::iterator it = list->begin(); while (it != list->end()) { Prune *p = *it; int m = uid - p->mUid; Prune &p = *it; int m = uid - p.mUid; if (m == 0) { if (p->mPid == p->pid_all) { if (p.mPid == p.pid_all) { break; } if ((pid == p->pid_all) && (p->mPid != p->pid_all)) { if ((pid == p.pid_all) && (p.mPid != p.pid_all)) { it = list->erase(it); continue; } m = pid - p->mPid; m = pid - p.mPid; } if (m <= 0) { if (m < 0) { list->insert(it, new Prune(uid,pid)); list->insert(it, Prune(uid,pid)); } break; } ++it; } if (it == list->end()) { list->push_back(new Prune(uid,pid)); list->push_back(Prune(uid,pid)); } if (!*str) { break; Loading Loading @@ -193,7 +187,7 @@ void PruneList::format(char **strp) { for (it = mNice.begin(); it != mNice.end(); ++it) { char *a = NULL; (*it)->format(&a); (*it).format(&a); string.appendFormat(fmt, a); fmt = nice_format; Loading @@ -205,7 +199,7 @@ void PruneList::format(char **strp) { fmt = naughty_format + (*fmt != ' '); for (it = mNaughty.begin(); it != mNaughty.end(); ++it) { char *a = NULL; (*it)->format(&a); (*it).format(&a); string.appendFormat(fmt, a); fmt = naughty_format; Loading @@ -223,7 +217,7 @@ void PruneList::format(char **strp) { bool PruneList::naughty(LogBufferElement *element) { PruneCollection::iterator it; for (it = mNaughty.begin(); it != mNaughty.end(); ++it) { if (!(*it)->cmp(element)) { if (!(*it).cmp(element)) { return true; } } Loading @@ -233,7 +227,7 @@ bool PruneList::naughty(LogBufferElement *element) { bool PruneList::nice(LogBufferElement *element) { PruneCollection::iterator it; for (it = mNice.begin(); it != mNice.end(); ++it) { if (!(*it)->cmp(element)) { if (!(*it).cmp(element)) { return true; } } Loading