logd: format LogBufferElement and LogStatistics correctly

Test: logging unit tests
Change-Id: If63be065e38f2a1c4cf2807ceaa9eea180b16c51
diff --git a/logd/LogStatistics.cpp b/logd/LogStatistics.cpp
index bb7621d..a2acab7 100644
--- a/logd/LogStatistics.cpp
+++ b/logd/LogStatistics.cpp
@@ -87,10 +87,10 @@
     ++mElementsTotal[log_id];
 }
 
-void LogStatistics::Add(LogBufferElement* element) {
+void LogStatistics::Add(const LogBufferElement& element) {
     auto lock = std::lock_guard{lock_};
-    log_id_t log_id = element->getLogId();
-    uint16_t size = element->getMsgLen();
+    log_id_t log_id = element.log_id();
+    uint16_t size = element.msg_len();
     mSizes[log_id] += size;
     ++mElements[log_id];
 
@@ -99,7 +99,7 @@
     // evaluated and trimmed, thus recording size and number of
     // elements, but we must recognize the manufactured dropped
     // entry as not contributing to the lifetime totals.
-    if (element->getDropped()) {
+    if (element.dropped_count()) {
         ++mDroppedElements[log_id];
     } else {
         mSizesTotal[log_id] += size;
@@ -107,7 +107,7 @@
         ++mElementsTotal[log_id];
     }
 
-    log_time stamp(element->getRealTime());
+    log_time stamp(element.realtime());
     if (mNewest[log_id] < stamp) {
         // A major time update invalidates the statistics :-(
         log_time diff = stamp - mNewest[log_id];
@@ -132,111 +132,111 @@
         return;
     }
 
-    uidTable[log_id].add(element->getUid(), element);
-    if (element->getUid() == AID_SYSTEM) {
-        pidSystemTable[log_id].add(element->getPid(), element);
+    uidTable[log_id].Add(element.uid(), element);
+    if (element.uid() == AID_SYSTEM) {
+        pidSystemTable[log_id].Add(element.pid(), element);
     }
 
     if (!enable) {
         return;
     }
 
-    pidTable.add(element->getPid(), element);
-    tidTable.add(element->getTid(), element);
+    pidTable.Add(element.pid(), element);
+    tidTable.Add(element.tid(), element);
 
-    uint32_t tag = element->getTag();
+    uint32_t tag = element.GetTag();
     if (tag) {
         if (log_id == LOG_ID_SECURITY) {
-            securityTagTable.add(tag, element);
+            securityTagTable.Add(tag, element);
         } else {
-            tagTable.add(tag, element);
+            tagTable.Add(tag, element);
         }
     }
 
-    if (!element->getDropped()) {
-        tagNameTable.add(TagNameKey(element), element);
+    if (!element.dropped_count()) {
+        tagNameTable.Add(TagNameKey(element), element);
     }
 }
 
-void LogStatistics::Subtract(LogBufferElement* element) {
+void LogStatistics::Subtract(const LogBufferElement& element) {
     auto lock = std::lock_guard{lock_};
-    log_id_t log_id = element->getLogId();
-    uint16_t size = element->getMsgLen();
+    log_id_t log_id = element.log_id();
+    uint16_t size = element.msg_len();
     mSizes[log_id] -= size;
     --mElements[log_id];
-    if (element->getDropped()) {
+    if (element.dropped_count()) {
         --mDroppedElements[log_id];
     }
 
-    if (mOldest[log_id] < element->getRealTime()) {
-        mOldest[log_id] = element->getRealTime();
+    if (mOldest[log_id] < element.realtime()) {
+        mOldest[log_id] = element.realtime();
     }
 
     if (log_id == LOG_ID_KERNEL) {
         return;
     }
 
-    uidTable[log_id].subtract(element->getUid(), element);
-    if (element->getUid() == AID_SYSTEM) {
-        pidSystemTable[log_id].subtract(element->getPid(), element);
+    uidTable[log_id].Subtract(element.uid(), element);
+    if (element.uid() == AID_SYSTEM) {
+        pidSystemTable[log_id].Subtract(element.pid(), element);
     }
 
     if (!enable) {
         return;
     }
 
-    pidTable.subtract(element->getPid(), element);
-    tidTable.subtract(element->getTid(), element);
+    pidTable.Subtract(element.pid(), element);
+    tidTable.Subtract(element.tid(), element);
 
-    uint32_t tag = element->getTag();
+    uint32_t tag = element.GetTag();
     if (tag) {
         if (log_id == LOG_ID_SECURITY) {
-            securityTagTable.subtract(tag, element);
+            securityTagTable.Subtract(tag, element);
         } else {
-            tagTable.subtract(tag, element);
+            tagTable.Subtract(tag, element);
         }
     }
 
-    if (!element->getDropped()) {
-        tagNameTable.subtract(TagNameKey(element), element);
+    if (!element.dropped_count()) {
+        tagNameTable.Subtract(TagNameKey(element), element);
     }
 }
 
 // Atomically set an entry to drop
 // entry->setDropped(1) must follow this call, caller should do this explicitly.
-void LogStatistics::Drop(LogBufferElement* element) {
+void LogStatistics::Drop(const LogBufferElement& element) {
     auto lock = std::lock_guard{lock_};
-    log_id_t log_id = element->getLogId();
-    uint16_t size = element->getMsgLen();
+    log_id_t log_id = element.log_id();
+    uint16_t size = element.msg_len();
     mSizes[log_id] -= size;
     ++mDroppedElements[log_id];
 
-    if (mNewestDropped[log_id] < element->getRealTime()) {
-        mNewestDropped[log_id] = element->getRealTime();
+    if (mNewestDropped[log_id] < element.realtime()) {
+        mNewestDropped[log_id] = element.realtime();
     }
 
-    uidTable[log_id].drop(element->getUid(), element);
-    if (element->getUid() == AID_SYSTEM) {
-        pidSystemTable[log_id].drop(element->getPid(), element);
+    uidTable[log_id].Drop(element.uid(), element);
+    if (element.uid() == AID_SYSTEM) {
+        pidSystemTable[log_id].Drop(element.pid(), element);
     }
 
     if (!enable) {
         return;
     }
 
-    pidTable.drop(element->getPid(), element);
-    tidTable.drop(element->getTid(), element);
+    pidTable.Drop(element.pid(), element);
+    tidTable.Drop(element.tid(), element);
 
-    uint32_t tag = element->getTag();
+    uint32_t tag = element.GetTag();
     if (tag) {
         if (log_id == LOG_ID_SECURITY) {
-            securityTagTable.drop(tag, element);
+            securityTagTable.Drop(tag, element);
         } else {
-            tagTable.drop(tag, element);
+            tagTable.Drop(tag, element);
         }
     }
 
-    tagNameTable.subtract(TagNameKey(element), element);
+    tagNameTable.Subtract(TagNameKey(element), element);
 }
 
 const char* LogStatistics::UidToName(uid_t uid) const {
@@ -283,8 +283,8 @@
          ++it) {
         const PidEntry& entry = it->second;
 
-        if (entry.getUid() == uid) {
-            const char* nameTmp = entry.getName();
+        if (entry.uid() == uid) {
+            const char* nameTmp = entry.name();
 
             if (nameTmp) {
                 if (!name) {
@@ -314,8 +314,8 @@
     *worst_sizes = max_entries[0]->getSizes();
     // b/24782000: Allow time horizon to extend roughly tenfold, assume average entry length is
     // 100 characters.
-    if (*worst_sizes > threshold && *worst_sizes > (10 * max_entries[0]->getDropped())) {
-        *worst = max_entries[0]->getKey();
+    if (*worst_sizes > threshold && *worst_sizes > (10 * max_entries[0]->dropped_count())) {
+        *worst = max_entries[0]->key();
         *second_worst_sizes = max_entries[1]->getSizes();
         if (*second_worst_sizes < threshold) {
             *second_worst_sizes = threshold;
@@ -344,7 +344,7 @@
         return;
     }
 
-    *worst = max_entries[0]->getKey();
+    *worst = max_entries[0]->key();
     *second_worst_sizes = worst_uid_sizes - max_entries[0]->getSizes() + max_entries[1]->getSizes();
 }
 
@@ -393,9 +393,8 @@
     if (!nameTmp) nameTmp = allocNameTmp = UidToNameLocked(uid);
     if (nameTmp) {
         size_t lenSpace = std::max(nameLen - name.length(), (size_t)1);
-        size_t len = EntryBaseConstants::total_len -
-                     EntryBaseConstants::pruned_len - size.length() -
-                     name.length() - lenSpace - 2;
+        size_t len = EntryBase::TOTAL_LEN - EntryBase::PRUNED_LEN - size.length() - name.length() -
+                     lenSpace - 2;
         size_t lenNameTmp = strlen(nameTmp);
         while ((len < lenNameTmp) && (lenSpace > 1)) {
             ++len;
@@ -412,11 +411,10 @@
 }
 
 std::string UidEntry::format(const LogStatistics& stat, log_id_t id) const REQUIRES(stat.lock_) {
-    uid_t uid = getUid();
-    std::string name = android::base::StringPrintf("%u", uid);
+    std::string name = android::base::StringPrintf("%u", uid_);
     std::string size = android::base::StringPrintf("%zu", getSizes());
 
-    stat.FormatTmp(nullptr, uid, name, size, 6);
+    stat.FormatTmp(nullptr, uid_, name, size, 6);
 
     std::string pruned = "";
     if (worstUidEnabledForLogid(id)) {
@@ -424,7 +422,7 @@
         for (LogStatistics::uidTable_t::const_iterator it =
                  stat.uidTable[id].begin();
              it != stat.uidTable[id].end(); ++it) {
-            totalDropped += it->second.getDropped();
+            totalDropped += it->second.dropped_count();
         }
         size_t sizes = stat.mSizes[id];
         size_t totalSize = stat.mSizesTotal[id];
@@ -434,7 +432,7 @@
         size_t entrySize = getSizes();
         float virtualEntrySize = entrySize;
         int realPermille = virtualEntrySize * 1000.0 / sizes;
-        size_t dropped = getDropped();
+        size_t dropped = dropped_count();
         if (dropped) {
             pruned = android::base::StringPrintf("%zu", dropped);
             virtualEntrySize += (float)dropped * totalSize / totalElements;
@@ -461,8 +459,7 @@
                 change = android::base::StringPrintf(
                     "%s%d%s", prefix, (permille + 5) / 10, units);
             }
-            ssize_t spaces = EntryBaseConstants::pruned_len - 2 -
-                             pruned.length() - change.length();
+            ssize_t spaces = EntryBase::PRUNED_LEN - 2 - pruned.length() - change.length();
             if ((spaces <= 0) && pruned.length()) {
                 spaces = 1;
             }
@@ -475,13 +472,13 @@
 
     std::string output = formatLine(name, size, pruned);
 
-    if (uid != AID_SYSTEM) {
+    if (uid_ != AID_SYSTEM) {
         return output;
     }
 
     static const size_t maximum_sorted_entries = 32;
     std::array<const PidEntry*, maximum_sorted_entries> sorted;
-    stat.pidSystemTable[id].MaxEntries(uid, 0, &sorted);
+    stat.pidSystemTable[id].MaxEntries(uid_, 0, &sorted);
 
     std::string byPid;
     size_t index;
@@ -494,7 +491,7 @@
         if (entry->getSizes() <= (getSizes() / 100)) {
             break;
         }
-        if (entry->getDropped()) {
+        if (entry->dropped_count()) {
             hasDropped = true;
         }
         byPid += entry->format(stat, id);
@@ -518,15 +515,13 @@
 
 std::string PidEntry::format(const LogStatistics& stat, log_id_t /* id */) const
         REQUIRES(stat.lock_) {
-    uid_t uid = getUid();
-    pid_t pid = getPid();
-    std::string name = android::base::StringPrintf("%5u/%u", pid, uid);
+    std::string name = android::base::StringPrintf("%5u/%u", pid_, uid_);
     std::string size = android::base::StringPrintf("%zu", getSizes());
 
-    stat.FormatTmp(getName(), uid, name, size, 12);
+    stat.FormatTmp(name_, uid_, name, size, 12);
 
     std::string pruned = "";
-    size_t dropped = getDropped();
+    size_t dropped = dropped_count();
     if (dropped) {
         pruned = android::base::StringPrintf("%zu", dropped);
     }
@@ -543,14 +538,13 @@
 
 std::string TidEntry::format(const LogStatistics& stat, log_id_t /* id */) const
         REQUIRES(stat.lock_) {
-    uid_t uid = getUid();
-    std::string name = android::base::StringPrintf("%5u/%u", getTid(), uid);
+    std::string name = android::base::StringPrintf("%5u/%u", tid(), uid_);
     std::string size = android::base::StringPrintf("%zu", getSizes());
 
-    stat.FormatTmp(getName(), uid, name, size, 12);
+    stat.FormatTmp(name_, uid_, name, size, 12);
 
     std::string pruned = "";
-    size_t dropped = getDropped();
+    size_t dropped = dropped_count();
     if (dropped) {
         pruned = android::base::StringPrintf("%zu", dropped);
     }
@@ -569,13 +563,12 @@
 std::string TagEntry::format(const LogStatistics& /* stat */,
                              log_id_t /* id */) const {
     std::string name;
-    uid_t uid = getUid();
-    if (uid == (uid_t)-1) {
-        name = android::base::StringPrintf("%7u", getKey());
+    if (uid_ == (uid_t)-1) {
+        name = android::base::StringPrintf("%7u", key());
     } else {
-        name = android::base::StringPrintf("%7u/%u", getKey(), uid);
+        name = android::base::StringPrintf("%7u/%u", key(), uid_);
     }
-    const char* nameTmp = getName();
+    const char* nameTmp = this->name();
     if (nameTmp) {
         name += android::base::StringPrintf(
             "%*s%s", (int)std::max(14 - name.length(), (size_t)1), "", nameTmp);
@@ -584,7 +577,7 @@
     std::string size = android::base::StringPrintf("%zu", getSizes());
 
     std::string pruned = "";
-    size_t dropped = getDropped();
+    size_t dropped = dropped_count();
     if (dropped) {
         pruned = android::base::StringPrintf("%zu", dropped);
     }
@@ -602,34 +595,30 @@
 std::string TagNameEntry::format(const LogStatistics& /* stat */,
                                  log_id_t /* id */) const {
     std::string name;
-    pid_t tid = getTid();
-    pid_t pid = getPid();
     std::string pidstr;
-    if (pid != (pid_t)-1) {
-        pidstr = android::base::StringPrintf("%u", pid);
-        if ((tid != (pid_t)-1) && (tid != pid)) pidstr = "/" + pidstr;
+    if (pid_ != (pid_t)-1) {
+        pidstr = android::base::StringPrintf("%u", pid_);
+        if (tid_ != (pid_t)-1 && tid_ != pid_) pidstr = "/" + pidstr;
     }
     int len = 9 - pidstr.length();
     if (len < 0) len = 0;
-    if ((tid == (pid_t)-1) || (tid == pid)) {
+    if (tid_ == (pid_t)-1 || tid_ == pid_) {
         name = android::base::StringPrintf("%*s", len, "");
     } else {
-        name = android::base::StringPrintf("%*u", len, tid);
+        name = android::base::StringPrintf("%*u", len, tid_);
     }
     name += pidstr;
-    uid_t uid = getUid();
-    if (uid != (uid_t)-1) {
-        name += android::base::StringPrintf("/%u", uid);
+    if (uid_ != (uid_t)-1) {
+        name += android::base::StringPrintf("/%u", uid_);
     }
 
     std::string size = android::base::StringPrintf("%zu", getSizes());
 
-    const char* nameTmp = getName();
+    const char* nameTmp = this->name();
     if (nameTmp) {
         size_t lenSpace = std::max(16 - name.length(), (size_t)1);
-        size_t len = EntryBaseConstants::total_len -
-                     EntryBaseConstants::pruned_len - size.length() -
-                     name.length() - lenSpace - 2;
+        size_t len = EntryBase::TOTAL_LEN - EntryBase::PRUNED_LEN - size.length() - name.length() -
+                     lenSpace - 2;
         size_t lenNameTmp = strlen(nameTmp);
         while ((len < lenNameTmp) && (lenSpace > 1)) {
             ++len;
@@ -944,7 +933,7 @@
 
 uid_t LogStatistics::PidToUid(pid_t pid) {
     auto lock = std::lock_guard{lock_};
-    return pidTable.add(pid)->second.getUid();
+    return pidTable.Add(pid)->second.uid();
 }
 
 // caller must free character string
@@ -952,7 +941,7 @@
     auto lock = std::lock_guard{lock_};
     // An inconvenient truth ... getName() can alter the object
     pidTable_t& writablePidTable = const_cast<pidTable_t&>(pidTable);
-    const char* name = writablePidTable.add(pid)->second.getName();
+    const char* name = writablePidTable.Add(pid)->second.name();
     if (!name) {
         return nullptr;
     }