[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";