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

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

Issue 1888343003: Clovis: contentful paint upgrades. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@url-rename
Patch Set: Use new frame detection Created 4 years, 7 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
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 import unittest 5 import unittest
6 6
7 import request_track 7 import request_track
8 import test_utils 8 import test_utils
9 import user_satisfied_lens 9 import user_satisfied_lens
10 10
(...skipping 14 matching lines...) Expand all
25 'frame_id': '123.%s' % timestamp_msec, 25 'frame_id': '123.%s' % timestamp_msec,
26 'initiator': {'type': 'other'}, 26 'initiator': {'type': 'other'},
27 'timestamp': timestamp_sec, 27 'timestamp': timestamp_sec,
28 'timing': {'request_time': timestamp_sec, 28 'timing': {'request_time': timestamp_sec,
29 'loading_finished': duration} 29 'loading_finished': duration}
30 }) 30 })
31 self._request_index += 1 31 self._request_index += 1
32 return rq 32 return rq
33 33
34 def testFirstContentfulPaintLens(self): 34 def testFirstContentfulPaintLens(self):
35 MAINFRAME = 1
36 SUBFRAME = 2
35 loading_trace = test_utils.LoadingTraceFromEvents( 37 loading_trace = test_utils.LoadingTraceFromEvents(
36 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)], 38 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)],
37 trace_events=[{'ts': 0, 'ph': 'I', 39 trace_events=[{'ts': 0, 'ph': 'I',
38 'cat': 'blink.some_other_user_timing', 40 'cat': 'blink.some_other_user_timing',
39 'name': 'firstContentfulPaint'}, 41 'name': 'firstContentfulPaint'},
40 {'ts': 9 * self.MILLI_TO_MICRO, 'ph': 'I', 42 {'ts': 30 * self.MILLI_TO_MICRO, 'ph': 'I',
41 'cat': 'blink.user_timing', 43 'cat': 'blink.user_timing',
42 'name': 'firstDiscontentPaint'}, 44 'name': 'firstDiscontentPaint'},
45 {'ts': 5 * self.MILLI_TO_MICRO, 'ph': 'I',
46 'cat': 'blink.user_timing',
47 'name': 'firstContentfulPaint',
48 'args': {'frame': SUBFRAME} },
43 {'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I', 49 {'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I',
44 'cat': 'blink.user_timing', 50 'cat': 'blink.user_timing',
45 'name': 'firstContentfulPaint'}, 51 'name': 'firstContentfulPaint',
46 {'ts': 22 * self.MILLI_TO_MICRO, 'ph': 'I', 52 'args': {'frame': MAINFRAME}}])
47 'cat': 'blink.user_timing', 53 loading_trace.tracing_track.SetMainFrameID(MAINFRAME)
48 'name': 'firstContentfulPaint'}])
49 lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace) 54 lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace)
50 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequests()) 55 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequestIds())
51 self.assertEqual(1, lens.PostloadTimeMsec()) 56 self.assertEqual(1, lens.PostloadTimeMsec())
52 57
53 def testCantGetNoSatisfaction(self): 58 def testCantGetNoSatisfaction(self):
59 MAINFRAME = 1
54 loading_trace = test_utils.LoadingTraceFromEvents( 60 loading_trace = test_utils.LoadingTraceFromEvents(
55 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)], 61 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)],
56 trace_events=[{'ts': 0, 'ph': 'I', 62 trace_events=[{'ts': 0, 'ph': 'I',
57 'cat': 'not_my_cat', 63 'cat': 'not_my_cat',
58 'name': 'someEvent'}]) 64 'name': 'someEvent',
65 'args': {'frame': MAINFRAME}}])
66 loading_trace.tracing_track.SetMainFrameID(MAINFRAME)
59 lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace) 67 lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace)
60 self.assertEqual(set(['0.1', '0.2', '0.3']), lens.CriticalRequests()) 68 self.assertEqual(set(['0.1', '0.2', '0.3']), lens.CriticalRequestIds())
61 self.assertEqual(float('inf'), lens.PostloadTimeMsec()) 69 self.assertEqual(float('inf'), lens.PostloadTimeMsec())
62 70
63 def testFirstTextPaintLens(self): 71 def testFirstTextPaintLens(self):
72 MAINFRAME = 1
73 SUBFRAME = 2
64 loading_trace = test_utils.LoadingTraceFromEvents( 74 loading_trace = test_utils.LoadingTraceFromEvents(
65 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)], 75 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)],
66 trace_events=[{'ts': 0, 'ph': 'I', 76 trace_events=[{'ts': 0, 'ph': 'I',
67 'cat': 'blink.some_other_user_timing', 77 'cat': 'blink.some_other_user_timing',
68 'name': 'firstPaint'}, 78 'name': 'firstPaint'},
69 {'ts': 9 * self.MILLI_TO_MICRO, 'ph': 'I', 79 {'ts': 30 * self.MILLI_TO_MICRO, 'ph': 'I',
70 'cat': 'blink.user_timing', 80 'cat': 'blink.user_timing',
71 'name': 'firstishPaint'}, 81 'name': 'firstishPaint',
82 'args': {'frame': MAINFRAME}},
83 {'ts': 3 * self.MILLI_TO_MICRO, 'ph': 'I',
84 'cat': 'blink.user_timing',
85 'name': 'firstPaint',
86 'args': {'frame': SUBFRAME}},
72 {'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I', 87 {'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I',
73 'cat': 'blink.user_timing', 88 'cat': 'blink.user_timing',
74 'name': 'firstPaint'}, 89 'name': 'firstPaint',
75 {'ts': 22 * self.MILLI_TO_MICRO, 'ph': 'I', 90 'args': {'frame': MAINFRAME}}])
76 'cat': 'blink.user_timing', 91 loading_trace.tracing_track.SetMainFrameID(MAINFRAME)
77 'name': 'firstPaint'}])
78 lens = user_satisfied_lens.FirstTextPaintLens(loading_trace) 92 lens = user_satisfied_lens.FirstTextPaintLens(loading_trace)
79 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequests()) 93 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequestIds())
80 self.assertEqual(1, lens.PostloadTimeMsec()) 94 self.assertEqual(1, lens.PostloadTimeMsec())
81 95
82 def testFirstSignificantPaintLens(self): 96 def testFirstSignificantPaintLens(self):
83 loading_trace = test_utils.LoadingTraceFromEvents( 97 loading_trace = test_utils.LoadingTraceFromEvents(
84 [self._RequestAt(1), self._RequestAt(10), 98 [self._RequestAt(1), self._RequestAt(10),
85 self._RequestAt(15), self._RequestAt(20)], 99 self._RequestAt(15), self._RequestAt(20)],
86 trace_events=[{'ts': 0, 'ph': 'I', 100 trace_events=[{'ts': 0, 'ph': 'I',
87 'cat': 'blink', 101 'cat': 'blink',
88 'name': 'firstPaint'}, 102 'name': 'firstPaint'},
89 {'ts': 9 * self.MILLI_TO_MICRO, 'ph': 'I', 103 {'ts': 9 * self.MILLI_TO_MICRO, 'ph': 'I',
(...skipping 15 matching lines...) Expand all
105 'cat': 'foobar', 'name': 'biz', 119 'cat': 'foobar', 'name': 'biz',
106 'args': {'counters': { 120 'args': {'counters': {
107 'LayoutObjectsThatHadNeverHadLayout': 12 121 'LayoutObjectsThatHadNeverHadLayout': 12
108 } } }, 122 } } },
109 {'ts': 15 * self.MILLI_TO_MICRO, 'ph': 'I', 123 {'ts': 15 * self.MILLI_TO_MICRO, 'ph': 'I',
110 'cat': 'foobar', 'name': 'biz', 124 'cat': 'foobar', 'name': 'biz',
111 'args': {'counters': { 125 'args': {'counters': {
112 'LayoutObjectsThatHadNeverHadLayout': 10 126 'LayoutObjectsThatHadNeverHadLayout': 10
113 } } } ]) 127 } } } ])
114 lens = user_satisfied_lens.FirstSignificantPaintLens(loading_trace) 128 lens = user_satisfied_lens.FirstSignificantPaintLens(loading_trace)
115 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequests()) 129 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequestIds())
116 self.assertEqual(7, lens.PostloadTimeMsec()) 130 self.assertEqual(7, lens.PostloadTimeMsec())
131
132 def testRequestFingerprintLens(self):
133 MAINFRAME = 1
134 SUBFRAME = 2
135 loading_trace = test_utils.LoadingTraceFromEvents(
136 [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)],
137 trace_events=[{'ts': 0, 'ph': 'I',
138 'cat': 'blink.some_other_user_timing',
139 'name': 'firstContentfulPaint'},
140 {'ts': 30 * self.MILLI_TO_MICRO, 'ph': 'I',
141 'cat': 'blink.user_timing',
142 'name': 'firstDiscontentPaint'},
143 {'ts': 5 * self.MILLI_TO_MICRO, 'ph': 'I',
144 'cat': 'blink.user_timing',
145 'name': 'firstContentfulPaint',
146 'args': {'frame': SUBFRAME} },
147 {'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I',
148 'cat': 'blink.user_timing',
149 'name': 'firstContentfulPaint',
150 'args': {'frame': MAINFRAME}}])
151 loading_trace.tracing_track.SetMainFrameID(MAINFRAME)
152 lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace)
153 self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequestIds())
154 self.assertEqual(1, lens.PostloadTimeMsec())
155 request_lens = user_satisfied_lens.RequestFingerprintLens(
156 loading_trace, lens.CriticalFingerprints())
157 self.assertEqual(set(['0.1', '0.2']), request_lens.CriticalRequestIds())
158 self.assertEqual(0, request_lens.PostloadTimeMsec())
OLDNEW
« tools/android/loading/user_satisfied_lens.py ('K') | « tools/android/loading/user_satisfied_lens.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698