summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Huang <jeffreyhuang@google.com>2021-12-13 02:32:07 -0800
committerJeffrey Huang <jeffreyhuang@google.com>2021-12-13 05:06:22 -0800
commit7ae98d1b432190255ed145c15ecc1a728900b2c7 (patch)
tree6e988b125466c7f49c762394de57482e17b7c19c
parent6067edc475cf5f2b66d9c2cc05e54084d3c1fd15 (diff)
downloadStatsD-7ae98d1b432190255ed145c15ecc1a728900b2c7.tar.gz
Fix GaugeMetricBackfill
Bug: 210365157 Test: atest GaugeMetricsTests Change-Id: Ic1227439373906c1734a8f8598633e72b95dae4f
-rw-r--r--tests/src/android/cts/statsd/atom/AtomTestCase.java21
-rw-r--r--tests/src/android/cts/statsd/metric/GaugeMetricsTests.java4
2 files changed, 18 insertions, 7 deletions
diff --git a/tests/src/android/cts/statsd/atom/AtomTestCase.java b/tests/src/android/cts/statsd/atom/AtomTestCase.java
index a4c43e07..1f33c202 100644
--- a/tests/src/android/cts/statsd/atom/AtomTestCase.java
+++ b/tests/src/android/cts/statsd/atom/AtomTestCase.java
@@ -404,17 +404,27 @@ public class AtomTestCase extends BaseTestCase {
return atomTimestamp.stream().map(p -> p.first).collect(Collectors.toList());
}
- protected void backfillGaugeMetricData(GaugeMetricDataWrapper dataWrapper) {
- for (GaugeMetricData gaugeMetricData : dataWrapper.getDataList()) {
+ protected GaugeMetricDataWrapper backfillGaugeMetricData(GaugeMetricDataWrapper dataWrapper) {
+ GaugeMetricDataWrapper.Builder dataWrapperBuilder = dataWrapper.toBuilder();
+ List<GaugeMetricData> backfilledMetricData = new ArrayList<>();
+ for (GaugeMetricData gaugeMetricData : dataWrapperBuilder.getDataList()) {
+ GaugeMetricData.Builder gaugeMetricDataBuilder = gaugeMetricData.toBuilder();
+ List<GaugeBucketInfo> backfilledBuckets = new ArrayList<>();
for (GaugeBucketInfo bucketInfo : gaugeMetricData.getBucketInfoList()) {
- backfillGaugeBucket(bucketInfo.toBuilder());
+ backfilledBuckets.add(backfillGaugeBucket(bucketInfo.toBuilder()));
}
+ gaugeMetricDataBuilder.clearBucketInfo();
+ gaugeMetricDataBuilder.addAllBucketInfo(backfilledBuckets);
+ backfilledMetricData.add(gaugeMetricDataBuilder.build());
}
+ dataWrapperBuilder.clearData();
+ dataWrapperBuilder.addAllData(backfilledMetricData);
+ return dataWrapperBuilder.build();
}
- private void backfillGaugeBucket(GaugeBucketInfo.Builder bucketInfoBuilder) {
+ private GaugeBucketInfo backfillGaugeBucket(GaugeBucketInfo.Builder bucketInfoBuilder) {
if (bucketInfoBuilder.getAtomCount() != 0) {
- return;
+ return bucketInfoBuilder.build();
}
List<Pair<Atom, Long>> atomTimestampData = new ArrayList<>();
for (StatsLog.AggregatedAtomInfo atomInfo : bucketInfoBuilder.getAggregatedAtomInfoList()) {
@@ -428,6 +438,7 @@ public class AtomTestCase extends BaseTestCase {
bucketInfoBuilder.addAtom(atomTimestamp.first);
bucketInfoBuilder.addElapsedTimestampNanos(atomTimestamp.second);
}
+ return bucketInfoBuilder.build();
}
/**
diff --git a/tests/src/android/cts/statsd/metric/GaugeMetricsTests.java b/tests/src/android/cts/statsd/metric/GaugeMetricsTests.java
index b5d6b83d..db6a818d 100644
--- a/tests/src/android/cts/statsd/metric/GaugeMetricsTests.java
+++ b/tests/src/android/cts/statsd/metric/GaugeMetricsTests.java
@@ -122,7 +122,7 @@ public class GaugeMetricsTests extends DeviceAtomTestCase {
assertThat(metricReport.getMetricId()).isEqualTo(MetricsUtils.GAUGE_METRIC_ID);
assertThat(metricReport.hasGaugeMetrics()).isTrue();
StatsLogReport.GaugeMetricDataWrapper gaugeData = metricReport.getGaugeMetrics();
- backfillGaugeMetricData(gaugeData);
+ gaugeData = backfillGaugeMetricData(gaugeData);
assertThat(gaugeData.getDataCount()).isEqualTo(1);
int bucketCount = gaugeData.getData(0).getBucketInfoCount();
@@ -321,7 +321,7 @@ public class GaugeMetricsTests extends DeviceAtomTestCase {
assertThat(metricReport.getIsActive()).isFalse();
StatsLogReport.GaugeMetricDataWrapper gaugeData = metricReport.getGaugeMetrics();
- backfillGaugeMetricData(gaugeData);
+ gaugeData = backfillGaugeMetricData(gaugeData);
assertThat(gaugeData.getDataCount()).isEqualTo(1);
assertThat(gaugeData.getData(0).getBucketInfoCount()).isEqualTo(2);