diff --git a/.ci.yaml b/.ci.yaml
index 7d90cc3..2817621 100644
--- a/.ci.yaml
+++ b/.ci.yaml
@@ -1957,6 +1957,17 @@
       task_name: new_gallery__crane_perf
     scheduler: luci
 
+  - name: Linux_android old_gallery__transition_perf
+    bringup: true
+    recipe: devicelab/devicelab_drone
+    presubmit: false
+    timeout: 60
+    properties:
+      tags: >
+        ["devicelab", "android", "linux"]
+      task_name: old_gallery__transition_perf
+    scheduler: luci
+
   - name: Linux_android new_gallery__transition_perf
     recipe: devicelab/devicelab_drone
     presubmit: false
diff --git a/TESTOWNERS b/TESTOWNERS
index 3a2d76c..ebba87b 100644
--- a/TESTOWNERS
+++ b/TESTOWNERS
@@ -64,6 +64,7 @@
 /dev/devicelab/bin/tasks/list_text_layout_impeller_perf__e2e_summary.dart @dnfield @flutter/engine
 /dev/devicelab/bin/tasks/multi_widget_construction_perf__e2e_summary.dart @zanderso @flutter/engine
 /dev/devicelab/bin/tasks/new_gallery__crane_perf.dart @zanderso @flutter/engine
+/dev/devicelab/bin/tasks/old_gallery__transition_perf.dart @jonahwilliams @flutter/engine
 /dev/devicelab/bin/tasks/picture_cache_perf__e2e_summary.dart @zanderso @flutter/engine
 /dev/devicelab/bin/tasks/platform_channels_benchmarks.dart @gaaclarke @flutter/engine
 /dev/devicelab/bin/tasks/platform_views_scroll_perf__timeline_summary.dart @zanderso @flutter/engine
diff --git a/dev/devicelab/bin/tasks/old_gallery__transition_perf.dart b/dev/devicelab/bin/tasks/old_gallery__transition_perf.dart
new file mode 100644
index 0000000..55f01bf
--- /dev/null
+++ b/dev/devicelab/bin/tasks/old_gallery__transition_perf.dart
@@ -0,0 +1,17 @@
+// Copyright 2014 The Flutter 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 'package:flutter_devicelab/framework/devices.dart';
+import 'package:flutter_devicelab/framework/framework.dart';
+import 'package:flutter_devicelab/framework/utils.dart';
+import 'package:flutter_devicelab/tasks/perf_tests.dart';
+
+void main() async {
+  deviceOperatingSystem = DeviceOperatingSystem.android;
+  await task(PerfTest(
+    '${flutterDirectory.path}/dev/integration_tests/flutter_gallery',
+    'test_driver/page_transitions_perf.dart',
+    'page_transition_perf',
+  ).run);
+}
diff --git a/dev/integration_tests/flutter_gallery/test_driver/page_transitions_perf.dart b/dev/integration_tests/flutter_gallery/test_driver/page_transitions_perf.dart
new file mode 100644
index 0000000..fd93bb5
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/test_driver/page_transitions_perf.dart
@@ -0,0 +1,14 @@
+// Copyright 2014 The Flutter 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 'package:flutter/material.dart';
+import 'package:flutter_driver/driver_extension.dart';
+import 'package:flutter_gallery/gallery/app.dart' show GalleryApp;
+
+void main() {
+  enableFlutterDriverExtension();
+  // As in lib/main.dart: overriding https://github.com/flutter/flutter/issues/13736
+  // for better visual effect at the cost of performance.
+  runApp(const GalleryApp(testMode: true));
+}
diff --git a/dev/integration_tests/flutter_gallery/test_driver/page_transitions_perf_test.dart b/dev/integration_tests/flutter_gallery/test_driver/page_transitions_perf_test.dart
new file mode 100644
index 0000000..0ef7ae4
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/test_driver/page_transitions_perf_test.dart
@@ -0,0 +1,39 @@
+// Copyright 2014 The Flutter 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 'package:flutter_driver/flutter_driver.dart';
+import 'package:test/test.dart' hide TypeMatcher, isInstanceOf;
+
+void main() {
+  group('page transition performance test', () {
+    late FlutterDriver driver;
+
+    setUpAll(() async {
+      driver = await FlutterDriver.connect();
+
+      await driver.waitUntilFirstFrameRasterized();
+    });
+
+    tearDownAll(() async {
+        driver.close();
+    });
+
+    test('measure', () async {
+      final Timeline timeline = await driver.traceAction(() async {
+        await driver.tap(find.text('Material'));
+
+        for (int i = 0; i < 10; i++) {
+          await driver.tap(find.text('Banner'));
+          await Future<void>.delayed(const Duration(milliseconds: 500));
+          await driver.waitFor(find.byTooltip('Back'));
+          await driver.tap(find.byTooltip('Back'));
+          await Future<void>.delayed(const Duration(milliseconds: 500));
+        }
+      });
+
+      final TimelineSummary summary = TimelineSummary.summarize(timeline);
+      await summary.writeTimelineToFile('page_transition_perf', pretty: true);
+    }, timeout: Timeout.none);
+  });
+}
