power_VideoCall: Send fps data to power_Dashboard

BUG=b:146021591
TEST=power_VideoCall.fast

Change-Id: Ia8942784a6a43fbeee8b975d46abe18fd6db176e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1975170
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
Auto-Submit: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Todd Broch <tbroch@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
diff --git a/client/cros/power/power_test.py b/client/cros/power/power_test.py
index 4017042..93f66f8 100644
--- a/client/cros/power/power_test.py
+++ b/client/cros/power/power_test.py
@@ -49,6 +49,7 @@
         self.status = power_status.get_status()
 
         self._checkpoint_logger = power_status.CheckpointLogger()
+        self._seconds_period = seconds_period
 
         measurements = []
         if not self.status.on_ac():
@@ -153,7 +154,7 @@
         core_keyvals = power_utils.get_core_keyvals(self.keyvals)
         self.write_perf_keyval(core_keyvals)
 
-    def _publish_dashboard(self):
+    def publish_dashboard(self):
         """Report results to chromeperf & power dashboard."""
 
         self.publish_keyvals()
@@ -196,7 +197,7 @@
         for log in self._meas_logs:
             log.done = True
         super(power_Test, self).postprocess_iteration()
-        self._publish_dashboard()
+        self.publish_dashboard()
         self._save_results()
 
     def cleanup(self):
diff --git a/client/site_tests/power_VideoCall/power_VideoCall.py b/client/site_tests/power_VideoCall/power_VideoCall.py
index 54cfe53..745deb3 100644
--- a/client/site_tests/power_VideoCall/power_VideoCall.py
+++ b/client/site_tests/power_VideoCall/power_VideoCall.py
@@ -7,6 +7,8 @@
 from autotest_lib.client.common_lib.cros import chrome
 from autotest_lib.client.common_lib.cros import power_load_util
 from autotest_lib.client.cros.input_playback import keyboard
+from autotest_lib.client.cros.power import power_dashboard
+from autotest_lib.client.cros.power import power_status
 from autotest_lib.client.cros.power import power_test
 
 
@@ -57,8 +59,22 @@
             tab_right.WaitForDocumentReadyStateToBeComplete()
             time.sleep(5)
 
+            self._vlog = power_status.VideoFpsLogger(tab_left,
+                seconds_period=self._seconds_period,
+                checkpoint_logger=self._checkpoint_logger)
+            self._meas_logs.append(self._vlog)
+
             # Start typing number block
             end_time = time.time() + duration
             self.start_measurements()
             while time.time() < end_time:
                 keys.press_key('number_block')
+
+    def publish_dashboard(self):
+        """Report results power dashboard."""
+        super(power_VideoCall, self).publish_dashboard()
+
+        vdash = power_dashboard.VideoFpsLoggerDashboard(
+            self._vlog, self.tagged_testname, self.resultsdir,
+            note=self._pdash_note)
+        vdash.upload()