Log additional data to statsd.
Log additional fields so we can better understand app usage of jobs. With these fields, we can identify how many jobs are periodic, the distribution of timing delays apps set, the estimated byte values they provide (and if they're reasonable based on the device capabilities), and how many JobWorkItems are queued. Bug: 138239687 Test: statsd_testdrive 8 Change-Id: I7631dea7abe56cc9dfb4a2db10d623419aea2b54
This commit is contained in:
@@ -1499,16 +1499,21 @@ public class JobSchedulerService extends com.android.server.SystemService
|
||||
jobStatus.getNumPreviousAttempts(),
|
||||
jobStatus.getJob().getMaxExecutionDelayMillis(),
|
||||
/* isDeadlineConstraintSatisfied */ false,
|
||||
/* isCharging */ false,
|
||||
/* batteryNotLow */ false,
|
||||
/* storageNotLow */false,
|
||||
/* isChargingSatisfied */ false,
|
||||
/* batteryNotLowSatisfied */ false,
|
||||
/* storageNotLowSatisfied */false,
|
||||
/* timingDelayConstraintSatisfied */ false,
|
||||
/* isDeviceIdle */ false,
|
||||
/* isDeviceIdleSatisfied */ false,
|
||||
/* hasConnectivityConstraintSatisfied */ false,
|
||||
/* hasContentTriggerConstraintSatisfied */ false,
|
||||
0,
|
||||
/* jobStartLatencyMs */ 0,
|
||||
jobStatus.getJob().isUserInitiated(),
|
||||
/* isRunningAsUserInitiatedJob */ false);
|
||||
/* isRunningAsUserInitiatedJob */ false,
|
||||
jobStatus.getJob().isPeriodic(),
|
||||
jobStatus.getJob().getMinLatencyMillis(),
|
||||
jobStatus.getEstimatedNetworkDownloadBytes(),
|
||||
jobStatus.getEstimatedNetworkUploadBytes(),
|
||||
jobStatus.getWorkCount());
|
||||
|
||||
// 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
|
||||
@@ -1929,9 +1934,14 @@ public class JobSchedulerService extends com.android.server.SystemService
|
||||
cancelled.isConstraintSatisfied(JobInfo.CONSTRAINT_FLAG_DEVICE_IDLE),
|
||||
cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY),
|
||||
cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER),
|
||||
0,
|
||||
/* jobStartLatencyMs */ 0,
|
||||
cancelled.getJob().isUserInitiated(),
|
||||
/* isRunningAsUserInitiatedJob */ false);
|
||||
/* isRunningAsUserInitiatedJob */ false,
|
||||
cancelled.getJob().isPeriodic(),
|
||||
cancelled.getJob().getMinLatencyMillis(),
|
||||
cancelled.getEstimatedNetworkDownloadBytes(),
|
||||
cancelled.getEstimatedNetworkUploadBytes(),
|
||||
cancelled.getWorkCount());
|
||||
}
|
||||
// If this is a replacement, bring in the new version of the job
|
||||
if (incomingJob != null) {
|
||||
|
||||
@@ -464,7 +464,12 @@ public final class JobServiceContext implements ServiceConnection {
|
||||
job.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER),
|
||||
mExecutionStartTimeElapsed - job.enqueueTime,
|
||||
job.getJob().isUserInitiated(),
|
||||
job.shouldTreatAsUserInitiatedJob());
|
||||
job.shouldTreatAsUserInitiatedJob(),
|
||||
job.getJob().isPeriodic(),
|
||||
job.getJob().getMinLatencyMillis(),
|
||||
job.getEstimatedNetworkDownloadBytes(),
|
||||
job.getEstimatedNetworkUploadBytes(),
|
||||
job.getWorkCount());
|
||||
final String sourcePackage = job.getSourcePackageName();
|
||||
if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
|
||||
final String componentPackage = job.getServiceComponent().getPackageName();
|
||||
@@ -1388,9 +1393,14 @@ public final class JobServiceContext implements ServiceConnection {
|
||||
completedJob.isConstraintSatisfied(JobInfo.CONSTRAINT_FLAG_DEVICE_IDLE),
|
||||
completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY),
|
||||
completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_CONTENT_TRIGGER),
|
||||
0,
|
||||
mExecutionStartTimeElapsed - completedJob.enqueueTime,
|
||||
completedJob.getJob().isUserInitiated(),
|
||||
completedJob.startedAsUserInitiatedJob);
|
||||
completedJob.startedAsUserInitiatedJob,
|
||||
completedJob.getJob().isPeriodic(),
|
||||
completedJob.getJob().getMinLatencyMillis(),
|
||||
completedJob.getEstimatedNetworkDownloadBytes(),
|
||||
completedJob.getEstimatedNetworkUploadBytes(),
|
||||
completedJob.getWorkCount());
|
||||
if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
|
||||
Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER, "JobScheduler",
|
||||
getId());
|
||||
|
||||
Reference in New Issue
Block a user