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

Commit 75871a8f authored by Siim Sammul's avatar Siim Sammul Committed by Automerger Merge Worker
Browse files

Merge "Add the ability to reset dropbox rate limiter with a shell command."...

Merge "Add the ability to reset dropbox rate limiter with a shell command." am: 1a0d812c am: 7f94f53e am: d4e2ca0c am: 8749a09f

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2201637



Change-Id: I7f635f632208461ae625eaf3576e19c5b05c1a61
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents fd983cb7 8749a09f
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -17831,6 +17831,13 @@ public class ActivityManagerService extends IActivityManager.Stub
        mCoreSettingsObserver.onChange(true);
    }
    /**
     * Reset the dropbox rate limiter
     */
    void resetDropboxRateLimiter() {
        mDropboxRateLimiter.reset();
    }
    /**
     * Kill processes for the user with id userId and that depend on the package named packageName
     */
+7 −0
Original line number Diff line number Diff line
@@ -350,6 +350,8 @@ final class ActivityManagerShellCommand extends ShellCommand {
                    return runSetBgAbusiveUids(pw);
                case "list-bg-exemptions-config":
                    return runListBgExemptionsConfig(pw);
                case "reset-dropbox-rate-limiter":
                    return runResetDropboxRateLimiter();
                default:
                    return handleDefaultCommands(cmd);
            }
@@ -3374,6 +3376,11 @@ final class ActivityManagerShellCommand extends ShellCommand {
        return 0;
    }

    int runResetDropboxRateLimiter() throws RemoteException {
        mInternal.resetDropboxRateLimiter();
        return 0;
    }

    private Resources getResources(PrintWriter pw) throws RemoteException {
        // system resources does not contain all the device configuration, construct it manually.
        Configuration config = mInterface.getConfiguration();
+11 −0
Original line number Diff line number Diff line
@@ -19,11 +19,13 @@ package com.android.server.am;
import android.os.SystemClock;
import android.text.format.DateUtils;
import android.util.ArrayMap;
import android.util.Slog;

import com.android.internal.annotations.GuardedBy;

/** Rate limiter for adding errors into dropbox. */
public class DropboxRateLimiter {
    private static final String TAG = "DropboxRateLimiter";
    // After RATE_LIMIT_ALLOWED_ENTRIES have been collected (for a single breakdown of
    // process/eventType) further entries will be rejected until RATE_LIMIT_BUFFER_DURATION has
    // elapsed, after which the current count for this breakdown will be reset.
@@ -105,6 +107,15 @@ public class DropboxRateLimiter {
        mLastMapCleanUp = now;
    }

    /** Resets the rate limiter memory. */
    void reset() {
        synchronized (mErrorClusterRecords) {
            mErrorClusterRecords.clear();
        }
        mLastMapCleanUp = 0L;
        Slog.i(TAG, "Rate limiter reset.");
    }

    String errorKey(String eventType, String processName) {
        return eventType + processName;
    }