Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / perf / measurements / memory.py
index 788f63c..5c9d35c 100644 (file)
@@ -1,16 +1,19 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Copyright 2012 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.
 
 from metrics import memory
 from metrics import power
-from telemetry.page import page_measurement
+from telemetry.page import page_test
 
-class Memory(page_measurement.PageMeasurement):
+class Memory(page_test.PageTest):
   def __init__(self):
-    super(Memory, self).__init__('stress_memory')
+    super(Memory, self).__init__('RunStressMemory')
     self._memory_metric = None
-    self._power_metric = power.PowerMetric()
+    self._power_metric = None
+
+  def WillStartBrowser(self, platform):
+    self._power_metric = power.PowerMetric(platform)
 
   def DidStartBrowser(self, browser):
     self._memory_metric = memory.MemoryMetric(browser)
@@ -25,23 +28,8 @@ class Memory(page_measurement.PageMeasurement):
     # a high frequency.
     options.AppendExtraBrowserArgs('--memory-metrics')
 
-  def CanRunForPage(self, page):
-    return hasattr(page, 'stress_memory')
-
-  def MeasurePage(self, page, tab, results):
+  def ValidateAndMeasurePage(self, page, tab, results):
     self._power_metric.Stop(page, tab)
     self._memory_metric.Stop(page, tab)
     self._memory_metric.AddResults(tab, results)
     self._power_metric.AddResults(tab, results)
-
-    if tab.browser.is_profiler_active('tcmalloc-heap'):
-      # The tcmalloc_heap_profiler dumps files at regular
-      # intervals (~20 secs).
-      # This is a minor optimization to ensure it'll dump the last file when
-      # the test completes.
-      tab.ExecuteJavaScript("""
-        if (chrome && chrome.memoryBenchmarking) {
-          chrome.memoryBenchmarking.heapProfilerDump('renderer', 'final');
-          chrome.memoryBenchmarking.heapProfilerDump('browser', 'final');
-        }
-      """)