summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Simon MacMullen <simonmacm@google.com> 2022-09-20 17:45:37 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-09-20 17:45:37 +0000
commit307f07e4b4dd0950448b660a919c0bed594860dc (patch)
tree1cfefe43be0fc7d16e1df5eefdd017fb38673c40
parent0ac4d2e85dc79c951d22718c2eca09319b62086b (diff)
parent24fdd1fc9590fff88cbc64016fc2c4fa11ba1ded (diff)
Merge "Trace job execution." into tm-qpr-dev am: 24fdd1fc95
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20001564 Change-Id: I0572e5d3e0141f2ebaa0299ef42755c3af5c0ea3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java5
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java2
2 files changed, 6 insertions, 1 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 f7fe9cab60ae..58953c45a794 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java
@@ -43,6 +43,7 @@ import android.os.Looper;
import android.os.Message;
import android.os.PowerManager;
import android.os.RemoteException;
+import android.os.Trace;
import android.os.UserHandle;
import android.util.EventLog;
import android.util.IndentingPrintWriter;
@@ -361,6 +362,9 @@ 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());
try {
mBatteryStats.noteJobStart(job.getBatteryName(), job.getSourceUid());
} catch (RemoteException e) {
@@ -1024,6 +1028,7 @@ public final class JobServiceContext implements ServiceConnection {
completedJob.getJob().getPriority(),
completedJob.getEffectivePriority(),
completedJob.getNumFailures());
+ Trace.asyncTraceEnd(Trace.TRACE_TAG_SYSTEM_SERVER, completedJob.getTag(), getId());
try {
mBatteryStats.noteJobFinish(mRunningJob.getBatteryName(), mRunningJob.getSourceUid(),
internalStopReason);
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
index ebafba52f257..866dc41d8dfb 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
@@ -496,7 +496,7 @@ public final class JobStatus {
this.batteryName = this.sourceTag != null
? this.sourceTag + ":" + job.getService().getPackageName()
: job.getService().flattenToShortString();
- this.tag = "*job*/" + this.batteryName;
+ this.tag = "*job*/" + this.batteryName + "#" + job.getId();
this.earliestRunTimeElapsedMillis = earliestRunTimeElapsedMillis;
this.latestRunTimeElapsedMillis = latestRunTimeElapsedMillis;