UNPKG

benchpress

Version:

Benchpress - a framework for e2e performance tests

39 lines 5.8 kB
import { StringMapWrapper } from 'angular2/src/facade/collection'; import { bind } from 'angular2/src/core/di'; import { Validator } from './validator'; import { Metric } from './metric'; import { Options } from './common_options'; /** * SampleDescription merges all available descriptions about a sample */ export class SampleDescription { constructor(id, descriptions, metrics) { this.id = id; this.metrics = metrics; this.description = {}; descriptions.forEach(description => { StringMapWrapper.forEach(description, (value, prop) => this.description[prop] = value); }); } // TODO(tbosch): use static values when our transpiler supports them static get BINDINGS() { return _PROVIDERS; } toJson() { return { 'id': this.id, 'description': this.description, 'metrics': this.metrics }; } } var _PROVIDERS = [ bind(SampleDescription) .toFactory((metric, id, forceGc, userAgent, validator, defaultDesc, userDesc) => new SampleDescription(id, [ { 'forceGc': forceGc, 'userAgent': userAgent }, validator.describe(), defaultDesc, userDesc ], metric.describe()), [ Metric, Options.SAMPLE_ID, Options.FORCE_GC, Options.USER_AGENT, Validator, Options.DEFAULT_DESCRIPTION, Options.SAMPLE_DESCRIPTION ]) ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlX2Rlc2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlmZmluZ19wbHVnaW5fd3JhcHBlci1vdXRwdXRfcGF0aC14QkxJQnJWUi50bXAvYmVuY2hwcmVzcy9zcmMvc2FtcGxlX2Rlc2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0M7T0FDeEQsRUFBQyxJQUFJLEVBQWlDLE1BQU0sc0JBQXNCO09BQ2xFLEVBQUMsU0FBUyxFQUFDLE1BQU0sYUFBYTtPQUM5QixFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVU7T0FDeEIsRUFBQyxPQUFPLEVBQUMsTUFBTSxrQkFBa0I7QUFFeEM7O0dBRUc7QUFDSDtJQUtFLFlBQW1CLEVBQVUsRUFBRSxZQUF5QyxFQUNyRCxPQUE2QjtRQUQ3QixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQzlCLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBVkQsb0VBQW9FO0lBQ3BFLFdBQVcsUUFBUSxLQUFpQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQVd4RCxNQUFNLEtBQUssTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEcsQ0FBQztBQUVELElBQUksVUFBVSxHQUFHO0lBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQ2xCLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsS0FDN0QsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLEVBQ0Y7UUFDRSxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQztRQUM1QyxTQUFTLENBQUMsUUFBUSxFQUFFO1FBQ3BCLFdBQVc7UUFDWCxRQUFRO0tBQ1QsRUFDRCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDNUM7UUFDRSxNQUFNO1FBQ04sT0FBTyxDQUFDLFNBQVM7UUFDakIsT0FBTyxDQUFDLFFBQVE7UUFDaEIsT0FBTyxDQUFDLFVBQVU7UUFDbEIsU0FBUztRQUNULE9BQU8sQ0FBQyxtQkFBbUI7UUFDM0IsT0FBTyxDQUFDLGtCQUFrQjtLQUMzQixDQUFDO0NBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0cmluZ01hcFdyYXBwZXJ9IGZyb20gJ2FuZ3VsYXIyL3NyYy9mYWNhZGUvY29sbGVjdGlvbic7XG5pbXBvcnQge2JpbmQsIHByb3ZpZGUsIFByb3ZpZGVyLCBPcGFxdWVUb2tlbn0gZnJvbSAnYW5ndWxhcjIvc3JjL2NvcmUvZGknO1xuaW1wb3J0IHtWYWxpZGF0b3J9IGZyb20gJy4vdmFsaWRhdG9yJztcbmltcG9ydCB7TWV0cmljfSBmcm9tICcuL21ldHJpYyc7XG5pbXBvcnQge09wdGlvbnN9IGZyb20gJy4vY29tbW9uX29wdGlvbnMnO1xuXG4vKipcbiAqIFNhbXBsZURlc2NyaXB0aW9uIG1lcmdlcyBhbGwgYXZhaWxhYmxlIGRlc2NyaXB0aW9ucyBhYm91dCBhIHNhbXBsZVxuICovXG5leHBvcnQgY2xhc3MgU2FtcGxlRGVzY3JpcHRpb24ge1xuICAvLyBUT0RPKHRib3NjaCk6IHVzZSBzdGF0aWMgdmFsdWVzIHdoZW4gb3VyIHRyYW5zcGlsZXIgc3VwcG9ydHMgdGhlbVxuICBzdGF0aWMgZ2V0IEJJTkRJTkdTKCk6IFByb3ZpZGVyW10geyByZXR1cm4gX1BST1ZJREVSUzsgfVxuICBkZXNjcmlwdGlvbjoge1trZXk6IHN0cmluZ106IGFueX07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uczogQXJyYXk8e1trZXk6IHN0cmluZ106IGFueX0+LFxuICAgICAgICAgICAgICBwdWJsaWMgbWV0cmljczoge1trZXk6IHN0cmluZ106IGFueX0pIHtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0ge307XG4gICAgZGVzY3JpcHRpb25zLmZvckVhY2goZGVzY3JpcHRpb24gPT4ge1xuICAgICAgU3RyaW5nTWFwV3JhcHBlci5mb3JFYWNoKGRlc2NyaXB0aW9uLCAodmFsdWUsIHByb3ApID0+IHRoaXMuZGVzY3JpcHRpb25bcHJvcF0gPSB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICB0b0pzb24oKSB7IHJldHVybiB7J2lkJzogdGhpcy5pZCwgJ2Rlc2NyaXB0aW9uJzogdGhpcy5kZXNjcmlwdGlvbiwgJ21ldHJpY3MnOiB0aGlzLm1ldHJpY3N9OyB9XG59XG5cbnZhciBfUFJPVklERVJTID0gW1xuICBiaW5kKFNhbXBsZURlc2NyaXB0aW9uKVxuICAgICAgLnRvRmFjdG9yeSgobWV0cmljLCBpZCwgZm9yY2VHYywgdXNlckFnZW50LCB2YWxpZGF0b3IsIGRlZmF1bHREZXNjLCB1c2VyRGVzYykgPT5cbiAgICAgICAgICAgICAgICAgICAgIG5ldyBTYW1wbGVEZXNjcmlwdGlvbihpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2ZvcmNlR2MnOiBmb3JjZUdjLCAndXNlckFnZW50JzogdXNlckFnZW50fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5kZXNjcmliZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdERlc2MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyRGVzY1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0cmljLmRlc2NyaWJlKCkpLFxuICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgTWV0cmljLFxuICAgICAgICAgICAgICAgICAgIE9wdGlvbnMuU0FNUExFX0lELFxuICAgICAgICAgICAgICAgICAgIE9wdGlvbnMuRk9SQ0VfR0MsXG4gICAgICAgICAgICAgICAgICAgT3B0aW9ucy5VU0VSX0FHRU5ULFxuICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcixcbiAgICAgICAgICAgICAgICAgICBPcHRpb25zLkRFRkFVTFRfREVTQ1JJUFRJT04sXG4gICAgICAgICAgICAgICAgICAgT3B0aW9ucy5TQU1QTEVfREVTQ1JJUFRJT05cbiAgICAgICAgICAgICAgICAgXSlcbl07XG4iXX0=