chromium/tools/perf/benchmarks/press.py

# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Base class for a PressBenchmark.

This benchmark manages both PressStory objects that
implement javascript based metrics as well as can
compute TMBv2 metrics.

Example implementation:

  FooPressBenchmark(press._PressBenchmark):
    @classmethod
    def Name(clas):
      return Foo;

    def CreateStorySet():
      // Return a set of stories inheriting from
      // page_sets.PressStory

    def CreateCoreTimelineBasedMeasurementOptions()
      // Implement to define tracing metrics you
      // want on top of any javascript metrics
      // implemented in your stories
"""
from core import perf_benchmark

from measurements import dual_metric_measurement

class _PressBenchmark(perf_benchmark.PerfBenchmark):
  test = dual_metric_measurement.DualMetricMeasurement