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

Commit ec18adb5 authored by Stefano Cianciulli's avatar Stefano Cianciulli
Browse files

Stop reporting the duration including sleep for background DexOpt

It is not needed anymore becaus the job scheduler holds a wake
lock, so this duration is always the same as duration_ms.

Bug: 255759883
Test: atest BackgroundDexOptServiceUnitTest
Merged-In: I10313e007b987569dd67b0ab0867a52745dd6a8b
Change-Id: I0461f4f65f4c0b9a4368e3e0f83050de5b6ba141
parent 793ebebf
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -149,8 +149,6 @@ public final class BackgroundDexOptService {

    @GuardedBy("mLock") @Status private int mLastExecutionStatus = STATUS_OK;

    @GuardedBy("mLock") private long mLastExecutionStartTimeMs;
    @GuardedBy("mLock") private long mLastExecutionDurationIncludingSleepMs;
    @GuardedBy("mLock") private long mLastExecutionStartUptimeMs;
    @GuardedBy("mLock") private long mLastExecutionDurationMs;

@@ -229,10 +227,6 @@ public final class BackgroundDexOptService {
            writer.println(mFinishedPostBootUpdate);
            writer.print("mLastExecutionStatus:");
            writer.println(mLastExecutionStatus);
            writer.print("mLastExecutionStartTimeMs:");
            writer.println(mLastExecutionStartTimeMs);
            writer.print("mLastExecutionDurationIncludingSleepMs:");
            writer.println(mLastExecutionDurationIncludingSleepMs);
            writer.print("mLastExecutionStartUptimeMs:");
            writer.println(mLastExecutionStartUptimeMs);
            writer.print("mLastExecutionDurationMs:");
@@ -539,8 +533,6 @@ public final class BackgroundDexOptService {
    private boolean runIdleOptimization(
            PackageManagerService pm, List<String> pkgs, boolean isPostBootUpdate) {
        synchronized (mLock) {
            mLastExecutionStartTimeMs = SystemClock.elapsedRealtime();
            mLastExecutionDurationIncludingSleepMs = -1;
            mLastExecutionStartUptimeMs = SystemClock.uptimeMillis();
            mLastExecutionDurationMs = -1;
        }
@@ -549,8 +541,6 @@ public final class BackgroundDexOptService {
        logStatus(status);
        synchronized (mLock) {
            mLastExecutionStatus = status;
            mLastExecutionDurationIncludingSleepMs =
                    SystemClock.elapsedRealtime() - mLastExecutionStartTimeMs;
            mLastExecutionDurationMs = SystemClock.uptimeMillis() - mLastExecutionStartUptimeMs;
        }

@@ -954,10 +944,9 @@ public final class BackgroundDexOptService {
        synchronized (mLock) {
            status = mLastExecutionStatus;
            durationMs = mLastExecutionDurationMs;
            durationIncludingSleepMs = mLastExecutionDurationIncludingSleepMs;
        }

        mStatsLogger.write(status, params.getStopReason(), durationMs, durationIncludingSleepMs);
        mStatsLogger.write(status, params.getStopReason(), durationMs);
    }

    /** Injector pattern for testing purpose */
+7 −4
Original line number Diff line number Diff line
@@ -320,12 +320,15 @@ public class ArtStatsLogUtils {
    public static class BackgroundDexoptJobStatsLogger {
        /** Writes background dexopt job stats to statsd. */
        public void write(@BackgroundDexOptService.Status int status,
                @JobParameters.StopReason int cancellationReason, long durationMs,
                long durationIncludingSleepMs) {
            ArtStatsLog.write(ArtStatsLog.BACKGROUND_DEXOPT_JOB_ENDED,
                          @JobParameters.StopReason int cancellationReason,
                          long durationMs) {
            ArtStatsLog.write(
                    ArtStatsLog.BACKGROUND_DEXOPT_JOB_ENDED,
                    STATUS_MAP.getOrDefault(status,
                            ArtStatsLog.BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_UNKNOWN),
                    cancellationReason, durationMs, durationIncludingSleepMs);
                    cancellationReason,
                    durationMs,
                    0);  // deprecated, used to be durationIncludingSleepMs
        }
    }
}