/** * @license * Copyright (c) 2019 The Polymer Project Authors. All rights reserved. * This code may only be used under the BSD style license found at * http://polymer.github.io/LICENSE.txt The complete set of authors may be found * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by * Google as part of the polymer project is also subject to an additional IP * rights grant found at http://polymer.github.io/PATENTS.txt */ import { BenchmarkSpec } from './types'; import { ResultStatsWithDifferences } from './stats'; import { Config } from './config'; import { Server } from './server'; export declare class Runner { private readonly config; private readonly specs; private readonly servers; private readonly browsers; private readonly bar; private readonly results; /** * How many times we will load a page and try to collect all measurements * before fully failing. */ private readonly maxAttempts; /** * Maximum milliseconds we will wait for all measurements to be collected per * attempt before reloading and trying a new attempt. */ private readonly attemptTimeout; /** * How many milliseconds we will wait between each poll for measurements. */ private readonly pollTime; private completeGithubCheck?; private hitTimeout; constructor(config: Config, servers: Map); run(): Promise | undefined>; private launchBrowsers; private closeBrowsers; /** * Do one throw-away run per benchmark to warm up our server (especially * when expensive bare module resolution is enabled), and the browser. */ private warmup; private recordSamples; private takeMinimumSamples; private takeAdditionalSamples; private takeSamples; makeResults(): ResultStatsWithDifferences[]; private outputResults; }