| Index: tools/perf/benchmarks/dummy_benchmark.py
|
| diff --git a/tools/perf/benchmarks/dummy_benchmark.py b/tools/perf/benchmarks/dummy_benchmark.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2011be2fb6e40633c7b0ee3e5c8bb6c6161ed98b
|
| --- /dev/null
|
| +++ b/tools/perf/benchmarks/dummy_benchmark.py
|
| @@ -0,0 +1,58 @@
|
| +# Copyright 2015 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +"""
|
| +Benchmarks in this file is created for the purpose of testing telemetry
|
| +integration with perf dashboard and bisect bot. The number they produce aren't
|
| +meant to represent any actual performance data of the browser.
|
| +"""
|
| +
|
| +import random
|
| +
|
| +from core import perf_benchmark
|
| +
|
| +from telemetry.value import scalar
|
| +from telemetry.page import page_test
|
| +
|
| +import page_sets
|
| +
|
| +
|
| +class _DummyTest(page_test.PageTest):
|
| + def __init__(self, avg, std):
|
| + super(_DummyTest, self).__init__()
|
| + self._avg = avg
|
| + self._std = std
|
| +
|
| + def ValidateAndMeasurePage(self, page, tab, results):
|
| + results.AddValue(scalar.ScalarValue(
|
| + page=page,
|
| + name='gaussian-value', units='ms',
|
| + value=random.gauss(self._avg, self._std),
|
| + description=('Random number that follows the Gaussian distribution '
|
| + 'with mean=%s and std=%s' % (self._avg, self._std))))
|
| +
|
| +
|
| +class _DummyBenchmark(perf_benchmark.PerfBenchmark):
|
| + page_set = page_sets.DummyStorySet
|
| +
|
| +
|
| +class DummyBenchmarkOne(_DummyBenchmark):
|
| + """ A low noise benchmark with mean=100 & std=1. """
|
| +
|
| + def CreatePageTest(self, options):
|
| + return _DummyTest(100, 1)
|
| +
|
| + @classmethod
|
| + def Name(cls):
|
| + return 'dummy_benchmark.stable_benchmark_1'
|
| +
|
| +
|
| +class DummyBenchmarkTwo(_DummyBenchmark):
|
| + """ A noisy benchmark with mean=50 & std=20. """
|
| +
|
| + def CreatePageTest(self, options):
|
| + return _DummyTest(50, 20)
|
| +
|
| + @classmethod
|
| + def Name(cls):
|
| + return 'dummy_benchmark.noisy_benchmark_1'
|
|
|