summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java20
1 files changed, 17 insertions, 3 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 4c339ac66160..7388fff17735 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java
@@ -465,22 +465,36 @@ public final class JobServiceContext implements ServiceConnection {
mExecutionStartTimeElapsed - job.enqueueTime,
job.getJob().isUserInitiated(),
job.shouldTreatAsUserInitiatedJob());
+ final String sourcePackage = job.getSourcePackageName();
if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
+ final String componentPackage = job.getServiceComponent().getPackageName();
+ String traceTag = "*job*<" + job.getSourceUid() + ">" + sourcePackage;
+ if (!sourcePackage.equals(componentPackage)) {
+ traceTag += ":" + componentPackage;
+ }
+ traceTag += "/" + job.getServiceComponent().getShortClassName();
+ if (!componentPackage.equals(job.serviceProcessName)) {
+ traceTag += "$" + job.serviceProcessName;
+ }
+ if (job.getNamespace() != null) {
+ traceTag += "@" + job.getNamespace();
+ }
+ traceTag += "#" + job.getJobId();
+
// 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());
+ traceTag, getId());
}
try {
mBatteryStats.noteJobStart(job.getBatteryName(), job.getSourceUid());
} catch (RemoteException e) {
// Whatever.
}
- final String jobPackage = job.getSourcePackageName();
final int jobUserId = job.getSourceUserId();
UsageStatsManagerInternal usageStats =
LocalServices.getService(UsageStatsManagerInternal.class);
- usageStats.setLastJobRunTime(jobPackage, jobUserId, mExecutionStartTimeElapsed);
+ usageStats.setLastJobRunTime(sourcePackage, jobUserId, mExecutionStartTimeElapsed);
mAvailable = false;
mStoppedReason = null;
mStoppedTime = 0;