コード例 #1
0
    def testTimelineBetweenRange(self):
        model = model_module.TimelineModel()
        renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
        renderer_main.name = 'CrRendererMain'

        #   [          X         ]    [       Z      ]
        #           [  Y  ]               [   T    ]
        #   [ interaction record ]
        renderer_main.BeginSlice('cat1', 'x.y', 10, 0)
        renderer_main.EndSlice(20, 20)
        renderer_main.BeginSlice('cat1', 'z.t', 30, 0)
        renderer_main.EndSlice(35, 35)
        model.FinalizeImport()

        metric = timeline.LoadTimesTimelineMetric()
        results = self.GetResults(
            metric,
            model=model,
            renderer_thread=renderer_main,
            interaction_records=[_GetInteractionRecord(10, 20)])
        results.AssertHasPageSpecificScalarValue('CrRendererMain|x_y', 'ms',
                                                 10)
        results.AssertHasPageSpecificScalarValue('CrRendererMain|x_y_max',
                                                 'ms', 10)
        results.AssertHasPageSpecificScalarValue('CrRendererMain|x_y_avg',
                                                 'ms', 10)
コード例 #2
0
    def testCounterSanitizing(self):
        model = model_module.TimelineModel()
        renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
        renderer_main.name = 'CrRendererMain'

        x_counter = renderer_main.parent.GetOrCreateCounter('cat', 'x.y')
        x_counter.samples += [1, 2]
        x_counter.series_names += ['a']
        x_counter.timestamps += [0, 1]
        model.FinalizeImport()

        metric = timeline.LoadTimesTimelineMetric(model, renderer_main.parent)
        results = self.GetResults(metric)
        results.AssertHasPageSpecificScalarValue('cat_x_y', 'count', 3)
        results.AssertHasPageSpecificScalarValue('cat_x_y_avg', 'count', 1.5)
コード例 #3
0
    def MeasurePage(self, page, tab, results):
        # In current telemetry tests, all tests wait for DocumentComplete state,
        # but we need to wait for the load event.
        tab.WaitForJavaScriptExpression('performance.timing.loadEventStart',
                                        300)

        # TODO(nduca): when crbug.com/168431 is fixed, modify the page sets to
        # recognize loading as a toplevel action.
        self._timeline_controller.Stop(tab)

        loading.LoadingMetric().AddResults(tab, results)
        timeline_metric = timeline.LoadTimesTimelineMetric(
            self._timeline_controller.model,
            self._timeline_controller.renderer_process,
            self._timeline_controller.action_ranges)
        timeline_metric.AddResults(tab, results)
コード例 #4
0
    def MeasurePage(self, page, tab, results):
        # In current telemetry tests, all tests wait for DocumentComplete state,
        # but we need to wait for the load event.
        tab.WaitForJavaScriptExpression('performance.timing.loadEventStart',
                                        300)

        # TODO(nduca): when crbug.com/168431 is fixed, modify the page sets to
        # recognize loading as a toplevel action.
        self._timeline_controller.Stop(tab)

        loading.LoadingMetric().AddResults(tab, results)
        timeline_metric = timeline.LoadTimesTimelineMetric()
        renderer_thread = \
            self._timeline_controller.model.GetRendererThreadFromTab(tab)
        record = tir_module.TimelineInteractionRecord(
            "loading_trace_interaction", 0, float('inf'))
        timeline_metric.AddResults(self._timeline_controller.model,
                                   renderer_thread, [record], results)
コード例 #5
0
    def testSanitizing(self):
        model = model_module.TimelineModel()
        renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
        renderer_main.name = 'CrRendererMain'

        # [      X       ]
        #      [  Y  ]
        renderer_main.BeginSlice('cat1', 'x.y', 10, 0)
        renderer_main.EndSlice(20, 20)
        model.FinalizeImport()

        metric = timeline.LoadTimesTimelineMetric(model, renderer_main.parent)
        results = self.GetResults(metric)
        results.AssertHasPageSpecificScalarValue('CrRendererMain|x_y', 'ms',
                                                 10)
        results.AssertHasPageSpecificScalarValue('CrRendererMain|x_y_max',
                                                 'ms', 10)
        results.AssertHasPageSpecificScalarValue('CrRendererMain|x_y_avg',
                                                 'ms', 10)
コード例 #6
0
  def testSanitizing(self):
    model = model_module.TimelineModel()
    renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
    renderer_main.name = 'CrRendererMain'

    # [      X       ]
    #      [  Y  ]
    renderer_main.BeginSlice('cat1', 'x.y', 10, 0)
    renderer_main.EndSlice(20, 20)
    model.FinalizeImport()

    metric = timeline.LoadTimesTimelineMetric()
    results = self.GetResults(
      metric, model=model, renderer_thread=renderer_main,
      interaction_records=[_GetInteractionRecord(0, float('inf'))])
    results.AssertHasPageSpecificScalarValue(
      'CrRendererMain|x_y', 'ms', 10)
    results.AssertHasPageSpecificScalarValue(
      'CrRendererMain|x_y_max', 'ms', 10)
    results.AssertHasPageSpecificScalarValue(
      'CrRendererMain|x_y_avg', 'ms', 10)
コード例 #7
0
 def __init__(self, *args, **kwargs):
     super(LoadingTimeline, self).__init__(*args, **kwargs)
     self._timeline_metric = timeline.LoadTimesTimelineMetric(
         timeline.TIMELINE_MODE)
コード例 #8
0
 def __init__(self, *args, **kwargs):
     super(LoadingTrace, self).__init__(*args, **kwargs)
     self._timeline_metric = timeline.LoadTimesTimelineMetric(
         timeline.TRACING_MODE)