diff options
author | 2024-11-13 23:14:41 -0600 | |
---|---|---|
committer | 2024-12-02 17:58:52 -0600 | |
commit | 175d54f39b9c0a580b9e3d424569793c1b78219c (patch) | |
tree | 735beb2e39419a9e024d7c63964f1892ebe441cd /apex | |
parent | 874bddff5d26f11f532bdee1efad4b338ae09537 (diff) |
Add Abandoned job reschedule data to the atom
The number of times abandoned jobs got rescheduled and the boolean
indicator if the aggressive backoff policy was applied to such jobs will
be included in the existing job scheduler atom.
bug: 372529068
Test: atest CtsJobSchedulerTestCases
Test: atest FrameworksMockingServicesTests
Flag: android.app.job.handle_abandoned_jobs
Change-Id: I13ce36584d45527db2601687cd80d143b409764c
Diffstat (limited to 'apex')
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java | 13 | ||||
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java | 12 |
2 files changed, 21 insertions, 4 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java index a5a08fb9997c..fe80d1be9532 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1981,7 +1981,12 @@ public class JobSchedulerService extends com.android.server.SystemService jobStatus.getNumAppliedFlexibleConstraints(), jobStatus.getNumDroppedFlexibleConstraints(), jobStatus.getFilteredTraceTag(), - jobStatus.getFilteredDebugTags()); + jobStatus.getFilteredDebugTags(), + jobStatus.getNumAbandonedFailures(), + /* 0 is reserved for UNKNOWN_POLICY */ + jobStatus.getJob().getBackoffPolicy() + 1, + shouldUseAggressiveBackoff(jobStatus.getNumAbandonedFailures())); + // If the job is immediately ready to run, then we can just immediately // put it in the pending list and try to schedule it. This is especially @@ -2422,7 +2427,11 @@ public class JobSchedulerService extends com.android.server.SystemService cancelled.getNumAppliedFlexibleConstraints(), cancelled.getNumDroppedFlexibleConstraints(), cancelled.getFilteredTraceTag(), - cancelled.getFilteredDebugTags()); + cancelled.getFilteredDebugTags(), + cancelled.getNumAbandonedFailures(), + /* 0 is reserved for UNKNOWN_POLICY */ + cancelled.getJob().getBackoffPolicy() + 1, + shouldUseAggressiveBackoff(cancelled.getNumAbandonedFailures())); } // If this is a replacement, bring in the new version of the job if (incomingJob != null) { diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java index 909a9b30ada4..2b401c8ff6b1 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -546,7 +546,11 @@ public final class JobServiceContext implements ServiceConnection { job.getNumAppliedFlexibleConstraints(), job.getNumDroppedFlexibleConstraints(), job.getFilteredTraceTag(), - job.getFilteredDebugTags()); + job.getFilteredDebugTags(), + job.getNumAbandonedFailures(), + /* 0 is reserved for UNKNOWN_POLICY */ + job.getJob().getBackoffPolicy() + 1, + mService.shouldUseAggressiveBackoff(job.getNumAbandonedFailures())); sEnqueuedJwiAtJobStart.logSampleWithUid(job.getUid(), job.getWorkCount()); final String sourcePackage = job.getSourcePackageName(); if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { @@ -1681,7 +1685,11 @@ public final class JobServiceContext implements ServiceConnection { completedJob.getNumAppliedFlexibleConstraints(), completedJob.getNumDroppedFlexibleConstraints(), completedJob.getFilteredTraceTag(), - completedJob.getFilteredDebugTags()); + completedJob.getFilteredDebugTags(), + completedJob.getNumAbandonedFailures(), + /* 0 is reserved for UNKNOWN_POLICY */ + completedJob.getJob().getBackoffPolicy() + 1, + mService.shouldUseAggressiveBackoff(completedJob.getNumAbandonedFailures())); if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER, JobSchedulerService.TRACE_TRACK_NAME, getId()); |