Merge "logd: worst uid record watermark part four"
This commit is contained in:
commit
0df400ec11
2 changed files with 11 additions and 9 deletions
|
|
@ -238,7 +238,8 @@ void LogBuffer::maybePrune(log_id_t id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LogBufferElementCollection::iterator LogBuffer::erase(LogBufferElementCollection::iterator it) {
|
LogBufferElementCollection::iterator LogBuffer::erase(
|
||||||
|
LogBufferElementCollection::iterator it, bool engageStats) {
|
||||||
LogBufferElement *e = *it;
|
LogBufferElement *e = *it;
|
||||||
log_id_t id = e->getLogId();
|
log_id_t id = e->getLogId();
|
||||||
LogBufferIteratorMap::iterator f = mLastWorstUid[id].find(e->getUid());
|
LogBufferIteratorMap::iterator f = mLastWorstUid[id].find(e->getUid());
|
||||||
|
|
@ -247,7 +248,11 @@ LogBufferElementCollection::iterator LogBuffer::erase(LogBufferElementCollection
|
||||||
mLastWorstUid[id].erase(f);
|
mLastWorstUid[id].erase(f);
|
||||||
}
|
}
|
||||||
it = mLogElements.erase(it);
|
it = mLogElements.erase(it);
|
||||||
stats.subtract(e);
|
if (engageStats) {
|
||||||
|
stats.subtract(e);
|
||||||
|
} else {
|
||||||
|
stats.erase(e);
|
||||||
|
}
|
||||||
delete e;
|
delete e;
|
||||||
|
|
||||||
return it;
|
return it;
|
||||||
|
|
@ -442,9 +447,7 @@ void LogBuffer::prune(log_id_t id, unsigned long pruneRows, uid_t caller_uid) {
|
||||||
|
|
||||||
// merge any drops
|
// merge any drops
|
||||||
if (dropped && last.merge(e, dropped)) {
|
if (dropped && last.merge(e, dropped)) {
|
||||||
it = mLogElements.erase(it);
|
it = erase(it, false);
|
||||||
stats.erase(e);
|
|
||||||
delete e;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -510,9 +513,7 @@ void LogBuffer::prune(log_id_t id, unsigned long pruneRows, uid_t caller_uid) {
|
||||||
stats.drop(e);
|
stats.drop(e);
|
||||||
e->setDropped(1);
|
e->setDropped(1);
|
||||||
if (last.merge(e, 1)) {
|
if (last.merge(e, 1)) {
|
||||||
it = mLogElements.erase(it);
|
it = erase(it, false);
|
||||||
stats.erase(e);
|
|
||||||
delete e;
|
|
||||||
} else {
|
} else {
|
||||||
last.add(e);
|
last.add(e);
|
||||||
mLastWorstUid[id][e->getUid()] = it;
|
mLastWorstUid[id][e->getUid()] = it;
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,8 @@ public:
|
||||||
private:
|
private:
|
||||||
void maybePrune(log_id_t id);
|
void maybePrune(log_id_t id);
|
||||||
void prune(log_id_t id, unsigned long pruneRows, uid_t uid = AID_ROOT);
|
void prune(log_id_t id, unsigned long pruneRows, uid_t uid = AID_ROOT);
|
||||||
LogBufferElementCollection::iterator erase(LogBufferElementCollection::iterator it);
|
LogBufferElementCollection::iterator erase(
|
||||||
|
LogBufferElementCollection::iterator it, bool engageStats = true);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _LOGD_LOG_BUFFER_H__
|
#endif // _LOGD_LOG_BUFFER_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue