migrate hot reload benchmark to the new devicelab framework (#5878)

diff --git a/dev/devicelab/bin/tasks/hot_mode_dev_cycle__benchmark.dart b/dev/devicelab/bin/tasks/hot_mode_dev_cycle__benchmark.dart
new file mode 100644
index 0000000..66dd522
--- /dev/null
+++ b/dev/devicelab/bin/tasks/hot_mode_dev_cycle__benchmark.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 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:io';
+
+import 'package:path/path.dart' as path;
+
+import 'package:flutter_devicelab/framework/adb.dart';
+import 'package:flutter_devicelab/framework/framework.dart';
+import 'package:flutter_devicelab/framework/utils.dart';
+
+void main() {
+  task(() async {
+    Adb device = await adb();
+    await device.unlock();
+    Directory appDir =
+        dir(path.join(flutterDirectory.path, 'examples/flutter_gallery'));
+    File benchmarkFile = file(path.join(appDir.path, 'hot_benchmark.json'));
+    rm(benchmarkFile);
+    await inDirectory(appDir, () async {
+      return await flutter('run',
+          options: <String>['--hot', '-d', device.deviceId, '--benchmark'],
+          canFail: false);
+    });
+    return new TaskResult.successFromFile(benchmarkFile,
+        benchmarkScoreKeys: <String>[
+          'hotReloadMillisecondsToFrame',
+          'hotRestartMillisecondsToFrame'
+        ]);
+  });
+}
diff --git a/dev/devicelab/manifest.yaml b/dev/devicelab/manifest.yaml
index 21afb54..80afa85 100644
--- a/dev/devicelab/manifest.yaml
+++ b/dev/devicelab/manifest.yaml
@@ -103,6 +103,12 @@
     stage: devicelab
     required_agent_capabilities: ["has-android-device"]
 
+  hot_mode_dev_cycle__benchmark:
+    description: >
+      Measures the performance of Dart VM hot patching feature.
+    stage: devicelab
+    required_agent_capabilities: ["has-android-device"]
+
 
   # iOS on-device tests