From 9be42d8df3b98b644ecc718bc5e912baacc0ac10 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Fri, 19 Nov 2021 10:13:58 -0800 Subject: [PATCH] Add new fields to ScheduledJobStateChanged. Add priority, prefetch, and num failure fields in order to track the effectiveness of the feature and policy changes. Bug: 138239687 Bug: 142272435 Bug: 194532703 Test: atest CtsStatsdAtomHostTestCases:JobSchedulerStatsTests Change-Id: Id76e9eb872b92ee64baab1898d9acdc08e386f74 --- .../com/android/server/job/JobSchedulerService.java | 6 +++++- .../com/android/server/job/JobServiceContext.java | 12 ++++++++++-- .../service/java/com/android/server/job/TEST_MAPPING | 6 ++++++ 3 files changed, 21 insertions(+), 3 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 714c90b9b5a94..91eca8f3c7b9a 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1371,7 +1371,11 @@ public class JobSchedulerService extends com.android.server.SystemService jobStatus.hasContentTriggerConstraint(), jobStatus.isRequestedExpeditedJob(), /* isRunningAsExpeditedJob */ false, - JobProtoEnums.STOP_REASON_UNDEFINED); + JobProtoEnums.STOP_REASON_UNDEFINED, + jobStatus.getJob().isPrefetch(), + jobStatus.getJob().getPriority(), + jobStatus.getEffectivePriority(), + jobStatus.getNumFailures()); // 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 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 b44178fc9ac90..9cae864576ce0 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -356,7 +356,11 @@ public final class JobServiceContext implements ServiceConnection { job.hasContentTriggerConstraint(), job.isRequestedExpeditedJob(), job.shouldTreatAsExpeditedJob(), - JobProtoEnums.STOP_REASON_UNDEFINED); + JobProtoEnums.STOP_REASON_UNDEFINED, + job.getJob().isPrefetch(), + job.getJob().getPriority(), + job.getEffectivePriority(), + job.getNumFailures()); try { mBatteryStats.noteJobStart(job.getBatteryName(), job.getSourceUid()); } catch (RemoteException e) { @@ -1028,7 +1032,11 @@ public final class JobServiceContext implements ServiceConnection { completedJob.hasContentTriggerConstraint(), completedJob.isRequestedExpeditedJob(), completedJob.startedAsExpeditedJob, - mParams.getStopReason()); + mParams.getStopReason(), + completedJob.getJob().isPrefetch(), + completedJob.getJob().getPriority(), + completedJob.getEffectivePriority(), + completedJob.getNumFailures()); try { mBatteryStats.noteJobFinish(mRunningJob.getBatteryName(), mRunningJob.getSourceUid(), internalStopReason); diff --git a/apex/jobscheduler/service/java/com/android/server/job/TEST_MAPPING b/apex/jobscheduler/service/java/com/android/server/job/TEST_MAPPING index 7d12b95139819..d9c463294a692 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/TEST_MAPPING +++ b/apex/jobscheduler/service/java/com/android/server/job/TEST_MAPPING @@ -50,6 +50,12 @@ {"include-filter": "com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testMeteredNetworkAccess_expeditedJob"}, {"include-filter": "com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testNonMeteredNetworkAccess_expeditedJob"} ] + }, + { + "name": "CtsStatsdAtomHostTestCases", + "options": [ + {"include-filter": "android.cts.statsdatom.jobscheduler"} + ] } ] }