logd: report last prune memory overhead am: b0672290e3 am: 49893142ec am: 271814d8f9
am: ee50a88636
Change-Id: I1d801b4c3ac6d5d9d980ffbfa6c1dc7898fc5285
diff --git a/logd/LogStatistics.h b/logd/LogStatistics.h
index 69fe915..1f598af 100644
--- a/logd/LogStatistics.h
+++ b/logd/LogStatistics.h
@@ -59,10 +59,12 @@
public:
+ size_t size() const { return map.size(); }
+
// Estimate unordered_map memory usage.
size_t sizeOf() const {
return sizeof(*this) +
- (map.size() * (sizeof(TEntry) + unordered_map_per_entry_overhead)) +
+ (size() * (sizeof(TEntry) + unordered_map_per_entry_overhead)) +
(bucket_size() * sizeof(size_t) + unordered_map_bucket_overhead);
}
@@ -497,7 +499,9 @@
size_t sizeOf() const {
size_t size = sizeof(*this) + pidTable.sizeOf() + tidTable.sizeOf() +
- tagTable.sizeOf() + securityTagTable.sizeOf();
+ tagTable.sizeOf() + securityTagTable.sizeOf() +
+ (pidTable.size() * sizeof(pidTable_t::iterator)) +
+ (tagTable.size() * sizeof(tagTable_t::iterator));
for(auto it : pidTable) {
const char* name = it.second.getName();
if (name) size += strlen(name) + 1;
@@ -508,7 +512,9 @@
}
log_id_for_each(id) {
size += uidTable[id].sizeOf();
+ size += uidTable[id].size() * sizeof(uidTable_t::iterator);
size += pidSystemTable[id].sizeOf();
+ size += pidSystemTable[id].size() * sizeof(pidSystemTable_t::iterator);
}
return size;
}