Merge "Correct isLegacy metric data" into main
diff --git a/service-t/src/com/android/metrics/NetworkNsdReportedMetrics.java b/service-t/src/com/android/metrics/NetworkNsdReportedMetrics.java
index 6b03daa..42a922d 100644
--- a/service-t/src/com/android/metrics/NetworkNsdReportedMetrics.java
+++ b/service-t/src/com/android/metrics/NetworkNsdReportedMetrics.java
@@ -34,20 +34,17 @@
// The upper bound for the random number used in metrics data sampling determines the possible
// sample rate.
private static final int RANDOM_NUMBER_UPPER_BOUND = 1000;
- // Whether this client is using legacy backend.
- private final boolean mIsLegacy;
// The client id.
private final int mClientId;
private final Dependencies mDependencies;
private final Random mRandom;
- public NetworkNsdReportedMetrics(boolean isLegacy, int clientId) {
- this(isLegacy, clientId, new Dependencies());
+ public NetworkNsdReportedMetrics(int clientId) {
+ this(clientId, new Dependencies());
}
@VisibleForTesting
- NetworkNsdReportedMetrics(boolean isLegacy, int clientId, Dependencies dependencies) {
- mIsLegacy = isLegacy;
+ NetworkNsdReportedMetrics(int clientId, Dependencies dependencies) {
mClientId = clientId;
mDependencies = dependencies;
mRandom = dependencies.makeRandomGenerator();
@@ -89,23 +86,25 @@
}
}
- private Builder makeReportedBuilder() {
+ private Builder makeReportedBuilder(boolean isLegacy, int transactionId) {
final Builder builder = NetworkNsdReported.newBuilder();
- builder.setIsLegacy(mIsLegacy);
+ builder.setIsLegacy(isLegacy);
builder.setClientId(mClientId);
builder.setRandomNumber(mRandom.nextInt(RANDOM_NUMBER_UPPER_BOUND));
+ builder.setTransactionId(transactionId);
return builder;
}
/**
* Report service registration succeeded metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service registration.
* @param durationMs The duration of service registration success.
*/
- public void reportServiceRegistrationSucceeded(int transactionId, long durationMs) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ public void reportServiceRegistrationSucceeded(boolean isLegacy, int transactionId,
+ long durationMs) {
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_REGISTER);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_REGISTERED);
builder.setEventDurationMillisec(durationMs);
@@ -115,12 +114,13 @@
/**
* Report service registration failed metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service registration.
* @param durationMs The duration of service registration failed.
*/
- public void reportServiceRegistrationFailed(int transactionId, long durationMs) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ public void reportServiceRegistrationFailed(boolean isLegacy, int transactionId,
+ long durationMs) {
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_REGISTER);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_REGISTRATION_FAILED);
builder.setEventDurationMillisec(durationMs);
@@ -130,6 +130,7 @@
/**
* Report service unregistration success metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service registration.
* @param durationMs The duration of service stayed registered.
* @param repliedRequestsCount The replied request count of this service before unregistered it.
@@ -137,11 +138,10 @@
* @param conflictDuringProbingCount The number of conflict during probing.
* @param conflictAfterProbingCount The number of conflict after probing.
*/
- public void reportServiceUnregistration(int transactionId, long durationMs,
+ public void reportServiceUnregistration(boolean isLegacy, int transactionId, long durationMs,
int repliedRequestsCount, int sentPacketCount, int conflictDuringProbingCount,
int conflictAfterProbingCount) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_REGISTER);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_UNREGISTERED);
builder.setEventDurationMillisec(durationMs);
@@ -155,11 +155,11 @@
/**
* Report service discovery started metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service discovery.
*/
- public void reportServiceDiscoveryStarted(int transactionId) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ public void reportServiceDiscoveryStarted(boolean isLegacy, int transactionId) {
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_DISCOVER);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_DISCOVERY_STARTED);
mDependencies.statsWrite(builder.build());
@@ -168,12 +168,13 @@
/**
* Report service discovery failed metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service discovery.
* @param durationMs The duration of service discovery failed.
*/
- public void reportServiceDiscoveryFailed(int transactionId, long durationMs) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ public void reportServiceDiscoveryFailed(boolean isLegacy, int transactionId,
+ long durationMs) {
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_DISCOVER);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_DISCOVERY_FAILED);
builder.setEventDurationMillisec(durationMs);
@@ -183,6 +184,7 @@
/**
* Report service discovery stop metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service discovery.
* @param durationMs The duration of discovering services.
* @param foundCallbackCount The count of found service callbacks before stop discovery.
@@ -190,10 +192,9 @@
* @param servicesCount The count of found services.
* @param sentQueryCount The count of sent queries before stop discovery.
*/
- public void reportServiceDiscoveryStop(int transactionId, long durationMs,
+ public void reportServiceDiscoveryStop(boolean isLegacy, int transactionId, long durationMs,
int foundCallbackCount, int lostCallbackCount, int servicesCount, int sentQueryCount) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_DISCOVER);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_DISCOVERY_STOP);
builder.setEventDurationMillisec(durationMs);
@@ -207,15 +208,15 @@
/**
* Report service resolution success metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service resolution.
* @param durationMs The duration of resolving services.
* @param isServiceFromCache Whether the resolved service is from cache.
* @param sentQueryCount The count of sent queries during resolving.
*/
- public void reportServiceResolved(int transactionId, long durationMs,
+ public void reportServiceResolved(boolean isLegacy, int transactionId, long durationMs,
boolean isServiceFromCache, int sentQueryCount) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_RESOLVE);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_RESOLVED);
builder.setEventDurationMillisec(durationMs);
@@ -227,12 +228,13 @@
/**
* Report service resolution failed metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service resolution.
* @param durationMs The duration of service resolution failed.
*/
- public void reportServiceResolutionFailed(int transactionId, long durationMs) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ public void reportServiceResolutionFailed(boolean isLegacy, int transactionId,
+ long durationMs) {
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_RESOLVE);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_RESOLUTION_FAILED);
builder.setEventDurationMillisec(durationMs);
@@ -242,12 +244,12 @@
/**
* Report service resolution stop metric data.
*
+ * @param isLegacy Whether this call is using legacy backend.
* @param transactionId The transaction id of service resolution.
* @param durationMs The duration before stop resolving the service.
*/
- public void reportServiceResolutionStop(int transactionId, long durationMs) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ public void reportServiceResolutionStop(boolean isLegacy, int transactionId, long durationMs) {
+ final Builder builder = makeReportedBuilder(isLegacy, transactionId);
builder.setType(NsdEventType.NET_RESOLVE);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_RESOLUTION_STOP);
builder.setEventDurationMillisec(durationMs);
@@ -260,8 +262,8 @@
* @param transactionId The transaction id of service info callback registration.
*/
public void reportServiceInfoCallbackRegistered(int transactionId) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ // service info callback is always using new backend.
+ final Builder builder = makeReportedBuilder(false /* isLegacy */, transactionId);
builder.setType(NsdEventType.NET_SERVICE_INFO_CALLBACK);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_INFO_CALLBACK_REGISTERED);
mDependencies.statsWrite(builder.build());
@@ -273,8 +275,8 @@
* @param transactionId The transaction id of service callback registration.
*/
public void reportServiceInfoCallbackRegistrationFailed(int transactionId) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ // service info callback is always using new backend.
+ final Builder builder = makeReportedBuilder(false /* isLegacy */, transactionId);
builder.setType(NsdEventType.NET_SERVICE_INFO_CALLBACK);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_INFO_CALLBACK_REGISTRATION_FAILED);
mDependencies.statsWrite(builder.build());
@@ -293,8 +295,8 @@
public void reportServiceInfoCallbackUnregistered(int transactionId, long durationMs,
int updateCallbackCount, int lostCallbackCount, boolean isServiceFromCache,
int sentQueryCount) {
- final Builder builder = makeReportedBuilder();
- builder.setTransactionId(transactionId);
+ // service info callback is always using new backend.
+ final Builder builder = makeReportedBuilder(false /* isLegacy */, transactionId);
builder.setType(NsdEventType.NET_SERVICE_INFO_CALLBACK);
builder.setQueryResult(MdnsQueryResult.MQR_SERVICE_INFO_CALLBACK_UNREGISTERED);
builder.setEventDurationMillisec(durationMs);
diff --git a/service-t/src/com/android/server/NsdService.java b/service-t/src/com/android/server/NsdService.java
index 1250e65..c951e98 100644
--- a/service-t/src/com/android/server/NsdService.java
+++ b/service-t/src/com/android/server/NsdService.java
@@ -608,7 +608,7 @@
final String tag = "Client" + arg.uid + "-" + mClientNumberId++;
final NetworkNsdReportedMetrics metrics =
mDeps.makeNetworkNsdReportedMetrics(
- !arg.useJavaBackend, (int) mClock.elapsedRealtime());
+ (int) mClock.elapsedRealtime());
cInfo = new ClientInfo(cb, arg.uid, arg.useJavaBackend,
mServiceLogs.forSubComponent(tag), metrics);
mClients.put(arg.connector, cInfo);
@@ -632,8 +632,8 @@
case NsdManager.DISCOVER_SERVICES:
cInfo = getClientInfoForReply(msg);
if (cInfo != null) {
- cInfo.onDiscoverServicesFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ cInfo.onDiscoverServicesFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */);
}
break;
case NsdManager.STOP_DISCOVERY:
@@ -646,8 +646,8 @@
case NsdManager.REGISTER_SERVICE:
cInfo = getClientInfoForReply(msg);
if (cInfo != null) {
- cInfo.onRegisterServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ cInfo.onRegisterServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */);
}
break;
case NsdManager.UNREGISTER_SERVICE:
@@ -660,8 +660,8 @@
case NsdManager.RESOLVE_SERVICE:
cInfo = getClientInfoForReply(msg);
if (cInfo != null) {
- cInfo.onResolveServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ cInfo.onResolveServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */);
}
break;
case NsdManager.STOP_RESOLUTION:
@@ -726,13 +726,15 @@
return false;
}
- private void storeLegacyRequestMap(int clientRequestId, int transactionId,
+ private ClientRequest storeLegacyRequestMap(int clientRequestId, int transactionId,
ClientInfo clientInfo, int what, long startTimeMs) {
- clientInfo.mClientRequests.put(clientRequestId,
- new LegacyClientRequest(transactionId, what, startTimeMs));
+ final LegacyClientRequest request =
+ new LegacyClientRequest(transactionId, what, startTimeMs);
+ clientInfo.mClientRequests.put(clientRequestId, request);
mTransactionIdToClientInfoMap.put(transactionId, clientInfo);
// Remove the cleanup event because here comes a new request.
cancelStop();
+ return request;
}
private void storeAdvertiserRequestMap(int clientRequestId, int transactionId,
@@ -758,13 +760,15 @@
}
}
- private void storeDiscoveryManagerRequestMap(int clientRequestId, int transactionId,
- MdnsListener listener, ClientInfo clientInfo,
+ private ClientRequest storeDiscoveryManagerRequestMap(int clientRequestId,
+ int transactionId, MdnsListener listener, ClientInfo clientInfo,
@Nullable Network requestedNetwork) {
- clientInfo.mClientRequests.put(clientRequestId, new DiscoveryManagerRequest(
- transactionId, listener, requestedNetwork, mClock.elapsedRealtime()));
+ final DiscoveryManagerRequest request = new DiscoveryManagerRequest(transactionId,
+ listener, requestedNetwork, mClock.elapsedRealtime());
+ clientInfo.mClientRequests.put(clientRequestId, request);
mTransactionIdToClientInfoMap.put(transactionId, clientInfo);
updateMulticastLock();
+ return request;
}
/**
@@ -806,8 +810,8 @@
}
if (requestLimitReached(clientInfo)) {
- clientInfo.onDiscoverServicesFailedImmediately(
- clientRequestId, NsdManager.FAILURE_MAX_LIMIT);
+ clientInfo.onDiscoverServicesFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_MAX_LIMIT, true /* isLegacy */);
break;
}
@@ -821,8 +825,8 @@
|| mDeps.isMdnsDiscoveryManagerEnabled(mContext)
|| useDiscoveryManagerForType(serviceType)) {
if (serviceType == null) {
- clientInfo.onDiscoverServicesFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ clientInfo.onDiscoverServicesFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, false /* isLegacy */);
break;
}
@@ -842,10 +846,10 @@
}
mMdnsDiscoveryManager.registerListener(
listenServiceType, listener, optionsBuilder.build());
- storeDiscoveryManagerRequestMap(clientRequestId, transactionId,
- listener, clientInfo, info.getNetwork());
- clientInfo.onDiscoverServicesStarted(
- clientRequestId, info, transactionId);
+ final ClientRequest request = storeDiscoveryManagerRequestMap(
+ clientRequestId, transactionId, listener, clientInfo,
+ info.getNetwork());
+ clientInfo.onDiscoverServicesStarted(clientRequestId, info, request);
clientInfo.log("Register a DiscoveryListener " + transactionId
+ " for service type:" + listenServiceType);
} else {
@@ -855,14 +859,15 @@
Log.d(TAG, "Discover " + msg.arg2 + " " + transactionId
+ info.getServiceType());
}
- storeLegacyRequestMap(clientRequestId, transactionId, clientInfo,
- msg.what, mClock.elapsedRealtime());
+ final ClientRequest request = storeLegacyRequestMap(clientRequestId,
+ transactionId, clientInfo, msg.what,
+ mClock.elapsedRealtime());
clientInfo.onDiscoverServicesStarted(
- clientRequestId, info, transactionId);
+ clientRequestId, info, request);
} else {
stopServiceDiscovery(transactionId);
- clientInfo.onDiscoverServicesFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ clientInfo.onDiscoverServicesFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */);
}
}
break;
@@ -918,8 +923,8 @@
}
if (requestLimitReached(clientInfo)) {
- clientInfo.onRegisterServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_MAX_LIMIT);
+ clientInfo.onRegisterServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_MAX_LIMIT, true /* isLegacy */);
break;
}
@@ -934,8 +939,8 @@
|| useAdvertiserForType(registerServiceType)) {
if (registerServiceType == null) {
Log.e(TAG, "Invalid service type: " + serviceType);
- clientInfo.onRegisterServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ clientInfo.onRegisterServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, false /* isLegacy */);
break;
}
serviceInfo.setServiceType(registerServiceType);
@@ -962,8 +967,8 @@
// Return success after mDns reports success
} else {
unregisterService(transactionId);
- clientInfo.onRegisterServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ clientInfo.onRegisterServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */);
}
}
@@ -992,18 +997,15 @@
// Note isMdnsAdvertiserEnabled may have changed to false at this point,
// so this needs to check the type of the original request to unregister
// instead of looking at the flag value.
- final long stopTimeMs = mClock.elapsedRealtime();
if (request instanceof AdvertiserClientRequest) {
final AdvertiserMetrics metrics =
mAdvertiser.getAdvertiserMetrics(transactionId);
mAdvertiser.removeService(transactionId);
- clientInfo.onUnregisterServiceSucceeded(clientRequestId, transactionId,
- request.calculateRequestDurationMs(stopTimeMs), metrics);
+ clientInfo.onUnregisterServiceSucceeded(
+ clientRequestId, request, metrics);
} else {
if (unregisterService(transactionId)) {
- clientInfo.onUnregisterServiceSucceeded(clientRequestId,
- transactionId,
- request.calculateRequestDurationMs(stopTimeMs),
+ clientInfo.onUnregisterServiceSucceeded(clientRequestId, request,
new AdvertiserMetrics(NO_PACKET /* repliedRequestsCount */,
NO_PACKET /* sentPacketCount */,
0 /* conflictDuringProbingCount */,
@@ -1037,8 +1039,8 @@
|| mDeps.isMdnsDiscoveryManagerEnabled(mContext)
|| useDiscoveryManagerForType(serviceType)) {
if (serviceType == null) {
- clientInfo.onResolveServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ clientInfo.onResolveServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, false /* isLegacy */);
break;
}
final String resolveServiceType = serviceType + ".local";
@@ -1060,8 +1062,8 @@
+ " for service type:" + resolveServiceType);
} else {
if (clientInfo.mResolvedService != null) {
- clientInfo.onResolveServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_ALREADY_ACTIVE);
+ clientInfo.onResolveServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_ALREADY_ACTIVE, true /* isLegacy */);
break;
}
@@ -1071,8 +1073,8 @@
storeLegacyRequestMap(clientRequestId, transactionId, clientInfo,
msg.what, mClock.elapsedRealtime());
} else {
- clientInfo.onResolveServiceFailedImmediately(
- clientRequestId, NsdManager.FAILURE_INTERNAL_ERROR);
+ clientInfo.onResolveServiceFailedImmediately(clientRequestId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */);
}
}
break;
@@ -1282,21 +1284,21 @@
}
case IMDnsEventListener.SERVICE_DISCOVERY_FAILED:
clientInfo.onDiscoverServicesFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
break;
case IMDnsEventListener.SERVICE_REGISTERED: {
final RegistrationInfo info = (RegistrationInfo) obj;
final String name = info.serviceName;
servInfo = new NsdServiceInfo(name, null /* serviceType */);
- clientInfo.onRegisterServiceSucceeded(clientRequestId, servInfo,
- transactionId,
- request.calculateRequestDurationMs(mClock.elapsedRealtime()));
+ clientInfo.onRegisterServiceSucceeded(clientRequestId, servInfo, request);
break;
}
case IMDnsEventListener.SERVICE_REGISTRATION_FAILED:
clientInfo.onRegisterServiceFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
break;
case IMDnsEventListener.SERVICE_RESOLVED: {
@@ -1334,7 +1336,8 @@
NsdManager.RESOLVE_SERVICE, request.mStartTimeMs);
} else {
clientInfo.onResolveServiceFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
clientInfo.mResolvedService = null;
}
@@ -1345,7 +1348,8 @@
stopResolveService(transactionId);
removeRequestMap(clientRequestId, transactionId, clientInfo);
clientInfo.onResolveServiceFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
clientInfo.mResolvedService = null;
break;
@@ -1354,7 +1358,8 @@
stopGetAddrInfo(transactionId);
removeRequestMap(clientRequestId, transactionId, clientInfo);
clientInfo.onResolveServiceFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
clientInfo.mResolvedService = null;
break;
@@ -1381,7 +1386,8 @@
clientRequestId, clientInfo.mResolvedService, request);
} else {
clientInfo.onResolveServiceFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, true /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
}
stopGetAddrInfo(transactionId);
@@ -1498,7 +1504,8 @@
} else {
// No address. Notify resolution failure.
clientInfo.onResolveServiceFailed(clientRequestId,
- NsdManager.FAILURE_INTERNAL_ERROR, transactionId,
+ NsdManager.FAILURE_INTERNAL_ERROR, false /* isLegacy */,
+ transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
}
@@ -1799,9 +1806,8 @@
/**
* @see NetworkNsdReportedMetrics
*/
- public NetworkNsdReportedMetrics makeNetworkNsdReportedMetrics(
- boolean isLegacy, int clientId) {
- return new NetworkNsdReportedMetrics(isLegacy, clientId);
+ public NetworkNsdReportedMetrics makeNetworkNsdReportedMetrics(int clientId) {
+ return new NetworkNsdReportedMetrics(clientId);
}
/**
@@ -1961,8 +1967,7 @@
// historical behavior.
final NsdServiceInfo cbInfo = new NsdServiceInfo(registeredInfo.getServiceName(), null);
final ClientRequest request = clientInfo.mClientRequests.get(clientRequestId);
- clientInfo.onRegisterServiceSucceeded(clientRequestId, cbInfo, transactionId,
- request.calculateRequestDurationMs(mClock.elapsedRealtime()));
+ clientInfo.onRegisterServiceSucceeded(clientRequestId, cbInfo, request);
}
@Override
@@ -1973,8 +1978,8 @@
final int clientRequestId = getClientRequestIdOrLog(clientInfo, transactionId);
if (clientRequestId < 0) return;
final ClientRequest request = clientInfo.mClientRequests.get(clientRequestId);
- clientInfo.onRegisterServiceFailed(clientRequestId, errorCode, transactionId,
- request.calculateRequestDurationMs(mClock.elapsedRealtime()));
+ clientInfo.onRegisterServiceFailed(clientRequestId, errorCode, false /* isLegacy */,
+ transactionId, request.calculateRequestDurationMs(mClock.elapsedRealtime()));
}
@Override
@@ -2491,14 +2496,14 @@
if (request instanceof DiscoveryManagerRequest) {
final MdnsListener listener = unregisterMdnsListenerFromRequest(request);
if (listener instanceof DiscoveryListener) {
- mMetrics.reportServiceDiscoveryStop(transactionId,
+ mMetrics.reportServiceDiscoveryStop(false /* isLegacy */, transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()),
request.getFoundServiceCount(),
request.getLostServiceCount(),
request.getServicesCount(),
request.getSentQueryCount());
} else if (listener instanceof ResolutionListener) {
- mMetrics.reportServiceResolutionStop(transactionId,
+ mMetrics.reportServiceResolutionStop(false /* isLegacy */, transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
} else if (listener instanceof ServiceInfoListener) {
mMetrics.reportServiceInfoCallbackUnregistered(transactionId,
@@ -2515,7 +2520,7 @@
final AdvertiserMetrics metrics =
mAdvertiser.getAdvertiserMetrics(transactionId);
mAdvertiser.removeService(transactionId);
- mMetrics.reportServiceUnregistration(transactionId,
+ mMetrics.reportServiceUnregistration(false /* isLegacy */, transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()),
metrics.mRepliedRequestsCount, metrics.mSentPacketCount,
metrics.mConflictDuringProbingCount,
@@ -2530,7 +2535,7 @@
switch (((LegacyClientRequest) request).mRequestCode) {
case NsdManager.DISCOVER_SERVICES:
stopServiceDiscovery(transactionId);
- mMetrics.reportServiceDiscoveryStop(transactionId,
+ mMetrics.reportServiceDiscoveryStop(true /* isLegacy */, transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()),
request.getFoundServiceCount(),
request.getLostServiceCount(),
@@ -2539,12 +2544,12 @@
break;
case NsdManager.RESOLVE_SERVICE:
stopResolveService(transactionId);
- mMetrics.reportServiceResolutionStop(transactionId,
+ mMetrics.reportServiceResolutionStop(true /* isLegacy */, transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
break;
case NsdManager.REGISTER_SERVICE:
unregisterService(transactionId);
- mMetrics.reportServiceUnregistration(transactionId,
+ mMetrics.reportServiceUnregistration(true /* isLegacy */, transactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()),
NO_PACKET /* repliedRequestsCount */,
NO_PACKET /* sentPacketCount */,
@@ -2593,21 +2598,29 @@
mClientLogs.log(message);
}
- void onDiscoverServicesStarted(int listenerKey, NsdServiceInfo info, int transactionId) {
- mMetrics.reportServiceDiscoveryStarted(transactionId);
+ private static boolean isLegacyClientRequest(@NonNull ClientRequest request) {
+ return !(request instanceof DiscoveryManagerRequest)
+ && !(request instanceof AdvertiserClientRequest);
+ }
+
+ void onDiscoverServicesStarted(int listenerKey, NsdServiceInfo info,
+ ClientRequest request) {
+ mMetrics.reportServiceDiscoveryStarted(
+ isLegacyClientRequest(request), request.mTransactionId);
try {
mCb.onDiscoverServicesStarted(listenerKey, info);
} catch (RemoteException e) {
Log.e(TAG, "Error calling onDiscoverServicesStarted", e);
}
}
- void onDiscoverServicesFailedImmediately(int listenerKey, int error) {
- onDiscoverServicesFailed(listenerKey, error, NO_TRANSACTION, 0L /* durationMs */);
+ void onDiscoverServicesFailedImmediately(int listenerKey, int error, boolean isLegacy) {
+ onDiscoverServicesFailed(listenerKey, error, isLegacy, NO_TRANSACTION,
+ 0L /* durationMs */);
}
- void onDiscoverServicesFailed(int listenerKey, int error, int transactionId,
- long durationMs) {
- mMetrics.reportServiceDiscoveryFailed(transactionId, durationMs);
+ void onDiscoverServicesFailed(int listenerKey, int error, boolean isLegacy,
+ int transactionId, long durationMs) {
+ mMetrics.reportServiceDiscoveryFailed(isLegacy, transactionId, durationMs);
try {
mCb.onDiscoverServicesFailed(listenerKey, error);
} catch (RemoteException e) {
@@ -2643,6 +2656,7 @@
void onStopDiscoverySucceeded(int listenerKey, ClientRequest request) {
mMetrics.reportServiceDiscoveryStop(
+ isLegacyClientRequest(request),
request.mTransactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()),
request.getFoundServiceCount(),
@@ -2656,13 +2670,14 @@
}
}
- void onRegisterServiceFailedImmediately(int listenerKey, int error) {
- onRegisterServiceFailed(listenerKey, error, NO_TRANSACTION, 0L /* durationMs */);
+ void onRegisterServiceFailedImmediately(int listenerKey, int error, boolean isLegacy) {
+ onRegisterServiceFailed(listenerKey, error, isLegacy, NO_TRANSACTION,
+ 0L /* durationMs */);
}
- void onRegisterServiceFailed(int listenerKey, int error, int transactionId,
- long durationMs) {
- mMetrics.reportServiceRegistrationFailed(transactionId, durationMs);
+ void onRegisterServiceFailed(int listenerKey, int error, boolean isLegacy,
+ int transactionId, long durationMs) {
+ mMetrics.reportServiceRegistrationFailed(isLegacy, transactionId, durationMs);
try {
mCb.onRegisterServiceFailed(listenerKey, error);
} catch (RemoteException e) {
@@ -2670,9 +2685,11 @@
}
}
- void onRegisterServiceSucceeded(int listenerKey, NsdServiceInfo info, int transactionId,
- long durationMs) {
- mMetrics.reportServiceRegistrationSucceeded(transactionId, durationMs);
+ void onRegisterServiceSucceeded(int listenerKey, NsdServiceInfo info,
+ ClientRequest request) {
+ mMetrics.reportServiceRegistrationSucceeded(isLegacyClientRequest(request),
+ request.mTransactionId,
+ request.calculateRequestDurationMs(mClock.elapsedRealtime()));
try {
mCb.onRegisterServiceSucceeded(listenerKey, info);
} catch (RemoteException e) {
@@ -2688,9 +2705,11 @@
}
}
- void onUnregisterServiceSucceeded(int listenerKey, int transactionId, long durationMs,
+ void onUnregisterServiceSucceeded(int listenerKey, ClientRequest request,
AdvertiserMetrics metrics) {
- mMetrics.reportServiceUnregistration(transactionId, durationMs,
+ mMetrics.reportServiceUnregistration(isLegacyClientRequest(request),
+ request.mTransactionId,
+ request.calculateRequestDurationMs(mClock.elapsedRealtime()),
metrics.mRepliedRequestsCount, metrics.mSentPacketCount,
metrics.mConflictDuringProbingCount, metrics.mConflictAfterProbingCount);
try {
@@ -2700,13 +2719,14 @@
}
}
- void onResolveServiceFailedImmediately(int listenerKey, int error) {
- onResolveServiceFailed(listenerKey, error, NO_TRANSACTION, 0L /* durationMs */);
+ void onResolveServiceFailedImmediately(int listenerKey, int error, boolean isLegacy) {
+ onResolveServiceFailed(listenerKey, error, isLegacy, NO_TRANSACTION,
+ 0L /* durationMs */);
}
- void onResolveServiceFailed(int listenerKey, int error, int transactionId,
- long durationMs) {
- mMetrics.reportServiceResolutionFailed(transactionId, durationMs);
+ void onResolveServiceFailed(int listenerKey, int error, boolean isLegacy,
+ int transactionId, long durationMs) {
+ mMetrics.reportServiceResolutionFailed(isLegacy, transactionId, durationMs);
try {
mCb.onResolveServiceFailed(listenerKey, error);
} catch (RemoteException e) {
@@ -2717,6 +2737,7 @@
void onResolveServiceSucceeded(int listenerKey, NsdServiceInfo info,
ClientRequest request) {
mMetrics.reportServiceResolved(
+ isLegacyClientRequest(request),
request.mTransactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()),
request.isServiceFromCache(),
@@ -2738,6 +2759,7 @@
void onStopResolutionSucceeded(int listenerKey, ClientRequest request) {
mMetrics.reportServiceResolutionStop(
+ isLegacyClientRequest(request),
request.mTransactionId,
request.calculateRequestDurationMs(mClock.elapsedRealtime()));
try {
diff --git a/tests/unit/java/com/android/metrics/NetworkNsdReportedMetricsTest.kt b/tests/unit/java/com/android/metrics/NetworkNsdReportedMetricsTest.kt
index a82e29b..3f6e88d 100644
--- a/tests/unit/java/com/android/metrics/NetworkNsdReportedMetricsTest.kt
+++ b/tests/unit/java/com/android/metrics/NetworkNsdReportedMetricsTest.kt
@@ -49,8 +49,8 @@
val clientId = 99
val transactionId = 100
val durationMs = 10L
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
- metrics.reportServiceRegistrationSucceeded(transactionId, durationMs)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceRegistrationSucceeded(true /* isLegacy */, transactionId, durationMs)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -69,8 +69,8 @@
val clientId = 99
val transactionId = 100
val durationMs = 10L
- val metrics = NetworkNsdReportedMetrics(false /* isLegacy */, clientId, deps)
- metrics.reportServiceRegistrationFailed(transactionId, durationMs)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceRegistrationFailed(false /* isLegacy */, transactionId, durationMs)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -93,9 +93,10 @@
val sentPacketCount = 50
val conflictDuringProbingCount = 2
val conflictAfterProbingCount = 1
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
- metrics.reportServiceUnregistration(transactionId, durationMs, repliedRequestsCount,
- sentPacketCount, conflictDuringProbingCount, conflictAfterProbingCount)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceUnregistration(true /* isLegacy */, transactionId, durationMs,
+ repliedRequestsCount, sentPacketCount, conflictDuringProbingCount,
+ conflictAfterProbingCount)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -117,8 +118,8 @@
fun testReportServiceDiscoveryStarted() {
val clientId = 99
val transactionId = 100
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
- metrics.reportServiceDiscoveryStarted(transactionId)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceDiscoveryStarted(true /* isLegacy */, transactionId)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -136,8 +137,8 @@
val clientId = 99
val transactionId = 100
val durationMs = 10L
- val metrics = NetworkNsdReportedMetrics(false /* isLegacy */, clientId, deps)
- metrics.reportServiceDiscoveryFailed(transactionId, durationMs)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceDiscoveryFailed(false /* isLegacy */, transactionId, durationMs)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -160,9 +161,9 @@
val lostCallbackCount = 49
val servicesCount = 75
val sentQueryCount = 150
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
- metrics.reportServiceDiscoveryStop(transactionId, durationMs, foundCallbackCount,
- lostCallbackCount, servicesCount, sentQueryCount)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceDiscoveryStop(true /* isLegacy */, transactionId, durationMs,
+ foundCallbackCount, lostCallbackCount, servicesCount, sentQueryCount)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -187,9 +188,9 @@
val transactionId = 100
val durationMs = 10L
val sentQueryCount = 0
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
- metrics.reportServiceResolved(transactionId, durationMs, true /* isServiceFromCache */,
- sentQueryCount)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceResolved(true /* isLegacy */, transactionId, durationMs,
+ true /* isServiceFromCache */, sentQueryCount)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -210,8 +211,8 @@
val clientId = 99
val transactionId = 100
val durationMs = 10L
- val metrics = NetworkNsdReportedMetrics(false /* isLegacy */, clientId, deps)
- metrics.reportServiceResolutionFailed(transactionId, durationMs)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceResolutionFailed(false /* isLegacy */, transactionId, durationMs)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -230,8 +231,8 @@
val clientId = 99
val transactionId = 100
val durationMs = 10L
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
- metrics.reportServiceResolutionStop(transactionId, durationMs)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
+ metrics.reportServiceResolutionStop(true /* isLegacy */, transactionId, durationMs)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
@@ -249,7 +250,7 @@
fun testReportServiceInfoCallbackRegistered() {
val clientId = 99
val transactionId = 100
- val metrics = NetworkNsdReportedMetrics(false /* isLegacy */, clientId, deps)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
metrics.reportServiceInfoCallbackRegistered(transactionId)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
@@ -267,13 +268,13 @@
fun testReportServiceInfoCallbackRegistrationFailed() {
val clientId = 99
val transactionId = 100
- val metrics = NetworkNsdReportedMetrics(true /* isLegacy */, clientId, deps)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
metrics.reportServiceInfoCallbackRegistrationFailed(transactionId)
val eventCaptor = ArgumentCaptor.forClass(NetworkNsdReported::class.java)
verify(deps).statsWrite(eventCaptor.capture())
eventCaptor.value.let {
- assertTrue(it.isLegacy)
+ assertFalse(it.isLegacy)
assertEquals(clientId, it.clientId)
assertEquals(transactionId, it.transactionId)
assertEquals(NsdEventType.NET_SERVICE_INFO_CALLBACK, it.type)
@@ -290,7 +291,7 @@
val updateCallbackCount = 100
val lostCallbackCount = 10
val sentQueryCount = 150
- val metrics = NetworkNsdReportedMetrics(false /* isLegacy */, clientId, deps)
+ val metrics = NetworkNsdReportedMetrics(clientId, deps)
metrics.reportServiceInfoCallbackUnregistered(transactionId, durationMs,
updateCallbackCount, lostCallbackCount, false /* isServiceFromCache */,
sentQueryCount)
diff --git a/tests/unit/java/com/android/server/NsdServiceTest.java b/tests/unit/java/com/android/server/NsdServiceTest.java
index d32a9c0..71bd330 100644
--- a/tests/unit/java/com/android/server/NsdServiceTest.java
+++ b/tests/unit/java/com/android/server/NsdServiceTest.java
@@ -49,7 +49,6 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.argThat;
@@ -227,7 +226,7 @@
doReturn(DEFAULT_RUNNING_APP_ACTIVE_IMPORTANCE_CUTOFF).when(mDeps).getDeviceConfigInt(
eq(NsdService.MDNS_CONFIG_RUNNING_APP_ACTIVE_IMPORTANCE_CUTOFF), anyInt());
doReturn(mAdvertiser).when(mDeps).makeMdnsAdvertiser(any(), any(), any(), any(), any());
- doReturn(mMetrics).when(mDeps).makeNetworkNsdReportedMetrics(anyBoolean(), anyInt());
+ doReturn(mMetrics).when(mDeps).makeNetworkNsdReportedMetrics(anyInt());
doReturn(mClock).when(mDeps).makeClock();
doReturn(TEST_TIME_MS).when(mClock).elapsedRealtime();
mService = makeService();
@@ -412,7 +411,7 @@
// this needs to use a timeout
verify(discListener, timeout(TIMEOUT_MS)).onDiscoveryStarted(SERVICE_TYPE);
final int discId = discIdCaptor.getValue();
- verify(mMetrics).reportServiceDiscoveryStarted(discId);
+ verify(mMetrics).reportServiceDiscoveryStarted(true /* isLegacy */, discId);
final DiscoveryInfo discoveryInfo = new DiscoveryInfo(
discId,
@@ -481,7 +480,7 @@
final ArgumentCaptor<NsdServiceInfo> resInfoCaptor =
ArgumentCaptor.forClass(NsdServiceInfo.class);
verify(resolveListener, timeout(TIMEOUT_MS)).onServiceResolved(resInfoCaptor.capture());
- verify(mMetrics).reportServiceResolved(getAddrId, 10L /* durationMs */,
+ verify(mMetrics).reportServiceResolved(true /* isLegacy */, getAddrId, 10L /* durationMs */,
false /* isServiceFromCache */, 0 /* sentQueryCount */);
final NsdServiceInfo resolvedService = resInfoCaptor.getValue();
@@ -509,7 +508,7 @@
// this needs to use a timeout
verify(discListener, timeout(TIMEOUT_MS)).onDiscoveryStarted(SERVICE_TYPE);
final int discId = discIdCaptor.getValue();
- verify(mMetrics).reportServiceDiscoveryStarted(discId);
+ verify(mMetrics).reportServiceDiscoveryStarted(true /* isLegacy */, discId);
final DiscoveryInfo discoveryInfo = new DiscoveryInfo(
discId,
@@ -559,7 +558,8 @@
.onServiceRegistered(registeredInfoCaptor.capture());
final NsdServiceInfo registeredInfo = registeredInfoCaptor.getValue();
assertEquals(SERVICE_NAME, registeredInfo.getServiceName());
- verify(mMetrics).reportServiceRegistrationSucceeded(regId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceRegistrationSucceeded(
+ true /* isLegacy */, regId, 10L /* durationMs */);
// Fail to register service.
final RegistrationInfo registrationFailedInfo = new RegistrationInfo(
@@ -574,7 +574,8 @@
eventListener.onServiceRegistrationStatus(registrationFailedInfo);
verify(regListener, timeout(TIMEOUT_MS))
.onRegistrationFailed(any(), eq(FAILURE_INTERNAL_ERROR));
- verify(mMetrics).reportServiceRegistrationFailed(regId, 20L /* durationMs */);
+ verify(mMetrics).reportServiceRegistrationFailed(
+ true /* isLegacy */, regId, 20L /* durationMs */);
}
@Test
@@ -590,7 +591,7 @@
verify(mMockMDnsM).discover(discIdCaptor.capture(), eq(SERVICE_TYPE), eq(IFACE_IDX_ANY));
verify(discListener, timeout(TIMEOUT_MS)).onDiscoveryStarted(SERVICE_TYPE);
final int discId = discIdCaptor.getValue();
- verify(mMetrics).reportServiceDiscoveryStarted(discId);
+ verify(mMetrics).reportServiceDiscoveryStarted(true /* isLegacy */, discId);
// Fail to discover service.
final DiscoveryInfo discoveryFailedInfo = new DiscoveryInfo(
@@ -605,7 +606,8 @@
eventListener.onServiceDiscoveryStatus(discoveryFailedInfo);
verify(discListener, timeout(TIMEOUT_MS))
.onStartDiscoveryFailed(SERVICE_TYPE, FAILURE_INTERNAL_ERROR);
- verify(mMetrics).reportServiceDiscoveryFailed(discId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceDiscoveryFailed(
+ true /* isLegacy */, discId, 10L /* durationMs */);
}
@Test
@@ -639,7 +641,8 @@
eventListener.onServiceResolutionStatus(resolutionFailedInfo);
verify(resolveListener, timeout(TIMEOUT_MS))
.onResolveFailed(any(), eq(FAILURE_INTERNAL_ERROR));
- verify(mMetrics).reportServiceResolutionFailed(resolvId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceResolutionFailed(
+ true /* isLegacy */, resolvId, 10L /* durationMs */);
}
@Test
@@ -689,7 +692,8 @@
eventListener.onGettingServiceAddressStatus(gettingAddrFailedInfo);
verify(resolveListener, timeout(TIMEOUT_MS))
.onResolveFailed(any(), eq(FAILURE_INTERNAL_ERROR));
- verify(mMetrics).reportServiceResolutionFailed(getAddrId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceResolutionFailed(
+ true /* isLegacy */, getAddrId, 10L /* durationMs */);
}
@Test
@@ -734,7 +738,8 @@
verify(resolveListener, timeout(TIMEOUT_MS)).onResolutionStopped(argThat(ns ->
request.getServiceName().equals(ns.getServiceName())
&& request.getServiceType().equals(ns.getServiceType())));
- verify(mMetrics).reportServiceResolutionStop(resolveId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceResolutionStop(
+ true /* isLegacy */, resolveId, 10L /* durationMs */);
}
@Test
@@ -805,7 +810,8 @@
verify(resolveListener, timeout(TIMEOUT_MS)).onResolutionStopped(argThat(ns ->
request.getServiceName().equals(ns.getServiceName())
&& request.getServiceType().equals(ns.getServiceType())));
- verify(mMetrics).reportServiceResolutionStop(getAddrId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceResolutionStop(
+ true /* isLegacy */, getAddrId, 10L /* durationMs */);
}
private void verifyUpdatedServiceInfo(NsdServiceInfo info, String serviceName,
@@ -996,7 +1002,7 @@
final MdnsListener listener = listenerCaptor.getValue();
final int discId = listener.mTransactionId;
- verify(mMetrics).reportServiceDiscoveryStarted(discId);
+ verify(mMetrics).reportServiceDiscoveryStarted(false /* isLegacy */, discId);
// Callbacks for query sent.
listener.onDiscoveryQuerySent(Collections.emptyList(), 1 /* transactionId */);
@@ -1050,9 +1056,9 @@
verify(mDiscoveryManager).unregisterListener(eq(serviceTypeWithLocalDomain), any());
verify(discListener, timeout(TIMEOUT_MS)).onDiscoveryStopped(SERVICE_TYPE);
verify(mSocketProvider, timeout(CLEANUP_DELAY_MS + TIMEOUT_MS)).requestStopWhenInactive();
- verify(mMetrics).reportServiceDiscoveryStop(discId, 10L /* durationMs */,
- 1 /* foundCallbackCount */, 1 /* lostCallbackCount */, 1 /* servicesCount */,
- 3 /* sentQueryCount */);
+ verify(mMetrics).reportServiceDiscoveryStop(false /* isLegacy */, discId,
+ 10L /* durationMs */, 1 /* foundCallbackCount */, 1 /* lostCallbackCount */,
+ 1 /* servicesCount */, 3 /* sentQueryCount */);
}
@Test
@@ -1068,8 +1074,8 @@
waitForIdle();
verify(discListener, timeout(TIMEOUT_MS))
.onStartDiscoveryFailed(invalidServiceType, FAILURE_INTERNAL_ERROR);
- verify(mMetrics, times(1))
- .reportServiceDiscoveryFailed(NO_TRANSACTION, 0L /* durationMs */);
+ verify(mMetrics, times(1)).reportServiceDiscoveryFailed(
+ false /* isLegacy */, NO_TRANSACTION, 0L /* durationMs */);
final String serviceTypeWithLocalDomain = SERVICE_TYPE + ".local";
client.discoverServices(
@@ -1077,8 +1083,8 @@
waitForIdle();
verify(discListener, timeout(TIMEOUT_MS))
.onStartDiscoveryFailed(serviceTypeWithLocalDomain, FAILURE_INTERNAL_ERROR);
- verify(mMetrics, times(2))
- .reportServiceDiscoveryFailed(NO_TRANSACTION, 0L /* durationMs */);
+ verify(mMetrics, times(2)).reportServiceDiscoveryFailed(
+ false /* isLegacy */, NO_TRANSACTION, 0L /* durationMs */);
final String serviceTypeWithoutTcpOrUdpEnding = "_test._com";
client.discoverServices(
@@ -1086,8 +1092,8 @@
waitForIdle();
verify(discListener, timeout(TIMEOUT_MS))
.onStartDiscoveryFailed(serviceTypeWithoutTcpOrUdpEnding, FAILURE_INTERNAL_ERROR);
- verify(mMetrics, times(3))
- .reportServiceDiscoveryFailed(NO_TRANSACTION, 0L /* durationMs */);
+ verify(mMetrics, times(3)).reportServiceDiscoveryFailed(
+ false /* isLegacy */, NO_TRANSACTION, 0L /* durationMs */);
}
@Test
@@ -1164,8 +1170,8 @@
final ArgumentCaptor<NsdServiceInfo> infoCaptor =
ArgumentCaptor.forClass(NsdServiceInfo.class);
verify(resolveListener, timeout(TIMEOUT_MS)).onServiceResolved(infoCaptor.capture());
- verify(mMetrics).reportServiceResolved(listener.mTransactionId, 10 /* durationMs */,
- true /* isServiceFromCache */, 0 /* sendQueryCount */);
+ verify(mMetrics).reportServiceResolved(false /* isLegacy */, listener.mTransactionId,
+ 10 /* durationMs */, true /* isServiceFromCache */, 0 /* sendQueryCount */);
final NsdServiceInfo info = infoCaptor.getValue();
assertEquals(SERVICE_NAME, info.getServiceName());
@@ -1309,7 +1315,8 @@
verify(regListener, timeout(TIMEOUT_MS)).onServiceRegistered(argThat(info -> matches(info,
new NsdServiceInfo(regInfo.getServiceName(), null))));
- verify(mMetrics).reportServiceRegistrationSucceeded(regId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceRegistrationSucceeded(
+ false /* isLegacy */, regId, 10L /* durationMs */);
final MdnsAdvertiser.AdvertiserMetrics metrics = new MdnsAdvertiser.AdvertiserMetrics(
50 /* repliedRequestCount */, 100 /* sentPacketCount */,
@@ -1322,8 +1329,8 @@
verify(regListener, timeout(TIMEOUT_MS)).onServiceUnregistered(
argThat(info -> matches(info, regInfo)));
verify(mSocketProvider, timeout(TIMEOUT_MS)).requestStopWhenInactive();
- verify(mMetrics).reportServiceUnregistration(regId, 100L /* durationMs */,
- 50 /* repliedRequestCount */, 100 /* sentPacketCount */,
+ verify(mMetrics).reportServiceUnregistration(false /* isLegacy */, regId,
+ 100L /* durationMs */, 50 /* repliedRequestCount */, 100 /* sentPacketCount */,
3 /* conflictDuringProbingCount */, 2 /* conflictAfterProbingCount */);
}
@@ -1350,7 +1357,8 @@
verify(regListener, timeout(TIMEOUT_MS)).onRegistrationFailed(
argThat(info -> matches(info, regInfo)), eq(FAILURE_INTERNAL_ERROR));
- verify(mMetrics).reportServiceRegistrationFailed(NO_TRANSACTION, 0L /* durationMs */);
+ verify(mMetrics).reportServiceRegistrationFailed(
+ false /* isLegacy */, NO_TRANSACTION, 0L /* durationMs */);
}
@Test
@@ -1386,7 +1394,8 @@
verify(regListener, timeout(TIMEOUT_MS)).onServiceRegistered(
argThat(info -> matches(info, new NsdServiceInfo(regInfo.getServiceName(), null))));
- verify(mMetrics).reportServiceRegistrationSucceeded(regId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceRegistrationSucceeded(
+ false /* isLegacy */, regId, 10L /* durationMs */);
}
@Test
@@ -1426,7 +1435,8 @@
request.getServiceName().equals(ns.getServiceName())
&& request.getServiceType().equals(ns.getServiceType())));
verify(mSocketProvider, timeout(CLEANUP_DELAY_MS + TIMEOUT_MS)).requestStopWhenInactive();
- verify(mMetrics).reportServiceResolutionStop(listener.mTransactionId, 10L /* durationMs */);
+ verify(mMetrics).reportServiceResolutionStop(
+ false /* isLegacy */, listener.mTransactionId, 10L /* durationMs */);
}
@Test