From 1c06f707e8a0e55a10a779b6cd2ca59781b8ff54 Mon Sep 17 00:00:00 2001 From: Kunal Malhotra Date: Sat, 14 Jan 2023 00:59:12 +0000 Subject: [PATCH] Adding in code for logging job start latency into proto Test: manual testing on phone Change-Id: Ie24cc5176b9c7d2016f24183477ffbf9006ab975 (cherry picked from commit bc179bb4ce8b0de3881fa7fd277eb0ed71b89b1f) Bug: b/263786528 --- .../java/com/android/server/job/JobSchedulerService.java | 6 ++++-- .../java/com/android/server/job/JobServiceContext.java | 6 ++++-- 2 files changed, 8 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 4088a4832f96b..bf3789fa0095b 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1476,7 +1476,8 @@ public class JobSchedulerService extends com.android.server.SystemService /* timingDelayConstraintSatisfied */ false, /* isDeviceIdle */ false, /* hasConnectivityConstraintSatisfied */ false, - /* hasContentTriggerConstraintSatisfied */ false); + /* hasContentTriggerConstraintSatisfied */ false, + 0); // 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 @@ -1894,7 +1895,8 @@ public class JobSchedulerService extends com.android.server.SystemService cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_TIMING_DELAY), cancelled.isConstraintSatisfied(JobInfo.CONSTRAINT_FLAG_DEVICE_IDLE), cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY), - cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER)); + cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER), + 0); } // 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 ceb47eaa69068..6aed8a0ccbe68 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -461,7 +461,8 @@ public final class JobServiceContext implements ServiceConnection { job.isConstraintSatisfied(JobStatus.CONSTRAINT_TIMING_DELAY), job.isConstraintSatisfied(JobInfo.CONSTRAINT_FLAG_DEVICE_IDLE), job.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY), - job.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER)); + job.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER), + mExecutionStartTimeElapsed - job.enqueueTime); if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { // Use the context's ID to distinguish traces since there'll only be one job // running per context. @@ -1356,7 +1357,8 @@ public final class JobServiceContext implements ServiceConnection { completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_TIMING_DELAY), completedJob.isConstraintSatisfied(JobInfo.CONSTRAINT_FLAG_DEVICE_IDLE), completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY), - completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER)); + completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER), + 0); if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER, "JobScheduler", getId());