Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 604bf886 authored by Kweku Adams's avatar Kweku Adams Committed by Android (Google) Code Review
Browse files

Merge "Log some flex policy information to statsd." into main

parents 6da4412d edd43ec2
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -1830,7 +1830,12 @@ public class JobSchedulerService extends com.android.server.SystemService
                    /* system_measured_calling_download_bytes */0,
                    /* system_measured_calling_upload_bytes */ 0,
                    jobStatus.getJob().getIntervalMillis(),
                    jobStatus.getJob().getFlexMillis());
                    jobStatus.getJob().getFlexMillis(),
                    jobStatus.hasFlexibilityConstraint(),
                    /* isFlexConstraintSatisfied */ false,
                    jobStatus.canApplyTransportAffinities(),
                    jobStatus.getNumAppliedFlexibleConstraints(),
                    jobStatus.getNumDroppedFlexibleConstraints());

            // 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
@@ -2273,7 +2278,12 @@ public class JobSchedulerService extends com.android.server.SystemService
                    /* system_measured_calling_download_bytes */0,
                    /* system_measured_calling_upload_bytes */ 0,
                    cancelled.getJob().getIntervalMillis(),
                    cancelled.getJob().getFlexMillis());
                    cancelled.getJob().getFlexMillis(),
                    cancelled.hasFlexibilityConstraint(),
                    cancelled.isConstraintSatisfied(JobStatus.CONSTRAINT_FLEXIBLE),
                    cancelled.canApplyTransportAffinities(),
                    cancelled.getNumAppliedFlexibleConstraints(),
                    cancelled.getNumDroppedFlexibleConstraints());
        }
        // If this is a replacement, bring in the new version of the job
        if (incomingJob != null) {
+12 −2
Original line number Diff line number Diff line
@@ -536,7 +536,12 @@ public final class JobServiceContext implements ServiceConnection {
                    /* system_measured_calling_download_bytes */ 0,
                    /* system_measured_calling_upload_bytes */ 0,
                    job.getJob().getIntervalMillis(),
                    job.getJob().getFlexMillis());
                    job.getJob().getFlexMillis(),
                    job.hasFlexibilityConstraint(),
                    job.isConstraintSatisfied(JobStatus.CONSTRAINT_FLEXIBLE),
                    job.canApplyTransportAffinities(),
                    job.getNumAppliedFlexibleConstraints(),
                    job.getNumDroppedFlexibleConstraints());
            sEnqueuedJwiAtJobStart.logSampleWithUid(job.getUid(), job.getWorkCount());
            final String sourcePackage = job.getSourcePackageName();
            if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
@@ -1620,7 +1625,12 @@ public final class JobServiceContext implements ServiceConnection {
                TrafficStats.getUidTxBytes(completedJob.getUid())
                        - mInitialUploadedBytesFromCalling,
                completedJob.getJob().getIntervalMillis(),
                completedJob.getJob().getFlexMillis());
                completedJob.getJob().getFlexMillis(),
                completedJob.hasFlexibilityConstraint(),
                completedJob.isConstraintSatisfied(JobStatus.CONSTRAINT_FLEXIBLE),
                completedJob.canApplyTransportAffinities(),
                completedJob.getNumAppliedFlexibleConstraints(),
                completedJob.getNumDroppedFlexibleConstraints());
        if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER, "JobScheduler",
                    getId());
+4 −6
Original line number Diff line number Diff line
@@ -106,11 +106,8 @@ public final class JobStatus {
    public static final long NO_LATEST_RUNTIME = Long.MAX_VALUE;
    public static final long NO_EARLIEST_RUNTIME = 0L;

    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public static final int CONSTRAINT_CHARGING = JobInfo.CONSTRAINT_FLAG_CHARGING; // 1 < 0
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public static final int CONSTRAINT_IDLE = JobInfo.CONSTRAINT_FLAG_DEVICE_IDLE;  // 1 << 2
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public static final int CONSTRAINT_BATTERY_NOT_LOW =
            JobInfo.CONSTRAINT_FLAG_BATTERY_NOT_LOW; // 1 << 1
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
@@ -125,7 +122,7 @@ public final class JobStatus {
    static final int CONSTRAINT_WITHIN_QUOTA = 1 << 24;      // Implicit constraint
    static final int CONSTRAINT_PREFETCH = 1 << 23;
    static final int CONSTRAINT_BACKGROUND_NOT_RESTRICTED = 1 << 22; // Implicit constraint
    static final int CONSTRAINT_FLEXIBLE = 1 << 21; // Implicit constraint
    public static final int CONSTRAINT_FLEXIBLE = 1 << 21; // Implicit constraint

    private static final int IMPLICIT_CONSTRAINTS = 0
            | CONSTRAINT_BACKGROUND_NOT_RESTRICTED
@@ -1534,7 +1531,7 @@ public final class JobStatus {

    /**
     * Returns the number of required flexible job constraints that have been dropped with time.
     * The lower this number is the easier it is for the flexibility constraint to be satisfied.
     * The higher this number is the easier it is for the flexibility constraint to be satisfied.
     */
    public int getNumDroppedFlexibleConstraints() {
        return mNumDroppedFlexibleConstraints;
@@ -1600,7 +1597,8 @@ public final class JobStatus {
        mTransportAffinitiesSatisfied = isSatisfied;
    }

    boolean canApplyTransportAffinities() {
    /** Whether transport affinities can be applied to the job in flex scheduling. */
    public boolean canApplyTransportAffinities() {
        return mCanApplyTransportAffinities;
    }