def testFirstContentfulPaintLens(self): loading_trace = test_utils.LoadingTraceFromEvents( [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)], trace_events=[{ 'ts': 0, 'ph': 'I', 'cat': 'blink.some_other_user_timing', 'name': 'firstContentfulPaint' }, { 'ts': 9 * self.MILLI_TO_MICRO, 'ph': 'I', 'cat': 'blink.user_timing', 'name': 'firstDiscontentPaint' }, { 'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I', 'cat': 'blink.user_timing', 'name': 'firstContentfulPaint' }, { 'ts': 22 * self.MILLI_TO_MICRO, 'ph': 'I', 'cat': 'blink.user_timing', 'name': 'firstContentfulPaint' }]) lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace) self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequests()) self.assertEqual(1, lens.PostloadTimeMsec())
def testFirstContentfulPaintLens(self): MAINFRAME = 1 SUBFRAME = 2 trace_creator = test_utils.TraceCreator() requests = [trace_creator.RequestAt(1), trace_creator.RequestAt(10), trace_creator.RequestAt(20)] loading_trace = trace_creator.CreateTrace( requests, [{'ts': 0, 'ph': 'I', 'cat': 'blink.some_other_user_timing', 'name': 'firstContentfulPaint'}, {'ts': 30 * self.MILLI_TO_MICRO, 'ph': 'I', 'cat': 'blink.user_timing', 'name': 'firstDiscontentPaint'}, {'ts': 5 * self.MILLI_TO_MICRO, 'ph': 'I', 'cat': 'blink.user_timing', 'name': 'firstContentfulPaint', 'args': {'frame': SUBFRAME} }, {'ts': 12 * self.MILLI_TO_MICRO, 'ph': 'I', 'cat': 'blink.user_timing', 'name': 'firstContentfulPaint', 'args': {'frame': MAINFRAME}}], MAINFRAME) lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace) self.assertEqual(set(['0.1', '0.2']), lens.CriticalRequestIds()) self.assertEqual(1, lens.PostloadTimeMsec())
def testCantGetNoSatisfaction(self): loading_trace = test_utils.LoadingTraceFromEvents( [self._RequestAt(1), self._RequestAt(10), self._RequestAt(20)], trace_events=[{ 'ts': 0, 'ph': 'I', 'cat': 'not_my_cat', 'name': 'someEvent' }]) lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace) self.assertEqual(set(['0.1', '0.2', '0.3']), lens.CriticalRequests()) self.assertEqual(float('inf'), lens.PostloadTimeMsec())
def testCantGetNoSatisfaction(self): MAINFRAME = 1 trace_creator = test_utils.TraceCreator() requests = [trace_creator.RequestAt(1), trace_creator.RequestAt(10), trace_creator.RequestAt(20)] loading_trace = trace_creator.CreateTrace( requests, [{'ts': 0, 'ph': 'I', 'cat': 'not_my_cat', 'name': 'someEvent', 'args': {'frame': MAINFRAME}}], MAINFRAME) loading_trace.tracing_track.SetMainFrameID(MAINFRAME) lens = user_satisfied_lens.FirstContentfulPaintLens(loading_trace) self.assertEqual(set(['0.1', '0.2', '0.3']), lens.CriticalRequestIds()) self.assertEqual(float('inf'), lens.PostloadTimeMsec())
def main(filename): trace = loading_trace.LoadingTrace.FromJsonFile(filename) dependencies_lens = request_dependencies_lens.RequestDependencyLens(trace) user_lens = user_satisfied_lens.FirstContentfulPaintLens(trace) _PrintSumamry(trace, dependencies_lens, user_lens)
def main(filename): trace = loading_trace.LoadingTrace.FromJsonFile(filename) dependencies_lens = request_dependencies_lens.RequestDependencyLens(trace) user_lens = user_satisfied_lens.FirstContentfulPaintLens(trace) prefetch_view = PrefetchSimulationView(trace, dependencies_lens, user_lens) _PrintSummary(prefetch_view, user_lens)