Loading core/proto/android/server/jobscheduler.proto +7 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,11 @@ message JobSchedulerServiceDumpProto { optional ConstantsProto settings = 1; optional int32 current_heartbeat = 14; repeated int32 next_heartbeat = 15; optional int64 last_heartbeat_time_millis = 16; optional int64 next_heartbeat_time_millis = 17; repeated int32 started_users = 2; message RegisteredJob { Loading @@ -54,6 +59,8 @@ message JobSchedulerServiceDumpProto { optional bool is_job_currently_active = 6; optional bool is_uid_backing_up = 7; optional bool is_component_present = 8; optional int64 last_run_heartbeat = 9; } repeated RegisteredJob registered_jobs = 3; Loading services/core/java/com/android/server/job/JobSchedulerService.java +33 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,7 @@ import com.android.server.FgThread; import com.android.server.LocalServices; import com.android.server.job.JobSchedulerServiceDumpProto.ActiveJob; import com.android.server.job.JobSchedulerServiceDumpProto.PendingJob; import com.android.server.job.JobSchedulerServiceDumpProto.RegisteredJob; import com.android.server.job.controllers.AppIdleController; import com.android.server.job.controllers.BackgroundJobsController; import com.android.server.job.controllers.BatteryController; Loading Loading @@ -2937,6 +2938,23 @@ public final class JobSchedulerService extends com.android.server.SystemService synchronized (mLock) { mConstants.dump(pw); pw.println(); pw.println(" Heartbeat:"); pw.print(" Current: "); pw.println(mHeartbeat); pw.println(" Next"); pw.print(" ACTIVE: "); pw.println(mNextBucketHeartbeat[0]); pw.print(" WORKING: "); pw.println(mNextBucketHeartbeat[1]); pw.print(" FREQUENT: "); pw.println(mNextBucketHeartbeat[2]); pw.print(" RARE: "); pw.println(mNextBucketHeartbeat[3]); pw.print(" Last heartbeat: "); TimeUtils.formatDuration(mLastHeartbeatTime, nowElapsed, pw); pw.println(); pw.print(" Next heartbeat: "); TimeUtils.formatDuration(mLastHeartbeatTime + mConstants.STANDBY_HEARTBEAT_TIME, nowElapsed, pw); pw.println(); pw.println(); pw.println("Started users: " + Arrays.toString(mStartedUsers)); pw.print("Registered "); pw.print(mJobs.size()); Loading @@ -2954,6 +2972,10 @@ public final class JobSchedulerService extends com.android.server.SystemService } job.dump(pw, " ", true, nowElapsed); pw.print(" Last run heartbeat: "); pw.print(heartbeatWhenJobsLastRun(job)); pw.println(); pw.print(" Ready: "); pw.print(isReadyToBeExecutedLocked(job)); pw.print(" (job="); Loading Loading @@ -3096,6 +3118,16 @@ public final class JobSchedulerService extends com.android.server.SystemService synchronized (mLock) { mConstants.dump(proto, JobSchedulerServiceDumpProto.SETTINGS); proto.write(JobSchedulerServiceDumpProto.CURRENT_HEARTBEAT, mHeartbeat); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[0]); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[1]); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[2]); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[3]); proto.write(JobSchedulerServiceDumpProto.LAST_HEARTBEAT_TIME_MILLIS, mLastHeartbeatTime - nowUptime); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT_TIME_MILLIS, mLastHeartbeatTime + mConstants.STANDBY_HEARTBEAT_TIME - nowUptime); for (int u : mStartedUsers) { proto.write(JobSchedulerServiceDumpProto.STARTED_USERS, u); } Loading Loading @@ -3134,6 +3166,7 @@ public final class JobSchedulerService extends com.android.server.SystemService } proto.write(JobSchedulerServiceDumpProto.RegisteredJob.IS_COMPONENT_PRESENT, componentPresent); proto.write(RegisteredJob.LAST_RUN_HEARTBEAT, heartbeatWhenJobsLastRun(job)); proto.end(rjToken); } Loading Loading
core/proto/android/server/jobscheduler.proto +7 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,11 @@ message JobSchedulerServiceDumpProto { optional ConstantsProto settings = 1; optional int32 current_heartbeat = 14; repeated int32 next_heartbeat = 15; optional int64 last_heartbeat_time_millis = 16; optional int64 next_heartbeat_time_millis = 17; repeated int32 started_users = 2; message RegisteredJob { Loading @@ -54,6 +59,8 @@ message JobSchedulerServiceDumpProto { optional bool is_job_currently_active = 6; optional bool is_uid_backing_up = 7; optional bool is_component_present = 8; optional int64 last_run_heartbeat = 9; } repeated RegisteredJob registered_jobs = 3; Loading
services/core/java/com/android/server/job/JobSchedulerService.java +33 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,7 @@ import com.android.server.FgThread; import com.android.server.LocalServices; import com.android.server.job.JobSchedulerServiceDumpProto.ActiveJob; import com.android.server.job.JobSchedulerServiceDumpProto.PendingJob; import com.android.server.job.JobSchedulerServiceDumpProto.RegisteredJob; import com.android.server.job.controllers.AppIdleController; import com.android.server.job.controllers.BackgroundJobsController; import com.android.server.job.controllers.BatteryController; Loading Loading @@ -2937,6 +2938,23 @@ public final class JobSchedulerService extends com.android.server.SystemService synchronized (mLock) { mConstants.dump(pw); pw.println(); pw.println(" Heartbeat:"); pw.print(" Current: "); pw.println(mHeartbeat); pw.println(" Next"); pw.print(" ACTIVE: "); pw.println(mNextBucketHeartbeat[0]); pw.print(" WORKING: "); pw.println(mNextBucketHeartbeat[1]); pw.print(" FREQUENT: "); pw.println(mNextBucketHeartbeat[2]); pw.print(" RARE: "); pw.println(mNextBucketHeartbeat[3]); pw.print(" Last heartbeat: "); TimeUtils.formatDuration(mLastHeartbeatTime, nowElapsed, pw); pw.println(); pw.print(" Next heartbeat: "); TimeUtils.formatDuration(mLastHeartbeatTime + mConstants.STANDBY_HEARTBEAT_TIME, nowElapsed, pw); pw.println(); pw.println(); pw.println("Started users: " + Arrays.toString(mStartedUsers)); pw.print("Registered "); pw.print(mJobs.size()); Loading @@ -2954,6 +2972,10 @@ public final class JobSchedulerService extends com.android.server.SystemService } job.dump(pw, " ", true, nowElapsed); pw.print(" Last run heartbeat: "); pw.print(heartbeatWhenJobsLastRun(job)); pw.println(); pw.print(" Ready: "); pw.print(isReadyToBeExecutedLocked(job)); pw.print(" (job="); Loading Loading @@ -3096,6 +3118,16 @@ public final class JobSchedulerService extends com.android.server.SystemService synchronized (mLock) { mConstants.dump(proto, JobSchedulerServiceDumpProto.SETTINGS); proto.write(JobSchedulerServiceDumpProto.CURRENT_HEARTBEAT, mHeartbeat); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[0]); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[1]); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[2]); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT, mNextBucketHeartbeat[3]); proto.write(JobSchedulerServiceDumpProto.LAST_HEARTBEAT_TIME_MILLIS, mLastHeartbeatTime - nowUptime); proto.write(JobSchedulerServiceDumpProto.NEXT_HEARTBEAT_TIME_MILLIS, mLastHeartbeatTime + mConstants.STANDBY_HEARTBEAT_TIME - nowUptime); for (int u : mStartedUsers) { proto.write(JobSchedulerServiceDumpProto.STARTED_USERS, u); } Loading Loading @@ -3134,6 +3166,7 @@ public final class JobSchedulerService extends com.android.server.SystemService } proto.write(JobSchedulerServiceDumpProto.RegisteredJob.IS_COMPONENT_PRESENT, componentPresent); proto.write(RegisteredJob.LAST_RUN_HEARTBEAT, heartbeatWhenJobsLastRun(job)); proto.end(rjToken); } Loading