Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21f16a04 authored by Tom Cherry's avatar Tom Cherry
Browse files

logd: print a message when kicking a client or skipping entries

We're kicking logcat clients more frequently than expected, so print
this information for debugging purposes.

Bug: 144311420
Test: see these logs
Change-Id: I1570cd4b377a62c863bc26c7b3148e04c2433a9c
parent b8bacea8
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -638,6 +638,8 @@ void LogBuffer::kickMe(LogTimeEntry* me, log_id_t id, unsigned long pruneRows) {
    if (stats.sizes(id) > (2 * log_buffer_size(id))) {  // +100%
        // A misbehaving or slow reader has its connection
        // dropped if we hit too much memory pressure.
        android::prdebug("Kicking blocked reader, pid %d, from LogBuffer::kickMe()\n",
                         me->mClient->getPid());
        me->release_Locked();
    } else if (me->mTimeout.tv_sec || me->mTimeout.tv_nsec) {
        // Allow a blocked WRAP timeout reader to
@@ -645,6 +647,9 @@ void LogBuffer::kickMe(LogTimeEntry* me, log_id_t id, unsigned long pruneRows) {
        me->triggerReader_Locked();
    } else {
        // tell slow reader to skip entries to catch up
        android::prdebug(
                "Skipping %lu entries from slow reader, pid %d, from LogBuffer::kickMe()\n",
                pruneRows, me->mClient->getPid());
        me->triggerSkip_Locked(id, pruneRows);
    }
}
@@ -1051,6 +1056,9 @@ bool LogBuffer::clear(log_id_t id, uid_t uid) {
                    LogTimeEntry* entry = times->get();
                    // Killer punch
                    if (entry->isWatching(id)) {
                        android::prdebug(
                                "Kicking blocked reader, pid %d, from LogBuffer::clear()\n",
                                entry->mClient->getPid());
                        entry->release_Locked();
                    }
                    times++;