diff --git a/cmds/statsd/src/packages/UidMap.cpp b/cmds/statsd/src/packages/UidMap.cpp index dcb8eed1479d8..eefb7dc046ecd 100644 --- a/cmds/statsd/src/packages/UidMap.cpp +++ b/cmds/statsd/src/packages/UidMap.cpp @@ -106,9 +106,9 @@ void UidMap::updateMap(const int64_t& timestamp, const vector& uid, t->set_uid(uid[j]); } mBytesUsed += snapshot->ByteSize(); + ensureBytesUsedBelowLimit(); StatsdStats::getInstance().setCurrentUidMapMemory(mBytesUsed); StatsdStats::getInstance().setUidMapSnapshots(mOutput.snapshots_size()); - ensureBytesUsedBelowLimit(); getListenerListCopyLocked(&broadcastList); } // To avoid invoking callback while holding the internal lock. we get a copy of the listener @@ -142,9 +142,9 @@ void UidMap::updateApp(const int64_t& timestamp, const String16& app_16, const i log->set_uid(uid); log->set_version(versionCode); mBytesUsed += log->ByteSize(); + ensureBytesUsedBelowLimit(); StatsdStats::getInstance().setCurrentUidMapMemory(mBytesUsed); StatsdStats::getInstance().setUidMapChanges(mOutput.changes_size()); - ensureBytesUsedBelowLimit(); auto range = mMap.equal_range(int(uid)); bool found = false; @@ -222,9 +222,9 @@ void UidMap::removeApp(const int64_t& timestamp, const String16& app_16, const i log->set_app(app); log->set_uid(uid); mBytesUsed += log->ByteSize(); + ensureBytesUsedBelowLimit(); StatsdStats::getInstance().setCurrentUidMapMemory(mBytesUsed); StatsdStats::getInstance().setUidMapChanges(mOutput.changes_size()); - ensureBytesUsedBelowLimit(); auto range = mMap.equal_range(int(uid)); for (auto it = range.first; it != range.second; ++it) { diff --git a/cmds/statsd/src/packages/UidMap.h b/cmds/statsd/src/packages/UidMap.h index 4e37977dbf3bd..3304f6c976aa3 100644 --- a/cmds/statsd/src/packages/UidMap.h +++ b/cmds/statsd/src/packages/UidMap.h @@ -152,9 +152,9 @@ private: // until the memory consumed by mOutput is below the specified limit. void ensureBytesUsedBelowLimit(); - // Override used for testing the max memory allowed by uid map. -1 means we use the value + // Override used for testing the max memory allowed by uid map. 0 means we use the value // specified in StatsdStats.h with the rest of the guardrails. - size_t maxBytesOverride = -1; + size_t maxBytesOverride = 0; // Cache the size of mOutput; size_t mBytesUsed;