Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Side by Side Diff: tools/android/loading/report.py

Issue 2021093002: clovis: Report the number and cost of DNS requests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/android/loading/metrics_unittest.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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)
OLDNEW
« no previous file with comments | « tools/android/loading/metrics_unittest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698