| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 """Generates a loading report. | 5 """Generates a loading report. |
| 6 | 6 |
| 7 When executed as a script, takes a trace filename and print the report. | 7 When executed as a script, takes a trace filename and print the report. |
| 8 """ | 8 """ |
| 9 | 9 |
| 10 from activity_lens import ActivityLens | 10 from activity_lens import ActivityLens |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 self._load_end_msec = self._ComputePlt(trace) | 100 self._load_end_msec = self._ComputePlt(trace) |
| 101 | 101 |
| 102 dependencies_lens = request_dependencies_lens.RequestDependencyLens( | 102 dependencies_lens = request_dependencies_lens.RequestDependencyLens( |
| 103 self.trace) | 103 self.trace) |
| 104 requests = self.trace.request_track.GetEvents() | 104 requests = self.trace.request_track.GetEvents() |
| 105 preloaded_requests = \ | 105 preloaded_requests = \ |
| 106 prefetch_view.PrefetchSimulationView.PreloadedRequests( | 106 prefetch_view.PrefetchSimulationView.PreloadedRequests( |
| 107 requests[0], dependencies_lens, self.trace) | 107 requests[0], dependencies_lens, self.trace) |
| 108 self._requests = len(requests) | 108 self._requests = len(requests) |
| 109 self._preloaded_requests = len(preloaded_requests) | 109 self._preloaded_requests = len(preloaded_requests) |
| 110 self._dns_requests, self._dns_cost_msec = metrics.DnsRequestsAndCost(trace) |
| 110 | 111 |
| 111 self._user_lens_reports = {} | 112 self._user_lens_reports = {} |
| 112 first_text_paint_lens = FirstTextPaintLens(self.trace) | 113 first_text_paint_lens = FirstTextPaintLens(self.trace) |
| 113 first_contentful_paint_lens = FirstContentfulPaintLens(self.trace) | 114 first_contentful_paint_lens = FirstContentfulPaintLens(self.trace) |
| 114 first_significant_paint_lens = FirstSignificantPaintLens(self.trace) | 115 first_significant_paint_lens = FirstSignificantPaintLens(self.trace) |
| 115 activity = ActivityLens(trace) | 116 activity = ActivityLens(trace) |
| 116 network_lens = NetworkActivityLens(self.trace) | 117 network_lens = NetworkActivityLens(self.trace) |
| 117 for key, user_lens in [['first_text', first_text_paint_lens], | 118 for key, user_lens in [['first_text', first_text_paint_lens], |
| 118 ['contentful', first_contentful_paint_lens], | 119 ['contentful', first_contentful_paint_lens], |
| 119 ['significant', first_significant_paint_lens]]: | 120 ['significant', first_significant_paint_lens]]: |
| (...skipping 17 matching lines...) Expand all Loading... |
| 137 self._navigation_start_msec, self._load_end_msec, content_lens, | 138 self._navigation_start_msec, self._load_end_msec, content_lens, |
| 138 activity, has_tracking_rules or has_ad_rules) | 139 activity, has_tracking_rules or has_ad_rules) |
| 139 | 140 |
| 140 def GenerateReport(self): | 141 def GenerateReport(self): |
| 141 """Returns a report as a dict.""" | 142 """Returns a report as a dict.""" |
| 142 report = { | 143 report = { |
| 143 'url': self.trace.url, | 144 'url': self.trace.url, |
| 144 'plt_ms': self._load_end_msec - self._navigation_start_msec, | 145 'plt_ms': self._load_end_msec - self._navigation_start_msec, |
| 145 'requests': self._requests, | 146 'requests': self._requests, |
| 146 'preloaded_requests': self._preloaded_requests, | 147 'preloaded_requests': self._preloaded_requests, |
| 147 'transfer_size': self._transfer_size} | 148 'transfer_size': self._transfer_size, |
| 149 'dns_requests': self._dns_requests, |
| 150 'dns_cost_ms': self._dns_cost_msec} |
| 148 | 151 |
| 149 for user_lens_type, user_lens_report in self._user_lens_reports.iteritems(): | 152 for user_lens_type, user_lens_report in self._user_lens_reports.iteritems(): |
| 150 for key, value in user_lens_report.GenerateReport().iteritems(): | 153 for key, value in user_lens_report.GenerateReport().iteritems(): |
| 151 report[user_lens_type + '_' + key] = value | 154 report[user_lens_type + '_' + key] = value |
| 152 | 155 |
| 153 report.update(self._cpu_busyness) | 156 report.update(self._cpu_busyness) |
| 154 report.update(self._ad_report) | 157 report.update(self._ad_report) |
| 155 report.update(self._ads_cost) | 158 report.update(self._ads_cost) |
| 156 return report | 159 return report |
| 157 | 160 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 report = LoadingReport.FromTraceFilename( | 254 report = LoadingReport.FromTraceFilename( |
| 252 trace_filename, ad_rules, tracking_rules) | 255 trace_filename, ad_rules, tracking_rules) |
| 253 print json.dumps(report.GenerateReport(), indent=2, sort_keys=True) | 256 print json.dumps(report.GenerateReport(), indent=2, sort_keys=True) |
| 254 | 257 |
| 255 | 258 |
| 256 if __name__ == '__main__': | 259 if __name__ == '__main__': |
| 257 import sys | 260 import sys |
| 258 import json | 261 import json |
| 259 | 262 |
| 260 _Main(sys.argv) | 263 _Main(sys.argv) |
| OLD | NEW |