Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from metrics import Metric | 5 from metrics import Metric |
| 6 | 6 |
| 7 class LoadingMetric(Metric): | 7 class LoadingMetric(Metric): |
| 8 """A metric for page loading time based entirely on window.performance""" | 8 """A metric for page loading time based entirely on window.performance""" |
| 9 | 9 |
| 10 def Start(self, page, tab): | 10 def Start(self, page, tab): |
| 11 raise NotImplementedError() | 11 raise NotImplementedError() |
| 12 | 12 |
| 13 def Stop(self, page, tab): | 13 def Stop(self, page, tab): |
| 14 raise NotImplementedError() | 14 raise NotImplementedError() |
| 15 | 15 |
| 16 def AddResults(self, tab, results): | 16 def AddResults(self, tab, results): |
| 17 load_timings = tab.EvaluateJavaScript('window.performance.timing') | 17 load_timings = tab.EvaluateJavaScript('window.performance.timing') |
| 18 load_time_ms = ( | 18 |
| 19 float(load_timings['loadEventStart']) - | 19 # All numbers in milliseconds. |
|
tonyg
2014/03/25 16:12:25
Let's factor just this file out into a separate pa
bolian
2014/03/25 18:19:01
Done. Np at all, that is good.
Split out: https://
| |
| 20 load_timings['navigationStart']) | 20 page_load = ( |
| 21 dom_content_loaded_time_ms = ( | 21 float(load_timings['loadEventStart']) - load_timings['navigationStart']) |
| 22 results.Add('page_load', 'ms', page_load) | |
|
tonyg
2014/03/25 16:12:25
Naming convention suggestion:
# NavigationStart r
bolian
2014/03/25 18:19:01
Doen. much better.
| |
| 23 | |
| 24 dom_content_loaded = ( | |
| 22 float(load_timings['domContentLoadedEventStart']) - | 25 float(load_timings['domContentLoadedEventStart']) - |
| 23 load_timings['navigationStart']) | 26 load_timings['navigationStart']) |
| 24 results.Add('load_time', 'ms', load_time_ms) | 27 results.Add('dom_content_loaded', 'ms', dom_content_loaded) |
| 25 results.Add('dom_content_loaded_time', 'ms', | 28 |
| 26 dom_content_loaded_time_ms) | 29 delay_before_fetch = ( |
| 30 float(load_timings['fetchStart']) - load_timings['navigationStart']) | |
| 31 results.Add('delay_before_fetch', 'ms', delay_before_fetch, | |
| 32 data_type='unimportant') | |
| 33 | |
| 34 delay_before_request = ( | |
| 35 float(load_timings['requestStart']) - load_timings['navigationStart']) | |
| 36 results.Add('delay_before_request', 'ms', delay_before_request, | |
| 37 data_type='unimportant') | |
| 38 | |
| 39 domain_lookup = ( | |
| 40 float(load_timings['domainLookupEnd']) - | |
| 41 load_timings['domainLookupStart']) | |
| 42 results.Add('domain_lookup', 'ms', domain_lookup, data_type='unimportant') | |
| 43 | |
| 44 connect = ( | |
| 45 float(load_timings['connectEnd']) - load_timings['connectStart']) | |
| 46 results.Add('connect', 'ms', connect, data_type='unimportant') | |
| 47 | |
| 48 request = ( | |
| 49 float(load_timings['responseStart']) - load_timings['requestStart']) | |
| 50 results.Add('request', 'ms', request, data_type='unimportant') | |
| 51 | |
| 52 response = ( | |
| 53 float(load_timings['responseEnd']) - load_timings['responseStart']) | |
| 54 results.Add('response', 'ms', response, data_type='unimportant') | |
| OLD | NEW |