[B&A latency] Add segment to trace filtering latency per CA
Test: atest
Change-Id: Ibc5dc68ed985aadecd71b342c8e5778345c4c592
diff --git a/adservices/service-core/java/com/android/adservices/service/adselection/AdFiltererImpl.java b/adservices/service-core/java/com/android/adservices/service/adselection/AdFiltererImpl.java
index ae557ef..1eba340 100644
--- a/adservices/service-core/java/com/android/adservices/service/adselection/AdFiltererImpl.java
+++ b/adservices/service-core/java/com/android/adservices/service/adselection/AdFiltererImpl.java
@@ -69,7 +69,7 @@
*/
@Override
public List<DBCustomAudience> filterCustomAudiences(List<DBCustomAudience> cas) {
- final int traceCookie = Tracing.beginAsyncSection(Tracing.FILTERER_FILTER_CA);
+ final int filterCATraceCookie = Tracing.beginAsyncSection(Tracing.FILTERER_FILTER_CA);
try {
List<DBCustomAudience> toReturn = new ArrayList<>();
Instant currentTime = mClock.instant();
@@ -77,6 +77,8 @@
int totalAds = 0;
int remainingAds = 0;
for (DBCustomAudience ca : cas) {
+ final int forEachCATraceCookie =
+ Tracing.beginAsyncSection(Tracing.FILTERER_FOR_EACH_CA);
List<DBAdData> filteredAds = new ArrayList<>();
totalAds += ca.getAds().size();
for (DBAdData ad : ca.getAds()) {
@@ -89,6 +91,7 @@
toReturn.add(new DBCustomAudience.Builder(ca).setAds(filteredAds).build());
remainingAds += filteredAds.size();
}
+ Tracing.endAsyncSection(Tracing.FILTERER_FOR_EACH_CA, forEachCATraceCookie);
}
sLogger.v(
"Filtering finished. %d CAs of the original %d remain. "
@@ -96,7 +99,7 @@
toReturn.size(), cas.size(), remainingAds, totalAds);
return toReturn;
} finally {
- Tracing.endAsyncSection(Tracing.FILTERER_FILTER_CA, traceCookie);
+ Tracing.endAsyncSection(Tracing.FILTERER_FILTER_CA, filterCATraceCookie);
}
}
diff --git a/adservices/service-core/java/com/android/adservices/service/profiling/Tracing.java b/adservices/service-core/java/com/android/adservices/service/profiling/Tracing.java
index 1b927ce..3fc5706 100644
--- a/adservices/service-core/java/com/android/adservices/service/profiling/Tracing.java
+++ b/adservices/service-core/java/com/android/adservices/service/profiling/Tracing.java
@@ -25,6 +25,7 @@
public final class Tracing {
public static final String FILTERER_FILTER_CA = "AdFilterer#FilterCustomAudiences";
+ public static final String FILTERER_FOR_EACH_CA = "AdFilterer#ForEachCustomAudience";
public static final String FILTERER_FILTER_CONTEXTUAL = "AdFilterer#FilterContextualAds";
public static final String RUN_AD_SELECTION = "RunOnDeviceAdSelection";
public static final String PERSIST_AD_SELECTION = "PersistOnDeviceAdSelection";