Merge "Backfill atom tests for new event metric format" am: 9706e6072f am: 291820727f
Original change: https://android-review.googlesource.com/c/platform/external/libtextclassifier/+/1922001
Change-Id: If86ad1c9cefcd16a97f4e0109d15024859f95bd5
diff --git a/java/tests/instrumentation/src/com/android/textclassifier/common/statsd/StatsdTestUtils.java b/java/tests/instrumentation/src/com/android/textclassifier/common/statsd/StatsdTestUtils.java
index 1bcd7b7..ffd2ee4 100644
--- a/java/tests/instrumentation/src/com/android/textclassifier/common/statsd/StatsdTestUtils.java
+++ b/java/tests/instrumentation/src/com/android/textclassifier/common/statsd/StatsdTestUtils.java
@@ -28,6 +28,7 @@
import com.android.internal.os.StatsdConfigProto.SimpleAtomMatcher;
import com.android.internal.os.StatsdConfigProto.StatsdConfig;
import com.android.os.AtomsProto.Atom;
+import com.android.os.StatsLog.AggregatedAtomInfo;
import com.android.os.StatsLog.ConfigMetricsReport;
import com.android.os.StatsLog.ConfigMetricsReportList;
import com.android.os.StatsLog.EventMetricData;
@@ -85,6 +86,8 @@
return ImmutableList.copyOf(
metricsList.stream()
.flatMap(statsLogReport -> statsLogReport.getEventMetrics().getDataList().stream())
+ .flatMap(eventMetricData -> backfillAggregatedAtomsinEventMetric(
+ eventMetricData).stream())
.sorted(Comparator.comparing(EventMetricData::getElapsedTimestampNanos))
.map(EventMetricData::getAtom)
.collect(Collectors.toList()));
@@ -131,4 +134,20 @@
/*input=*/ null);
return ConfigMetricsReportList.parser().parseFrom(new ByteArrayInputStream(output));
}
+
+ private static ImmutableList<EventMetricData> backfillAggregatedAtomsinEventMetric(
+ EventMetricData metricData) {
+ if (metricData.hasAtom()) {
+ return ImmutableList.of(metricData);
+ }
+ ImmutableList.Builder<EventMetricData> data = ImmutableList.builder();
+ AggregatedAtomInfo atomInfo = metricData.getAggregatedAtomInfo();
+ for (long timestamp : atomInfo.getElapsedTimestampNanosList()) {
+ EventMetricData.Builder newMetricData = EventMetricData.newBuilder();
+ newMetricData.setAtom(atomInfo.getAtom());
+ newMetricData.setElapsedTimestampNanos(timestamp);
+ data.add(newMetricData.build());
+ }
+ return data.build();
+ }
}