From bc179bb4ce8b0de3881fa7fd277eb0ed71b89b1f 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 --- .../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 c5510b7e3eb8f..19ba449a36922 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1495,7 +1495,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 @@ -1913,7 +1914,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 d048cca5df9f6..73818db35b898 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -456,7 +456,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. @@ -1335,7 +1336,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());