From fc233ca02ddc70a8bf225d9ad2ce6227642f078f Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Mon, 3 Oct 2022 11:50:58 -0700 Subject: [PATCH] JobScheduler: cleanup async traces Move to asyncTraceForTrack so all jobs are on the "JobScheduler" row instead of one row per job. Test: jobs appear in traces Bug: 250614152 Change-Id: I15dc71ee6096c537a526a9c0ce058bd3f8d1c013 --- .../com/android/server/job/JobServiceContext.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 90ce8bf27322e..d6456f0edea5d 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -364,9 +364,12 @@ public final class JobServiceContext implements ServiceConnection { job.getJob().getPriority(), job.getEffectivePriority(), job.getNumFailures()); - // Use the context's ID to distinguish traces since there'll only be one job running - // per context. - Trace.asyncTraceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, job.getTag(), getId()); + 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. + Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "JobScheduler", + job.getTag(), getId()); + } try { mBatteryStats.noteJobStart(job.getBatteryName(), job.getSourceUid()); } catch (RemoteException e) { @@ -1030,7 +1033,10 @@ public final class JobServiceContext implements ServiceConnection { completedJob.getJob().getPriority(), completedJob.getEffectivePriority(), completedJob.getNumFailures()); - Trace.asyncTraceEnd(Trace.TRACE_TAG_SYSTEM_SERVER, completedJob.getTag(), getId()); + if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { + Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER, "JobScheduler", + completedJob.getTag(), getId()); + } try { mBatteryStats.noteJobFinish(mRunningJob.getBatteryName(), mRunningJob.getSourceUid(), internalStopReason);