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

Commit bfff5d70 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix bug in statsd with uid memory guardrail"

parents 504039b1 c0f6f63e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -106,9 +106,9 @@ void UidMap::updateMap(const int64_t& timestamp, const vector<int32_t>& 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) {
+2 −2
Original line number Diff line number Diff line
@@ -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;