Merge "Collecting origin in logging system" into udc-dev

This commit is contained in:
Arpan Kaphle
2023-04-13 20:21:05 +00:00
committed by Android (Google) Code Review
6 changed files with 37 additions and 4 deletions

View File

@@ -61,6 +61,8 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
super(context, sessionCallback, lock, userId, callingUid, request, callback,
RequestInfo.TYPE_CREATE,
callingAppInfo, enabledProviders, cancellationSignal, startedTimestamp);
mRequestSessionMetric.collectCreateFlowInitialMetricInfo(
/*origin=*/request.getOrigin() != null);
}
/**

View File

@@ -59,7 +59,8 @@ public class GetRequestSession extends RequestSession<GetCredentialRequest,
int numTypes = (request.getCredentialOptions().stream()
.map(CredentialOption::getType).collect(
Collectors.toSet())).size(); // Dedupe type strings
mRequestSessionMetric.collectGetFlowInitialMetricInfo(numTypes);
mRequestSessionMetric.collectGetFlowInitialMetricInfo(numTypes,
/*origin=*/request.getOrigin() != null);
}
/**

View File

@@ -287,6 +287,8 @@ public class MetricUtilities {
/* count_credential_request_classtypes */
initialPhaseMetric.getCountRequestClassType()
// TODO(b/271135048) - add total count of request options
// TODO(b/271135048) - Uncomment once built past PWG review -
// initialPhaseMetric.isOriginSpecified()
);
} catch (Exception e) {
Log.w(TAG, "Unexpected error during metric logging: " + e);

View File

@@ -59,7 +59,8 @@ public class PrepareGetRequestSession extends GetRequestSession {
int numTypes = (request.getCredentialOptions().stream()
.map(CredentialOption::getType).collect(
Collectors.toSet())).size(); // Dedupe type strings
mRequestSessionMetric.collectGetFlowInitialMetricInfo(numTypes);
mRequestSessionMetric.collectGetFlowInitialMetricInfo(numTypes,
/*origin=*/request.getOrigin() != null);
mPrepareGetCredentialCallback = prepareGetCredentialCallback;
}

View File

@@ -42,6 +42,10 @@ public class InitialPhaseMetric {
// over to the next latency object.
private long mCredentialServiceBeginQueryTimeNanoseconds = -1;
// Indicates if the origin was specified when making this API request
// TODO(b/271135048) - Emit once metrics approved
private boolean mOriginSpecified = false;
public InitialPhaseMetric() {
}
@@ -115,4 +119,12 @@ public class InitialPhaseMetric {
public int getCountRequestClassType() {
return mCountRequestClassType;
}
public void setOriginSpecified(boolean originSpecified) {
mOriginSpecified = originSpecified;
}
public boolean isOriginSpecified() {
return mOriginSpecified;
}
}

View File

@@ -149,13 +149,28 @@ public class RequestSessionMetric {
}
/**
* Collects request class type count in the RequestSession flow.
* Collects initializations for Create flow metrics.
*
* @param origin indicates if an origin was passed in or not
*/
public void collectCreateFlowInitialMetricInfo(boolean origin) {
try {
mInitialPhaseMetric.setOriginSpecified(origin);
} catch (Exception e) {
Log.w(TAG, "Unexpected error during metric logging: " + e);
}
}
/**
* Collects initializations for Get flow metrics.
*
* @param requestClassTypeCount the number of class types in the request
* @param origin indicates if an origin was passed in or not
*/
public void collectGetFlowInitialMetricInfo(int requestClassTypeCount) {
public void collectGetFlowInitialMetricInfo(int requestClassTypeCount, boolean origin) {
try {
mInitialPhaseMetric.setCountRequestClassType(requestClassTypeCount);
mInitialPhaseMetric.setOriginSpecified(origin);
} catch (Exception e) {
Log.w(TAG, "Unexpected error during metric logging: " + e);
}