| Index: tools/telemetry/telemetry/core/platform/profiler/android_screen_recorder_profiler.py
|
| diff --git a/tools/telemetry/telemetry/core/platform/profiler/android_memreport_profiler.py b/tools/telemetry/telemetry/core/platform/profiler/android_screen_recorder_profiler.py
|
| similarity index 50%
|
| copy from tools/telemetry/telemetry/core/platform/profiler/android_memreport_profiler.py
|
| copy to tools/telemetry/telemetry/core/platform/profiler/android_screen_recorder_profiler.py
|
| index 3bf680696d505f9d1984b764c9d70497d02a2518..1fcad70db53201a536735c60f92027326bfd9fa2 100644
|
| --- a/tools/telemetry/telemetry/core/platform/profiler/android_memreport_profiler.py
|
| +++ b/tools/telemetry/telemetry/core/platform/profiler/android_screen_recorder_profiler.py
|
| @@ -9,23 +9,21 @@ from telemetry.core import util
|
| from telemetry.core.backends.chrome import android_browser_finder
|
| from telemetry.core.platform import profiler
|
|
|
| -class AndroidMemReportProfiler(profiler.Profiler):
|
| - """Android-specific, collects 'memreport' graphs."""
|
| +class AndroidScreenRecordingProfiler(profiler.Profiler):
|
| + """Captures a screen recording on Android."""
|
|
|
| def __init__(self, browser_backend, platform_backend, output_path, state):
|
| - super(AndroidMemReportProfiler, self).__init__(
|
| + super(AndroidScreenRecordingProfiler, self).__init__(
|
| browser_backend, platform_backend, output_path, state)
|
| - self._html_file = output_path + '.html'
|
| - self._memreport = subprocess.Popen(
|
| - [os.path.join(util.GetChromiumSrcDir(),
|
| - 'tools', 'android', 'memdump', 'memreport.py'),
|
| - '--manual-graph', '--package', browser_backend.package],
|
| - stdout=file(self._html_file, 'w'),
|
| - stdin=subprocess.PIPE)
|
| + self._output_path = output_path + '.mp4'
|
| + self._recorder = subprocess.Popen(
|
| + [os.path.join(util.GetChromiumSrcDir(), 'build', 'android',
|
| + 'screenshot.py'), '--video', '--output',
|
| + self._output_path], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
|
|
|
| @classmethod
|
| def name(cls):
|
| - return 'android-memreport'
|
| + return 'android-screen-recorder'
|
|
|
| @classmethod
|
| def is_supported(cls, browser_type):
|
| @@ -34,8 +32,9 @@ class AndroidMemReportProfiler(profiler.Profiler):
|
| return browser_type.startswith('android')
|
|
|
| def CollectProfile(self):
|
| - self._memreport.communicate(input='\n')
|
| - self._memreport.wait()
|
| - print 'To view the memory report, open:'
|
| - print self._html_file
|
| - return [self._html_file]
|
| + self._recorder.communicate(input='\n')
|
| + self._recorder.wait()
|
| +
|
| + print 'Screen recording saved as %s' % self._output_path
|
| + print 'To view, open in Chrome or a video player'
|
| + return [self._output_path]
|
|
|