Add scroll performance test for flutter_gallery (#27513)
Previously, we had a scroll_perf drive test but we were not exercising
it on our device lab. This helps us tracking issues like:
https://github.com/flutter/flutter/issues/24782
diff --git a/dev/devicelab/bin/tasks/home_scroll_perf__timeline_summary.dart b/dev/devicelab/bin/tasks/home_scroll_perf__timeline_summary.dart
new file mode 100644
index 0000000..7c99884
--- /dev/null
+++ b/dev/devicelab/bin/tasks/home_scroll_perf__timeline_summary.dart
@@ -0,0 +1,14 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'dart:async';
+
+import 'package:flutter_devicelab/tasks/perf_tests.dart';
+import 'package:flutter_devicelab/framework/adb.dart';
+import 'package:flutter_devicelab/framework/framework.dart';
+
+Future<void> main() async {
+ deviceOperatingSystem = DeviceOperatingSystem.android;
+ await task(createHomeScrollPerfTest());
+}
diff --git a/dev/devicelab/lib/tasks/perf_tests.dart b/dev/devicelab/lib/tasks/perf_tests.dart
index ffce8bb..2132132 100644
--- a/dev/devicelab/lib/tasks/perf_tests.dart
+++ b/dev/devicelab/lib/tasks/perf_tests.dart
@@ -30,6 +30,14 @@
).run;
}
+TaskFunction createHomeScrollPerfTest() {
+ return PerfTest(
+ '${flutterDirectory.path}/examples/flutter_gallery',
+ 'test_driver/scroll_perf.dart',
+ 'home_scroll_perf',
+ ).run;
+}
+
TaskFunction createCullOpacityPerfTest() {
return PerfTest(
'${flutterDirectory.path}/dev/benchmarks/macrobenchmarks',
diff --git a/dev/devicelab/manifest.yaml b/dev/devicelab/manifest.yaml
index 2b56186..861d063 100644
--- a/dev/devicelab/manifest.yaml
+++ b/dev/devicelab/manifest.yaml
@@ -112,6 +112,14 @@
stage: devicelab
required_agent_capabilities: ["mac/android"]
+ home_scroll_perf__timeline_summary:
+ description: >
+ Measures the runtime performance of scrolling the material page in the
+ flutter_gallery app on Android.
+ stage: devicelab
+ required_agent_capabilities: ["mac/android"]
+ flaky: true
+
cull_opacity_perf__timeline_summary:
description: >
Measures the runtime performance of culling opacity widgets on Android.