Merge "Fix concurrency logging." into udc-dev

This commit is contained in:
TreeHugger Robot
2023-05-11 16:46:50 +00:00
committed by Android (Google) Code Review

View File

@@ -810,7 +810,7 @@ class JobConcurrencyManager {
mRecycledChanged, mRecycledIdle, mRecycledPreferredUidOnly, mRecycledStoppable, mRecycledChanged, mRecycledIdle, mRecycledPreferredUidOnly, mRecycledStoppable,
mRecycledAssignmentInfo, mRecycledPrivilegedState); mRecycledAssignmentInfo, mRecycledPrivilegedState);
noteConcurrency(); noteConcurrency(true);
} }
@VisibleForTesting @VisibleForTesting
@@ -1437,11 +1437,13 @@ class JobConcurrencyManager {
} }
} }
private void noteConcurrency() { private void noteConcurrency(boolean logForHistogram) {
mService.mJobPackageTracker.noteConcurrency(mRunningJobs.size(), mService.mJobPackageTracker.noteConcurrency(mRunningJobs.size(),
// TODO: log per type instead of only TOP // TODO: log per type instead of only TOP
mWorkCountTracker.getRunningJobCount(WORK_TYPE_TOP)); mWorkCountTracker.getRunningJobCount(WORK_TYPE_TOP));
sConcurrencyHistogramLogger.logSample(mActiveServices.size()); if (logForHistogram) {
sConcurrencyHistogramLogger.logSample(mActiveServices.size());
}
} }
@GuardedBy("mLock") @GuardedBy("mLock")
@@ -1582,7 +1584,9 @@ class JobConcurrencyManager {
final PendingJobQueue pendingJobQueue = mService.getPendingJobQueue(); final PendingJobQueue pendingJobQueue = mService.getPendingJobQueue();
if (pendingJobQueue.size() == 0) { if (pendingJobQueue.size() == 0) {
worker.clearPreferredUid(); worker.clearPreferredUid();
noteConcurrency(); // Don't log the drop in concurrency to the histogram, otherwise, we'll end up
// overcounting lower concurrency values as jobs end execution.
noteConcurrency(false);
return; return;
} }
if (mActiveServices.size() >= mSteadyStateConcurrencyLimit) { if (mActiveServices.size() >= mSteadyStateConcurrencyLimit) {
@@ -1612,7 +1616,9 @@ class JobConcurrencyManager {
// scheduled), but we should // scheduled), but we should
// be able to stop the other jobs soon so don't start running anything new until we // be able to stop the other jobs soon so don't start running anything new until we
// get back below the limit. // get back below the limit.
noteConcurrency(); // Don't log the drop in concurrency to the histogram, otherwise, we'll end up
// overcounting lower concurrency values as jobs end execution.
noteConcurrency(false);
return; return;
} }
} }
@@ -1761,7 +1767,9 @@ class JobConcurrencyManager {
} }
} }
noteConcurrency(); // Don't log the drop in concurrency to the histogram, otherwise, we'll end up
// overcounting lower concurrency values as jobs end execution.
noteConcurrency(false);
} }
/** /**