diff options
author | Vova Sharaienko <sharaienko@google.com> | 2023-11-04 03:49:14 +0000 |
---|---|---|
committer | Vova Sharaienko <sharaienko@google.com> | 2023-12-01 21:46:09 +0000 |
commit | bccdadfd8aca4f855a7b8a912cad4d05f28f2516 (patch) | |
tree | df12695184cc5ff7bec6f8739774f18823067794 /tests/src/android | |
parent | a1bc6a249f8a2db878ff42aaffc6f37c5e2ceef4 (diff) | |
download | StatsD-bccdadfd8aca4f855a7b8a912cad4d05f28f2516.tar.gz |
[statsd] Added socket loss stats dump to proto
- added tests for Statsd libstatssocket loss stats
Bug: 296900300
Test: atest android.cts.statsd.metadata.MetadataTests
Change-Id: Id7f8548d35819bd7c73c73b4e69a242616eaa808
Diffstat (limited to 'tests/src/android')
-rw-r--r-- | tests/src/android/cts/statsd/metadata/MetadataTests.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/src/android/cts/statsd/metadata/MetadataTests.java b/tests/src/android/cts/statsd/metadata/MetadataTests.java index 6d834043..f912e81e 100644 --- a/tests/src/android/cts/statsd/metadata/MetadataTests.java +++ b/tests/src/android/cts/statsd/metadata/MetadataTests.java @@ -24,7 +24,11 @@ import com.android.os.AtomsProto.Atom; import com.android.os.StatsLog.StatsdStatsReport; import com.android.os.StatsLog.StatsdStatsReport.ConfigStats; import com.android.os.StatsLog.StatsdStatsReport.LogLossStats; +import com.android.os.StatsLog.StatsdStatsReport.SocketLossStats; +import com.android.os.StatsLog.StatsdStatsReport.SocketLossStats.LossStatsPerUid; +import com.android.os.StatsLog.StatsdStatsReport.SocketLossStats.LossStatsPerUid.AtomIdLossStats; import com.android.tradefed.log.LogUtil; +import java.util.HashSet; /** * Statsd Metadata tests. @@ -155,6 +159,51 @@ public class MetadataTests extends MetadataTestCase { assertThat(detectedLossEventForAppBreadcrumbAtom).isTrue(); assertThat(detectedLossEventForSystemServer).isFalse(); + + boolean detectedLossEventForAppBreadcrumbAtomViaSocketLossStats = false; + for (LossStatsPerUid lossStats : report.getSocketLossStats().getLossStatsPerUidList()) { + for (AtomIdLossStats atomLossStats : lossStats.getAtomIdLossStatsList()) { + if (atomLossStats.getAtomId() == Atom.APP_BREADCRUMB_REPORTED_FIELD_NUMBER) { + detectedLossEventForAppBreadcrumbAtomViaSocketLossStats = true; + } + } + } + + assertThat(detectedLossEventForAppBreadcrumbAtomViaSocketLossStats).isTrue(); + } + } + + /** Test libstatssocket logging queue atom id distribution collection */ + public void testAtomIdLossDistributionCollection() throws Exception { + if (!ApiLevelUtil.codenameEquals(getDevice(), "VanillaIceCream")) { + return; + } + + final String appTestApk = "StatsdAtomStormApp.apk"; + final String app2TestApk = "StatsdAtomStormApp2.apk"; + + final String appTestPkg = "com.android.statsd.app.atomstorm"; + final String app2TestPkg = "com.android.statsd.app.atomstorm.copy"; + + getDevice().uninstallPackage(appTestPkg); + getDevice().uninstallPackage(app2TestPkg); + installPackage(appTestApk, true); + installPackage(app2TestApk, true); + + // run reference test app with UID 1 + runDeviceTests(appTestPkg, null, null); + // run reference test app with UID 2 + runDeviceTests(app2TestPkg, null, null); + + StatsdStatsReport report = getStatsdStatsReport(); + assertThat(report).isNotNull(); + HashSet<Integer> reportedUids = new HashSet<Integer>(); + for (LossStatsPerUid lossStats : report.getSocketLossStats().getLossStatsPerUidList()) { + reportedUids.add(lossStats.getUid()); } + assertThat(reportedUids.size()).isGreaterThan(1); + + getDevice().uninstallPackage(appTestPkg); + getDevice().uninstallPackage(app2TestPkg); } } |