Merge "Generate a logging ID incorporating the namespace." into udc-dev

This commit is contained in:
TreeHugger Robot
2023-05-31 15:59:09 +00:00
committed by Android (Google) Code Review
3 changed files with 21 additions and 4 deletions

View File

@@ -1598,7 +1598,7 @@ public class JobSchedulerService extends com.android.server.SystemService
uId, null, jobStatus.getBatteryName(), uId, null, jobStatus.getBatteryName(),
FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__SCHEDULED, FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__SCHEDULED,
JobProtoEnums.INTERNAL_STOP_REASON_UNKNOWN, jobStatus.getStandbyBucket(), JobProtoEnums.INTERNAL_STOP_REASON_UNKNOWN, jobStatus.getStandbyBucket(),
jobStatus.getJobId(), jobStatus.getLoggingJobId(),
jobStatus.hasChargingConstraint(), jobStatus.hasChargingConstraint(),
jobStatus.hasBatteryNotLowConstraint(), jobStatus.hasBatteryNotLowConstraint(),
jobStatus.hasStorageNotLowConstraint(), jobStatus.hasStorageNotLowConstraint(),
@@ -2026,7 +2026,7 @@ public class JobSchedulerService extends com.android.server.SystemService
cancelled.getSourceUid(), null, cancelled.getBatteryName(), cancelled.getSourceUid(), null, cancelled.getBatteryName(),
FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__CANCELLED, FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__CANCELLED,
internalReasonCode, cancelled.getStandbyBucket(), internalReasonCode, cancelled.getStandbyBucket(),
cancelled.getJobId(), cancelled.getLoggingJobId(),
cancelled.hasChargingConstraint(), cancelled.hasChargingConstraint(),
cancelled.hasBatteryNotLowConstraint(), cancelled.hasBatteryNotLowConstraint(),
cancelled.hasStorageNotLowConstraint(), cancelled.hasStorageNotLowConstraint(),

View File

@@ -465,7 +465,8 @@ public final class JobServiceContext implements ServiceConnection {
job.getSourceUid(), null, job.getBatteryName(), job.getSourceUid(), null, job.getBatteryName(),
FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED, FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED,
JobProtoEnums.INTERNAL_STOP_REASON_UNKNOWN, JobProtoEnums.INTERNAL_STOP_REASON_UNKNOWN,
job.getStandbyBucket(), job.getJobId(), job.getStandbyBucket(),
job.getLoggingJobId(),
job.hasChargingConstraint(), job.hasChargingConstraint(),
job.hasBatteryNotLowConstraint(), job.hasBatteryNotLowConstraint(),
job.hasStorageNotLowConstraint(), job.hasStorageNotLowConstraint(),
@@ -1521,7 +1522,8 @@ public final class JobServiceContext implements ServiceConnection {
FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED, FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED,
completedJob.getSourceUid(), null, completedJob.getBatteryName(), completedJob.getSourceUid(), null, completedJob.getBatteryName(),
FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED, FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED,
loggingInternalStopReason, completedJob.getStandbyBucket(), completedJob.getJobId(), loggingInternalStopReason, completedJob.getStandbyBucket(),
completedJob.getLoggingJobId(),
completedJob.hasChargingConstraint(), completedJob.hasChargingConstraint(),
completedJob.hasBatteryNotLowConstraint(), completedJob.hasBatteryNotLowConstraint(),
completedJob.hasStorageNotLowConstraint(), completedJob.hasStorageNotLowConstraint(),

View File

@@ -231,6 +231,8 @@ public final class JobStatus {
final String sourceTag; final String sourceTag;
@Nullable @Nullable
private final String mNamespace; private final String mNamespace;
/** An ID that can be used to uniquely identify the job when logging statsd metrics. */
private final long mLoggingJobId;
final String tag; final String tag;
@@ -568,6 +570,7 @@ public final class JobStatus {
this.callingUid = callingUid; this.callingUid = callingUid;
this.standbyBucket = standbyBucket; this.standbyBucket = standbyBucket;
mNamespace = namespace; mNamespace = namespace;
mLoggingJobId = generateLoggingId(namespace, job.getId());
int tempSourceUid = -1; int tempSourceUid = -1;
if (sourceUserId != -1 && sourcePackageName != null) { if (sourceUserId != -1 && sourcePackageName != null) {
@@ -804,6 +807,13 @@ public final class JobStatus {
/*innerFlags=*/ 0, /* dynamicConstraints */ 0); /*innerFlags=*/ 0, /* dynamicConstraints */ 0);
} }
private long generateLoggingId(@Nullable String namespace, int jobId) {
if (namespace == null) {
return jobId;
}
return ((long) namespace.hashCode()) << 31 | jobId;
}
public void enqueueWorkLocked(JobWorkItem work) { public void enqueueWorkLocked(JobWorkItem work) {
if (pendingWork == null) { if (pendingWork == null) {
pendingWork = new ArrayList<>(); pendingWork = new ArrayList<>();
@@ -956,6 +966,11 @@ public final class JobStatus {
return job.getId(); return job.getId();
} }
/** Returns an ID that can be used to uniquely identify the job when logging statsd metrics. */
public long getLoggingJobId() {
return mLoggingJobId;
}
public void printUniqueId(PrintWriter pw) { public void printUniqueId(PrintWriter pw) {
if (mNamespace != null) { if (mNamespace != null) {
pw.print(mNamespace); pw.print(mNamespace);