modestbench 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/LICENSE.md +55 -0
- package/README.md +699 -0
- package/dist/bootstrap.cjs +37 -0
- package/dist/bootstrap.cjs.map +1 -0
- package/dist/bootstrap.d.cts +17 -0
- package/dist/bootstrap.d.cts.map +1 -0
- package/dist/bootstrap.d.ts +17 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +33 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/cli/commands/history.cjs +459 -0
- package/dist/cli/commands/history.cjs.map +1 -0
- package/dist/cli/commands/history.d.cts +34 -0
- package/dist/cli/commands/history.d.cts.map +1 -0
- package/dist/cli/commands/history.d.ts +34 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +422 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/init.cjs +566 -0
- package/dist/cli/commands/init.cjs.map +1 -0
- package/dist/cli/commands/init.d.cts +26 -0
- package/dist/cli/commands/init.d.cts.map +1 -0
- package/dist/cli/commands/init.d.ts +26 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +562 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/run.cjs +285 -0
- package/dist/cli/commands/run.cjs.map +1 -0
- package/dist/cli/commands/run.d.cts +37 -0
- package/dist/cli/commands/run.d.cts.map +1 -0
- package/dist/cli/commands/run.d.ts +37 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +248 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/index.cjs +523 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.cts +58 -0
- package/dist/cli/index.d.cts.map +1 -0
- package/dist/cli/index.d.ts +58 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +515 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/manager.cjs +370 -0
- package/dist/config/manager.cjs.map +1 -0
- package/dist/config/manager.d.cts +46 -0
- package/dist/config/manager.d.cts.map +1 -0
- package/dist/config/manager.d.ts +46 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +333 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/schema.cjs +182 -0
- package/dist/config/schema.cjs.map +1 -0
- package/dist/config/schema.d.cts +51 -0
- package/dist/config/schema.d.cts.map +1 -0
- package/dist/config/schema.d.ts +51 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +145 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/constants.cjs +22 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +10 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +19 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/benchmark-schema.cjs +135 -0
- package/dist/core/benchmark-schema.cjs.map +1 -0
- package/dist/core/benchmark-schema.d.cts +139 -0
- package/dist/core/benchmark-schema.d.cts.map +1 -0
- package/dist/core/benchmark-schema.d.ts +139 -0
- package/dist/core/benchmark-schema.d.ts.map +1 -0
- package/dist/core/benchmark-schema.js +132 -0
- package/dist/core/benchmark-schema.js.map +1 -0
- package/dist/core/engine.cjs +669 -0
- package/dist/core/engine.cjs.map +1 -0
- package/dist/core/engine.d.cts +128 -0
- package/dist/core/engine.d.cts.map +1 -0
- package/dist/core/engine.d.ts +128 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +632 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/engines/accurate-engine.cjs +292 -0
- package/dist/core/engines/accurate-engine.cjs.map +1 -0
- package/dist/core/engines/accurate-engine.d.cts +63 -0
- package/dist/core/engines/accurate-engine.d.cts.map +1 -0
- package/dist/core/engines/accurate-engine.d.ts +63 -0
- package/dist/core/engines/accurate-engine.d.ts.map +1 -0
- package/dist/core/engines/accurate-engine.js +288 -0
- package/dist/core/engines/accurate-engine.js.map +1 -0
- package/dist/core/engines/index.cjs +21 -0
- package/dist/core/engines/index.cjs.map +1 -0
- package/dist/core/engines/index.d.cts +16 -0
- package/dist/core/engines/index.d.cts.map +1 -0
- package/dist/core/engines/index.d.ts +16 -0
- package/dist/core/engines/index.d.ts.map +1 -0
- package/dist/core/engines/index.js +16 -0
- package/dist/core/engines/index.js.map +1 -0
- package/dist/core/engines/tinybench-engine.cjs +286 -0
- package/dist/core/engines/tinybench-engine.cjs.map +1 -0
- package/dist/core/engines/tinybench-engine.d.cts +18 -0
- package/dist/core/engines/tinybench-engine.d.cts.map +1 -0
- package/dist/core/engines/tinybench-engine.d.ts +18 -0
- package/dist/core/engines/tinybench-engine.d.ts.map +1 -0
- package/dist/core/engines/tinybench-engine.js +282 -0
- package/dist/core/engines/tinybench-engine.js.map +1 -0
- package/dist/core/error-manager.cjs +303 -0
- package/dist/core/error-manager.cjs.map +1 -0
- package/dist/core/error-manager.d.cts +77 -0
- package/dist/core/error-manager.d.cts.map +1 -0
- package/dist/core/error-manager.d.ts +77 -0
- package/dist/core/error-manager.d.ts.map +1 -0
- package/dist/core/error-manager.js +299 -0
- package/dist/core/error-manager.js.map +1 -0
- package/dist/core/loader.cjs +287 -0
- package/dist/core/loader.cjs.map +1 -0
- package/dist/core/loader.d.cts +55 -0
- package/dist/core/loader.d.cts.map +1 -0
- package/dist/core/loader.d.ts +55 -0
- package/dist/core/loader.d.ts.map +1 -0
- package/dist/core/loader.js +250 -0
- package/dist/core/loader.js.map +1 -0
- package/dist/core/stats-utils.cjs +99 -0
- package/dist/core/stats-utils.cjs.map +1 -0
- package/dist/core/stats-utils.d.cts +50 -0
- package/dist/core/stats-utils.d.cts.map +1 -0
- package/dist/core/stats-utils.d.ts +50 -0
- package/dist/core/stats-utils.d.ts.map +1 -0
- package/dist/core/stats-utils.js +94 -0
- package/dist/core/stats-utils.js.map +1 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +22 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/progress/manager.cjs +325 -0
- package/dist/progress/manager.cjs.map +1 -0
- package/dist/progress/manager.d.cts +125 -0
- package/dist/progress/manager.d.cts.map +1 -0
- package/dist/progress/manager.d.ts +125 -0
- package/dist/progress/manager.d.ts.map +1 -0
- package/dist/progress/manager.js +321 -0
- package/dist/progress/manager.js.map +1 -0
- package/dist/reporters/csv.cjs +250 -0
- package/dist/reporters/csv.cjs.map +1 -0
- package/dist/reporters/csv.d.cts +92 -0
- package/dist/reporters/csv.d.cts.map +1 -0
- package/dist/reporters/csv.d.ts +92 -0
- package/dist/reporters/csv.d.ts.map +1 -0
- package/dist/reporters/csv.js +246 -0
- package/dist/reporters/csv.js.map +1 -0
- package/dist/reporters/human.cjs +516 -0
- package/dist/reporters/human.cjs.map +1 -0
- package/dist/reporters/human.d.cts +86 -0
- package/dist/reporters/human.d.cts.map +1 -0
- package/dist/reporters/human.d.ts +86 -0
- package/dist/reporters/human.d.ts.map +1 -0
- package/dist/reporters/human.js +509 -0
- package/dist/reporters/human.js.map +1 -0
- package/dist/reporters/index.cjs +17 -0
- package/dist/reporters/index.cjs.map +1 -0
- package/dist/reporters/index.d.cts +10 -0
- package/dist/reporters/index.d.cts.map +1 -0
- package/dist/reporters/index.d.ts +10 -0
- package/dist/reporters/index.d.ts.map +1 -0
- package/dist/reporters/index.js +10 -0
- package/dist/reporters/index.js.map +1 -0
- package/dist/reporters/json.cjs +215 -0
- package/dist/reporters/json.cjs.map +1 -0
- package/dist/reporters/json.d.cts +79 -0
- package/dist/reporters/json.d.cts.map +1 -0
- package/dist/reporters/json.d.ts +79 -0
- package/dist/reporters/json.d.ts.map +1 -0
- package/dist/reporters/json.js +211 -0
- package/dist/reporters/json.js.map +1 -0
- package/dist/reporters/registry.cjs +255 -0
- package/dist/reporters/registry.cjs.map +1 -0
- package/dist/reporters/registry.d.cts +155 -0
- package/dist/reporters/registry.d.cts.map +1 -0
- package/dist/reporters/registry.d.ts +155 -0
- package/dist/reporters/registry.d.ts.map +1 -0
- package/dist/reporters/registry.js +249 -0
- package/dist/reporters/registry.js.map +1 -0
- package/dist/reporters/simple.cjs +328 -0
- package/dist/reporters/simple.cjs.map +1 -0
- package/dist/reporters/simple.d.cts +51 -0
- package/dist/reporters/simple.d.cts.map +1 -0
- package/dist/reporters/simple.d.ts +51 -0
- package/dist/reporters/simple.d.ts.map +1 -0
- package/dist/reporters/simple.js +321 -0
- package/dist/reporters/simple.js.map +1 -0
- package/dist/schema/modestbench-config.schema.json +162 -0
- package/dist/storage/history.cjs +456 -0
- package/dist/storage/history.cjs.map +1 -0
- package/dist/storage/history.d.cts +99 -0
- package/dist/storage/history.d.cts.map +1 -0
- package/dist/storage/history.d.ts +99 -0
- package/dist/storage/history.d.ts.map +1 -0
- package/dist/storage/history.js +452 -0
- package/dist/storage/history.js.map +1 -0
- package/dist/types/cli.cjs +21 -0
- package/dist/types/cli.cjs.map +1 -0
- package/dist/types/cli.d.cts +296 -0
- package/dist/types/cli.d.cts.map +1 -0
- package/dist/types/cli.d.ts +296 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +18 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/core.cjs +14 -0
- package/dist/types/core.cjs.map +1 -0
- package/dist/types/core.d.cts +380 -0
- package/dist/types/core.d.cts.map +1 -0
- package/dist/types/core.d.ts +380 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +13 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/index.cjs +27 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +11 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/interfaces.cjs +10 -0
- package/dist/types/interfaces.cjs.map +1 -0
- package/dist/types/interfaces.d.cts +381 -0
- package/dist/types/interfaces.d.cts.map +1 -0
- package/dist/types/interfaces.d.ts +381 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/interfaces.js +9 -0
- package/dist/types/interfaces.js.map +1 -0
- package/dist/types/utility.cjs +92 -0
- package/dist/types/utility.cjs.map +1 -0
- package/dist/types/utility.d.cts +330 -0
- package/dist/types/utility.d.cts.map +1 -0
- package/dist/types/utility.d.ts +330 -0
- package/dist/types/utility.d.ts.map +1 -0
- package/dist/types/utility.js +78 -0
- package/dist/types/utility.js.map +1 -0
- package/package.json +211 -0
- package/src/bootstrap.ts +35 -0
- package/src/cli/commands/history.ts +569 -0
- package/src/cli/commands/init.ts +658 -0
- package/src/cli/commands/run.ts +346 -0
- package/src/cli/index.ts +642 -0
- package/src/config/manager.ts +387 -0
- package/src/config/schema.ts +188 -0
- package/src/constants.ts +21 -0
- package/src/core/benchmark-schema.ts +185 -0
- package/src/core/engine.ts +888 -0
- package/src/core/engines/accurate-engine.ts +408 -0
- package/src/core/engines/index.ts +16 -0
- package/src/core/engines/tinybench-engine.ts +335 -0
- package/src/core/error-manager.ts +372 -0
- package/src/core/loader.ts +324 -0
- package/src/core/stats-utils.ts +135 -0
- package/src/index.ts +46 -0
- package/src/progress/manager.ts +415 -0
- package/src/reporters/csv.ts +368 -0
- package/src/reporters/human.ts +707 -0
- package/src/reporters/index.ts +10 -0
- package/src/reporters/json.ts +302 -0
- package/src/reporters/registry.ts +349 -0
- package/src/reporters/simple.ts +459 -0
- package/src/storage/history.ts +600 -0
- package/src/types/cli.ts +312 -0
- package/src/types/core.ts +414 -0
- package/src/types/index.ts +18 -0
- package/src/types/interfaces.ts +451 -0
- package/src/types/utility.ts +446 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ModestBench Public API
|
|
4
|
+
*
|
|
5
|
+
* Main entry point for programmatic usage of ModestBench. This module exports
|
|
6
|
+
* all core classes, utilities, and types needed to use ModestBench as a
|
|
7
|
+
* library.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.FileHistoryStorage = exports.ModestBenchReporterRegistry = exports.CompositeReporter = exports.BaseReporter = exports.JsonReporter = exports.HumanReporter = exports.CsvReporter = exports.ModestBenchProgressManager = exports.removeOutliersIQR = exports.calculateStatistics = exports.BenchmarkFileLoader = exports.ModestBenchErrorManager = exports.TinybenchEngine = exports.AccurateEngine = exports.ModestBenchEngine = exports.ModestBenchConfigurationManager = exports.modestbench = void 0;
|
|
25
|
+
var bootstrap_js_1 = require("./bootstrap.cjs");
|
|
26
|
+
Object.defineProperty(exports, "modestbench", { enumerable: true, get: function () { return bootstrap_js_1.bootstrap; } });
|
|
27
|
+
// Configuration management
|
|
28
|
+
var manager_js_1 = require("./config/manager.cjs");
|
|
29
|
+
Object.defineProperty(exports, "ModestBenchConfigurationManager", { enumerable: true, get: function () { return manager_js_1.ModestBenchConfigurationManager; } });
|
|
30
|
+
// Core engine and loader
|
|
31
|
+
var engine_js_1 = require("./core/engine.cjs");
|
|
32
|
+
Object.defineProperty(exports, "ModestBenchEngine", { enumerable: true, get: function () { return engine_js_1.ModestBenchEngine; } });
|
|
33
|
+
var index_js_1 = require("./core/engines/index.cjs");
|
|
34
|
+
Object.defineProperty(exports, "AccurateEngine", { enumerable: true, get: function () { return index_js_1.AccurateEngine; } });
|
|
35
|
+
Object.defineProperty(exports, "TinybenchEngine", { enumerable: true, get: function () { return index_js_1.TinybenchEngine; } });
|
|
36
|
+
// Error handling
|
|
37
|
+
var error_manager_js_1 = require("./core/error-manager.cjs");
|
|
38
|
+
Object.defineProperty(exports, "ModestBenchErrorManager", { enumerable: true, get: function () { return error_manager_js_1.ModestBenchErrorManager; } });
|
|
39
|
+
var loader_js_1 = require("./core/loader.cjs");
|
|
40
|
+
Object.defineProperty(exports, "BenchmarkFileLoader", { enumerable: true, get: function () { return loader_js_1.BenchmarkFileLoader; } });
|
|
41
|
+
// Statistical utilities
|
|
42
|
+
var stats_utils_js_1 = require("./core/stats-utils.cjs");
|
|
43
|
+
Object.defineProperty(exports, "calculateStatistics", { enumerable: true, get: function () { return stats_utils_js_1.calculateStatistics; } });
|
|
44
|
+
Object.defineProperty(exports, "removeOutliersIQR", { enumerable: true, get: function () { return stats_utils_js_1.removeOutliersIQR; } });
|
|
45
|
+
// Progress tracking
|
|
46
|
+
var manager_js_2 = require("./progress/manager.cjs");
|
|
47
|
+
Object.defineProperty(exports, "ModestBenchProgressManager", { enumerable: true, get: function () { return manager_js_2.ModestBenchProgressManager; } });
|
|
48
|
+
// Reporters
|
|
49
|
+
var csv_js_1 = require("./reporters/csv.cjs");
|
|
50
|
+
Object.defineProperty(exports, "CsvReporter", { enumerable: true, get: function () { return csv_js_1.CsvReporter; } });
|
|
51
|
+
var human_js_1 = require("./reporters/human.cjs");
|
|
52
|
+
Object.defineProperty(exports, "HumanReporter", { enumerable: true, get: function () { return human_js_1.HumanReporter; } });
|
|
53
|
+
var json_js_1 = require("./reporters/json.cjs");
|
|
54
|
+
Object.defineProperty(exports, "JsonReporter", { enumerable: true, get: function () { return json_js_1.JsonReporter; } });
|
|
55
|
+
var registry_js_1 = require("./reporters/registry.cjs");
|
|
56
|
+
Object.defineProperty(exports, "BaseReporter", { enumerable: true, get: function () { return registry_js_1.BaseReporter; } });
|
|
57
|
+
Object.defineProperty(exports, "CompositeReporter", { enumerable: true, get: function () { return registry_js_1.CompositeReporter; } });
|
|
58
|
+
Object.defineProperty(exports, "ModestBenchReporterRegistry", { enumerable: true, get: function () { return registry_js_1.ModestBenchReporterRegistry; } });
|
|
59
|
+
// Storage
|
|
60
|
+
var history_js_1 = require("./storage/history.cjs");
|
|
61
|
+
Object.defineProperty(exports, "FileHistoryStorage", { enumerable: true, get: function () { return history_js_1.FileHistoryStorage; } });
|
|
62
|
+
// Export all types
|
|
63
|
+
__exportStar(require("./types/index.cjs"), exports);
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,gDAA0D;AAAjD,2GAAA,SAAS,OAAe;AACjC,2BAA2B;AAC3B,mDAAsE;AAA7D,6HAAA,+BAA+B,OAAA;AAExC,yBAAyB;AACzB,+CAAqD;AAA5C,8GAAA,iBAAiB,OAAA;AAC1B,qDAA0E;AAAjE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAExC,iBAAiB;AACjB,6DAAkE;AAAzD,2HAAA,uBAAuB,OAAA;AAEhC,+CAAuD;AAA9C,gHAAA,mBAAmB,OAAA;AAE5B,wBAAwB;AACxB,yDAI+B;AAH7B,qHAAA,mBAAmB,OAAA;AACnB,mHAAA,iBAAiB,OAAA;AAInB,oBAAoB;AACpB,qDAAmE;AAA1D,wHAAA,0BAA0B,OAAA;AACnC,YAAY;AACZ,8CAAiD;AAAxC,qGAAA,WAAW,OAAA;AACpB,kDAAqD;AAA5C,yGAAA,aAAa,OAAA;AACtB,gDAAmD;AAA1C,uGAAA,YAAY,OAAA;AAErB,wDAIiC;AAH/B,2GAAA,YAAY,OAAA;AACZ,gHAAA,iBAAiB,OAAA;AACjB,0HAAA,2BAA2B,OAAA;AAG7B,UAAU;AACV,oDAA0D;AAAjD,gHAAA,kBAAkB,OAAA;AAE3B,mBAAmB;AACnB,oDAAiC"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModestBench Public API
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for programmatic usage of ModestBench. This module exports
|
|
5
|
+
* all core classes, utilities, and types needed to use ModestBench as a
|
|
6
|
+
* library.
|
|
7
|
+
*/
|
|
8
|
+
export { bootstrap as modestbench } from "./bootstrap.cjs";
|
|
9
|
+
export { ModestBenchConfigurationManager } from "./config/manager.cjs";
|
|
10
|
+
export { ModestBenchEngine } from "./core/engine.cjs";
|
|
11
|
+
export { AccurateEngine, TinybenchEngine } from "./core/engines/index.cjs";
|
|
12
|
+
export { ModestBenchErrorManager } from "./core/error-manager.cjs";
|
|
13
|
+
export { BenchmarkFileLoader } from "./core/loader.cjs";
|
|
14
|
+
export { calculateStatistics, removeOutliersIQR, type SampleStatistics, } from "./core/stats-utils.cjs";
|
|
15
|
+
export { ModestBenchProgressManager } from "./progress/manager.cjs";
|
|
16
|
+
export { CsvReporter } from "./reporters/csv.cjs";
|
|
17
|
+
export { HumanReporter } from "./reporters/human.cjs";
|
|
18
|
+
export { JsonReporter } from "./reporters/json.cjs";
|
|
19
|
+
export { BaseReporter, CompositeReporter, ModestBenchReporterRegistry, } from "./reporters/registry.cjs";
|
|
20
|
+
export { FileHistoryStorage } from "./storage/history.cjs";
|
|
21
|
+
export * from "./types/index.cjs";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,wBAAuB;AAE1D,OAAO,EAAE,+BAA+B,EAAE,6BAA4B;AAGtE,OAAO,EAAE,iBAAiB,EAAE,0BAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAgC;AAG1E,OAAO,EAAE,uBAAuB,EAAE,iCAAgC;AAElE,OAAO,EAAE,mBAAmB,EAAE,0BAAyB;AAGvD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,+BAA8B;AAG/B,OAAO,EAAE,0BAA0B,EAAE,+BAA8B;AAEnE,OAAO,EAAE,WAAW,EAAE,4BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,8BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,6BAA4B;AAEnD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,iCAAgC;AAGjC,OAAO,EAAE,kBAAkB,EAAE,8BAA6B;AAG1D,kCAAiC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModestBench Public API
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for programmatic usage of ModestBench. This module exports
|
|
5
|
+
* all core classes, utilities, and types needed to use ModestBench as a
|
|
6
|
+
* library.
|
|
7
|
+
*/
|
|
8
|
+
export { bootstrap as modestbench } from "./bootstrap.js";
|
|
9
|
+
export { ModestBenchConfigurationManager } from "./config/manager.js";
|
|
10
|
+
export { ModestBenchEngine } from "./core/engine.js";
|
|
11
|
+
export { AccurateEngine, TinybenchEngine } from "./core/engines/index.js";
|
|
12
|
+
export { ModestBenchErrorManager } from "./core/error-manager.js";
|
|
13
|
+
export { BenchmarkFileLoader } from "./core/loader.js";
|
|
14
|
+
export { calculateStatistics, removeOutliersIQR, type SampleStatistics, } from "./core/stats-utils.js";
|
|
15
|
+
export { ModestBenchProgressManager } from "./progress/manager.js";
|
|
16
|
+
export { CsvReporter } from "./reporters/csv.js";
|
|
17
|
+
export { HumanReporter } from "./reporters/human.js";
|
|
18
|
+
export { JsonReporter } from "./reporters/json.js";
|
|
19
|
+
export { BaseReporter, CompositeReporter, ModestBenchReporterRegistry, } from "./reporters/registry.js";
|
|
20
|
+
export { FileHistoryStorage } from "./storage/history.js";
|
|
21
|
+
export * from "./types/index.js";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,uBAAuB;AAE1D,OAAO,EAAE,+BAA+B,EAAE,4BAA4B;AAGtE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gCAAgC;AAG1E,OAAO,EAAE,uBAAuB,EAAE,gCAAgC;AAElE,OAAO,EAAE,mBAAmB,EAAE,yBAAyB;AAGvD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,8BAA8B;AAG/B,OAAO,EAAE,0BAA0B,EAAE,8BAA8B;AAEnE,OAAO,EAAE,WAAW,EAAE,2BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,6BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,4BAA4B;AAEnD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,gCAAgC;AAGjC,OAAO,EAAE,kBAAkB,EAAE,6BAA6B;AAG1D,iCAAiC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModestBench Public API
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for programmatic usage of ModestBench. This module exports
|
|
5
|
+
* all core classes, utilities, and types needed to use ModestBench as a
|
|
6
|
+
* library.
|
|
7
|
+
*/
|
|
8
|
+
export { bootstrap as modestbench } from "./bootstrap.js";
|
|
9
|
+
// Configuration management
|
|
10
|
+
export { ModestBenchConfigurationManager } from "./config/manager.js";
|
|
11
|
+
// Core engine and loader
|
|
12
|
+
export { ModestBenchEngine } from "./core/engine.js";
|
|
13
|
+
export { AccurateEngine, TinybenchEngine } from "./core/engines/index.js";
|
|
14
|
+
// Error handling
|
|
15
|
+
export { ModestBenchErrorManager } from "./core/error-manager.js";
|
|
16
|
+
export { BenchmarkFileLoader } from "./core/loader.js";
|
|
17
|
+
// Statistical utilities
|
|
18
|
+
export { calculateStatistics, removeOutliersIQR, } from "./core/stats-utils.js";
|
|
19
|
+
// Progress tracking
|
|
20
|
+
export { ModestBenchProgressManager } from "./progress/manager.js";
|
|
21
|
+
// Reporters
|
|
22
|
+
export { CsvReporter } from "./reporters/csv.js";
|
|
23
|
+
export { HumanReporter } from "./reporters/human.js";
|
|
24
|
+
export { JsonReporter } from "./reporters/json.js";
|
|
25
|
+
export { BaseReporter, CompositeReporter, ModestBenchReporterRegistry, } from "./reporters/registry.js";
|
|
26
|
+
// Storage
|
|
27
|
+
export { FileHistoryStorage } from "./storage/history.js";
|
|
28
|
+
// Export all types
|
|
29
|
+
export * from "./types/index.js";
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,uBAAuB;AAC1D,2BAA2B;AAC3B,OAAO,EAAE,+BAA+B,EAAE,4BAA4B;AAEtE,yBAAyB;AACzB,OAAO,EAAE,iBAAiB,EAAE,yBAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gCAAgC;AAE1E,iBAAiB;AACjB,OAAO,EAAE,uBAAuB,EAAE,gCAAgC;AAElE,OAAO,EAAE,mBAAmB,EAAE,yBAAyB;AAEvD,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAElB,8BAA8B;AAE/B,oBAAoB;AACpB,OAAO,EAAE,0BAA0B,EAAE,8BAA8B;AACnE,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,2BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,6BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,4BAA4B;AAEnD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,gCAAgC;AAEjC,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,6BAA6B;AAE1D,mBAAmB;AACnB,iCAAiC"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ModestBench Progress Manager
|
|
4
|
+
*
|
|
5
|
+
* Tracks execution progress, estimates completion times, and manages progress
|
|
6
|
+
* callbacks for real-time updates during benchmark runs.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ModestBenchProgressManager = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Default progress manager implementation
|
|
12
|
+
*/
|
|
13
|
+
class ModestBenchProgressManager {
|
|
14
|
+
callbacks = [];
|
|
15
|
+
lastUpdate = 0;
|
|
16
|
+
maxRecentTimings = 10;
|
|
17
|
+
metrics = null;
|
|
18
|
+
state;
|
|
19
|
+
updateThrottleMs = 100; // Limit updates to avoid spam
|
|
20
|
+
constructor() {
|
|
21
|
+
this.state = this.createInitialState();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Clean up progress tracking resources
|
|
25
|
+
*/
|
|
26
|
+
cleanup() {
|
|
27
|
+
this.callbacks = [];
|
|
28
|
+
this.metrics = null;
|
|
29
|
+
this.state = this.createInitialState();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Estimate completion time
|
|
33
|
+
*/
|
|
34
|
+
estimateCompletion() {
|
|
35
|
+
if (!this.metrics ||
|
|
36
|
+
this.state.totalTasks === 0 ||
|
|
37
|
+
this.state.tasksCompleted === 0) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const remainingTasks = this.state.totalTasks - this.state.tasksCompleted;
|
|
41
|
+
if (remainingTasks <= 0) {
|
|
42
|
+
return new Date(); // Already complete
|
|
43
|
+
}
|
|
44
|
+
// Calculate average throughput from recent timings
|
|
45
|
+
const throughput = this.calculateThroughput();
|
|
46
|
+
if (throughput <= 0) {
|
|
47
|
+
return null; // Can't estimate with no throughput data
|
|
48
|
+
}
|
|
49
|
+
const estimatedRemainingMs = (remainingTasks / throughput) * 1000;
|
|
50
|
+
return new Date(Date.now() + estimatedRemainingMs);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Force an immediate progress update (bypassing throttling)
|
|
54
|
+
*/
|
|
55
|
+
forceUpdate() {
|
|
56
|
+
const oldThrottle = this.lastUpdate;
|
|
57
|
+
this.lastUpdate = 0; // Reset throttle
|
|
58
|
+
this.update({}); // Trigger update with no changes
|
|
59
|
+
this.lastUpdate = oldThrottle; // Restore throttle timing
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Format elapsed time as human-readable string
|
|
63
|
+
*/
|
|
64
|
+
getFormattedElapsed() {
|
|
65
|
+
const seconds = Math.floor(this.state.elapsed / 1000);
|
|
66
|
+
const minutes = Math.floor(seconds / 60);
|
|
67
|
+
const hours = Math.floor(minutes / 60);
|
|
68
|
+
if (hours > 0) {
|
|
69
|
+
return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
|
|
70
|
+
}
|
|
71
|
+
else if (minutes > 0) {
|
|
72
|
+
return `${minutes}m ${seconds % 60}s`;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return `${seconds}s`;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Format estimated remaining time as human-readable string
|
|
80
|
+
*/
|
|
81
|
+
getFormattedEstimate() {
|
|
82
|
+
const completion = this.estimateCompletion();
|
|
83
|
+
if (!completion) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
const remaining = completion.getTime() - Date.now();
|
|
87
|
+
if (remaining <= 0) {
|
|
88
|
+
return 'Complete';
|
|
89
|
+
}
|
|
90
|
+
const seconds = Math.floor(remaining / 1000);
|
|
91
|
+
const minutes = Math.floor(seconds / 60);
|
|
92
|
+
const hours = Math.floor(minutes / 60);
|
|
93
|
+
if (hours > 0) {
|
|
94
|
+
return `~${hours}h ${minutes % 60}m remaining`;
|
|
95
|
+
}
|
|
96
|
+
else if (minutes > 0) {
|
|
97
|
+
return `~${minutes}m ${seconds % 60}s remaining`;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return `~${seconds}s remaining`;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get detailed progress metrics
|
|
105
|
+
*/
|
|
106
|
+
getMetrics() {
|
|
107
|
+
if (!this.metrics) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
const throughput = this.calculateThroughput();
|
|
111
|
+
const estimatedCompletion = this.estimateCompletion();
|
|
112
|
+
const elapsedMs = Date.now() - this.metrics.startTime;
|
|
113
|
+
const remainingTasks = Math.max(0, this.state.totalTasks - this.state.tasksCompleted);
|
|
114
|
+
return {
|
|
115
|
+
elapsedMs,
|
|
116
|
+
estimatedCompletion,
|
|
117
|
+
remainingTasks,
|
|
118
|
+
throughput,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get progress as a fraction (0.0 to 1.0)
|
|
123
|
+
*/
|
|
124
|
+
getProgressFraction() {
|
|
125
|
+
return this.state.percentage / 100;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get current progress state
|
|
129
|
+
*/
|
|
130
|
+
getState() {
|
|
131
|
+
return { ...this.state };
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Increment the completed files counter
|
|
135
|
+
*/
|
|
136
|
+
incrementFiles() {
|
|
137
|
+
this.update({ filesCompleted: this.state.filesCompleted + 1 });
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Increment the completed suites counter
|
|
141
|
+
*/
|
|
142
|
+
incrementSuites() {
|
|
143
|
+
this.update({ suitesCompleted: this.state.suitesCompleted + 1 });
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Increment the completed tasks counter
|
|
147
|
+
*/
|
|
148
|
+
incrementTasks() {
|
|
149
|
+
this.update({ tasksCompleted: this.state.tasksCompleted + 1 });
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Initialize progress tracking for a benchmark run
|
|
153
|
+
*/
|
|
154
|
+
initialize(run) {
|
|
155
|
+
// Use summary totals if available (from pre-calculation), otherwise calculate from files
|
|
156
|
+
const totalFiles = run.summary?.totalFiles ?? run.files.length;
|
|
157
|
+
let totalSuites = run.summary?.totalSuites ?? 0;
|
|
158
|
+
let totalTasks = run.summary?.totalTasks ?? 0;
|
|
159
|
+
// If we don't have summary data and have detailed run information, calculate actual totals
|
|
160
|
+
if (!run.summary?.totalTasks && run.files.length > 0) {
|
|
161
|
+
for (const file of run.files) {
|
|
162
|
+
for (const suite of file.suites) {
|
|
163
|
+
totalSuites++;
|
|
164
|
+
totalTasks += suite.tasks.length;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
this.state = {
|
|
169
|
+
elapsed: 0,
|
|
170
|
+
filesCompleted: 0,
|
|
171
|
+
percentage: 0,
|
|
172
|
+
suitesCompleted: 0,
|
|
173
|
+
tasksCompleted: 0,
|
|
174
|
+
totalFiles,
|
|
175
|
+
totalSuites,
|
|
176
|
+
totalTasks,
|
|
177
|
+
};
|
|
178
|
+
this.metrics = {
|
|
179
|
+
currentThroughput: 0,
|
|
180
|
+
estimatedTotal: totalTasks, // Use tasks as the primary progress unit
|
|
181
|
+
recentTimings: [],
|
|
182
|
+
startTime: Date.now(),
|
|
183
|
+
};
|
|
184
|
+
this.lastUpdate = Date.now();
|
|
185
|
+
this.notifyCallbacks();
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Check if the run is complete
|
|
189
|
+
*/
|
|
190
|
+
isComplete() {
|
|
191
|
+
return (this.state.tasksCompleted >= this.state.totalTasks &&
|
|
192
|
+
this.state.totalTasks > 0);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Register a callback for progress updates
|
|
196
|
+
*/
|
|
197
|
+
onProgress(callback) {
|
|
198
|
+
this.callbacks.push(callback);
|
|
199
|
+
} /**
|
|
200
|
+
* Remove a progress callback
|
|
201
|
+
*/
|
|
202
|
+
removeCallback(callback) {
|
|
203
|
+
const index = this.callbacks.indexOf(callback);
|
|
204
|
+
if (index >= 0) {
|
|
205
|
+
this.callbacks.splice(index, 1);
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Set the current file being processed
|
|
212
|
+
*/
|
|
213
|
+
setCurrentFile(file) {
|
|
214
|
+
this.update({ currentFile: file });
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Set the current suite being processed
|
|
218
|
+
*/
|
|
219
|
+
setCurrentSuite(suite) {
|
|
220
|
+
this.update({ currentSuite: suite });
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Set the current task being processed
|
|
224
|
+
*/
|
|
225
|
+
setCurrentTask(task) {
|
|
226
|
+
this.update({ currentTask: task });
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Update progress state
|
|
230
|
+
*/
|
|
231
|
+
update(updates) {
|
|
232
|
+
const now = Date.now();
|
|
233
|
+
// Throttle updates to avoid excessive callbacks
|
|
234
|
+
if (now - this.lastUpdate < this.updateThrottleMs) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
// Calculate elapsed time
|
|
238
|
+
const elapsed = this.metrics ? now - this.metrics.startTime : 0;
|
|
239
|
+
// Apply updates
|
|
240
|
+
this.state = {
|
|
241
|
+
...this.state,
|
|
242
|
+
...updates,
|
|
243
|
+
elapsed,
|
|
244
|
+
percentage: this.calculatePercentage(updates),
|
|
245
|
+
};
|
|
246
|
+
// Update metrics for completion estimation
|
|
247
|
+
this.updateMetrics(now);
|
|
248
|
+
this.lastUpdate = now;
|
|
249
|
+
this.notifyCallbacks();
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Calculate progress percentage from current state
|
|
253
|
+
*/
|
|
254
|
+
calculatePercentage(updates) {
|
|
255
|
+
const currentState = { ...this.state, ...updates };
|
|
256
|
+
if (currentState.totalTasks === 0) {
|
|
257
|
+
return 0;
|
|
258
|
+
}
|
|
259
|
+
return Math.min(100, Math.max(0, (currentState.tasksCompleted / currentState.totalTasks) * 100));
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Calculate average throughput from recent measurements
|
|
263
|
+
*/
|
|
264
|
+
calculateThroughput() {
|
|
265
|
+
if (!this.metrics || this.metrics.recentTimings.length === 0) {
|
|
266
|
+
return 0;
|
|
267
|
+
}
|
|
268
|
+
// Use moving average of recent throughput measurements
|
|
269
|
+
const sum = this.metrics.recentTimings.reduce((acc, timing) => acc + timing, 0);
|
|
270
|
+
return sum / this.metrics.recentTimings.length;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Create initial progress state
|
|
274
|
+
*/
|
|
275
|
+
createInitialState() {
|
|
276
|
+
return {
|
|
277
|
+
elapsed: 0,
|
|
278
|
+
filesCompleted: 0,
|
|
279
|
+
percentage: 0,
|
|
280
|
+
suitesCompleted: 0,
|
|
281
|
+
tasksCompleted: 0,
|
|
282
|
+
totalFiles: 0,
|
|
283
|
+
totalSuites: 0,
|
|
284
|
+
totalTasks: 0,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Notify all registered callbacks of state changes
|
|
289
|
+
*/
|
|
290
|
+
notifyCallbacks() {
|
|
291
|
+
for (const callback of this.callbacks) {
|
|
292
|
+
try {
|
|
293
|
+
callback(this.state);
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
console.error('Error in progress callback:', error);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Update throughput metrics
|
|
302
|
+
*/
|
|
303
|
+
updateMetrics(now) {
|
|
304
|
+
if (!this.metrics) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
// Track timing for throughput calculation
|
|
308
|
+
const elapsed = now - this.metrics.startTime;
|
|
309
|
+
if (elapsed > 0 && this.state.tasksCompleted > 0) {
|
|
310
|
+
const currentThroughput = this.state.tasksCompleted / (elapsed / 1000); // tasks per second
|
|
311
|
+
// Add to recent timings for moving average
|
|
312
|
+
this.metrics.recentTimings.push(currentThroughput);
|
|
313
|
+
// Keep only the most recent timings
|
|
314
|
+
if (this.metrics.recentTimings.length > this.maxRecentTimings) {
|
|
315
|
+
this.metrics.recentTimings.shift();
|
|
316
|
+
}
|
|
317
|
+
this.metrics = {
|
|
318
|
+
...this.metrics,
|
|
319
|
+
currentThroughput,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
exports.ModestBenchProgressManager = ModestBenchProgressManager;
|
|
325
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/progress/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModestBench Progress Manager
|
|
3
|
+
*
|
|
4
|
+
* Tracks execution progress, estimates completion times, and manages progress
|
|
5
|
+
* callbacks for real-time updates during benchmark runs.
|
|
6
|
+
*/
|
|
7
|
+
import type { BenchmarkRun, ProgressManager, ProgressState } from "../types/index.cjs";
|
|
8
|
+
/**
|
|
9
|
+
* Progress callback function type
|
|
10
|
+
*/
|
|
11
|
+
type ProgressCallback = (state: ProgressState) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Default progress manager implementation
|
|
14
|
+
*/
|
|
15
|
+
export declare class ModestBenchProgressManager implements ProgressManager {
|
|
16
|
+
private callbacks;
|
|
17
|
+
private lastUpdate;
|
|
18
|
+
private readonly maxRecentTimings;
|
|
19
|
+
private metrics;
|
|
20
|
+
private state;
|
|
21
|
+
private readonly updateThrottleMs;
|
|
22
|
+
constructor();
|
|
23
|
+
/**
|
|
24
|
+
* Clean up progress tracking resources
|
|
25
|
+
*/
|
|
26
|
+
cleanup(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Estimate completion time
|
|
29
|
+
*/
|
|
30
|
+
estimateCompletion(): Date | null;
|
|
31
|
+
/**
|
|
32
|
+
* Force an immediate progress update (bypassing throttling)
|
|
33
|
+
*/
|
|
34
|
+
forceUpdate(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Format elapsed time as human-readable string
|
|
37
|
+
*/
|
|
38
|
+
getFormattedElapsed(): string;
|
|
39
|
+
/**
|
|
40
|
+
* Format estimated remaining time as human-readable string
|
|
41
|
+
*/
|
|
42
|
+
getFormattedEstimate(): null | string;
|
|
43
|
+
/**
|
|
44
|
+
* Get detailed progress metrics
|
|
45
|
+
*/
|
|
46
|
+
getMetrics(): null | {
|
|
47
|
+
elapsedMs: number;
|
|
48
|
+
estimatedCompletion: Date | null;
|
|
49
|
+
remainingTasks: number;
|
|
50
|
+
throughput: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Get progress as a fraction (0.0 to 1.0)
|
|
54
|
+
*/
|
|
55
|
+
getProgressFraction(): number;
|
|
56
|
+
/**
|
|
57
|
+
* Get current progress state
|
|
58
|
+
*/
|
|
59
|
+
getState(): ProgressState;
|
|
60
|
+
/**
|
|
61
|
+
* Increment the completed files counter
|
|
62
|
+
*/
|
|
63
|
+
incrementFiles(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Increment the completed suites counter
|
|
66
|
+
*/
|
|
67
|
+
incrementSuites(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Increment the completed tasks counter
|
|
70
|
+
*/
|
|
71
|
+
incrementTasks(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Initialize progress tracking for a benchmark run
|
|
74
|
+
*/
|
|
75
|
+
initialize(run: BenchmarkRun): void;
|
|
76
|
+
/**
|
|
77
|
+
* Check if the run is complete
|
|
78
|
+
*/
|
|
79
|
+
isComplete(): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Register a callback for progress updates
|
|
82
|
+
*/
|
|
83
|
+
onProgress(callback: ProgressCallback): void; /**
|
|
84
|
+
* Remove a progress callback
|
|
85
|
+
*/
|
|
86
|
+
removeCallback(callback: ProgressCallback): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Set the current file being processed
|
|
89
|
+
*/
|
|
90
|
+
setCurrentFile(file: string): void;
|
|
91
|
+
/**
|
|
92
|
+
* Set the current suite being processed
|
|
93
|
+
*/
|
|
94
|
+
setCurrentSuite(suite: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Set the current task being processed
|
|
97
|
+
*/
|
|
98
|
+
setCurrentTask(task: string): void;
|
|
99
|
+
/**
|
|
100
|
+
* Update progress state
|
|
101
|
+
*/
|
|
102
|
+
update(updates: Partial<ProgressState>): void;
|
|
103
|
+
/**
|
|
104
|
+
* Calculate progress percentage from current state
|
|
105
|
+
*/
|
|
106
|
+
private calculatePercentage;
|
|
107
|
+
/**
|
|
108
|
+
* Calculate average throughput from recent measurements
|
|
109
|
+
*/
|
|
110
|
+
private calculateThroughput;
|
|
111
|
+
/**
|
|
112
|
+
* Create initial progress state
|
|
113
|
+
*/
|
|
114
|
+
private createInitialState;
|
|
115
|
+
/**
|
|
116
|
+
* Notify all registered callbacks of state changes
|
|
117
|
+
*/
|
|
118
|
+
private notifyCallbacks;
|
|
119
|
+
/**
|
|
120
|
+
* Update throughput metrics
|
|
121
|
+
*/
|
|
122
|
+
private updateMetrics;
|
|
123
|
+
}
|
|
124
|
+
export {};
|
|
125
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/progress/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACd,2BAA0B;AAE3B;;GAEG;AACH,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAYvD;;GAEG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAChE,OAAO,CAAC,SAAS,CAA0B;IAE3C,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAEvC,OAAO,CAAC,OAAO,CAAgC;IAE/C,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;;IAMxC;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,kBAAkB,IAAI,IAAI,GAAG,IAAI;IA0BjC;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAc7B;;OAEG;IACH,oBAAoB,IAAI,IAAI,GAAG,MAAM;IAwBrC;;OAEG;IACH,UAAU,IAAI,IAAI,GAAG;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAC;QACjC,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB;IAqBD;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsCnC;;OAEG;IACH,UAAU,IAAI,OAAO;IAOrB;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EAE1C;;OAEC;IAEH,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO;IASnD;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IA0B7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAwBtB"}
|