@coherentglobal/wasm-runner 0.1.4 → 0.1.19
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/README.md +137 -222
- package/dist/browser/template/main.template.js +1 -1
- package/dist/browser/template/main.template.js.map +1 -1
- package/dist/browser/template/worker.template.js +7 -4
- package/dist/browser/template/worker.template.js.map +1 -1
- package/dist/browser/template.js +1 -1
- package/dist/browser/template.js.map +1 -1
- package/dist/browser.d.ts +2 -2
- package/dist/browser.js +6 -6
- package/dist/browser.js.map +1 -1
- package/dist/error.d.ts +5 -0
- package/dist/error.js +13 -3
- package/dist/error.js.map +1 -1
- package/dist/node/logger.js +1 -1
- package/dist/node/logger.js.map +1 -1
- package/dist/node/logger.ts +1 -1
- package/dist/node/template/main.template.ejs +77 -64
- package/dist/node/threads/workerPool.d.ts +3 -5
- package/dist/node/threads/workerPool.js +7 -11
- package/dist/node/threads/workerPool.js.map +1 -1
- package/dist/node/threads/workerPool.ts +12 -10
- package/dist/node/threads/workerThread.d.ts +1 -0
- package/dist/node/threads/workerThread.js +17 -9
- package/dist/node/threads/workerThread.js.map +1 -1
- package/dist/node/threads/workerThread.ts +21 -14
- package/dist/node.d.ts +20 -5
- package/dist/node.js +243 -36
- package/dist/node.js.map +1 -1
- package/dist/responseTimeMetric.d.ts +16 -0
- package/dist/responseTimeMetric.js +56 -0
- package/dist/responseTimeMetric.js.map +1 -0
- package/dist/serializer/columnarSerializer.d.ts +3 -2
- package/dist/serializer/columnarSerializer.js +10 -1
- package/dist/serializer/columnarSerializer.js.map +1 -1
- package/dist/types.d.ts +34 -2
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +19 -15
- package/dist/utils.js.map +1 -1
- package/package.json +7 -4
package/dist/node.js
CHANGED
|
@@ -51,11 +51,14 @@ const fs_1 = __importStar(require("fs"));
|
|
|
51
51
|
const path_1 = __importDefault(require("path"));
|
|
52
52
|
const util_1 = require("util");
|
|
53
53
|
const got_1 = __importDefault(require("got"));
|
|
54
|
+
const semver_1 = __importDefault(require("semver"));
|
|
54
55
|
const workerPool_1 = __importDefault(require("./node/threads/workerPool"));
|
|
55
56
|
const utils = __importStar(require("./utils"));
|
|
57
|
+
const types_1 = require("./types");
|
|
56
58
|
const error_1 = __importDefault(require("./error"));
|
|
57
59
|
const node_os_1 = require("node:os");
|
|
58
60
|
const constants_1 = require("./constants");
|
|
61
|
+
const responseTimeMetric_1 = __importDefault(require("./responseTimeMetric"));
|
|
59
62
|
/* istanbul ignore next */
|
|
60
63
|
var columnarSerializer_1 = require("./serializer/columnarSerializer");
|
|
61
64
|
Object.defineProperty(exports, "ColumnarSerializer", { enumerable: true, get: function () { return columnarSerializer_1.ColumnarSerializer; } });
|
|
@@ -93,6 +96,7 @@ const unzipFiles = (id, url, workerFolder) => {
|
|
|
93
96
|
let data;
|
|
94
97
|
let metadata;
|
|
95
98
|
let formspec;
|
|
99
|
+
let compilerLog;
|
|
96
100
|
// @ts-ignore
|
|
97
101
|
const stream = fs_1.default.createReadStream(url).pipe((0, unzipper_1.Parse)());
|
|
98
102
|
return new Promise((resolve, reject) => {
|
|
@@ -116,6 +120,9 @@ const unzipFiles = (id, url, workerFolder) => {
|
|
|
116
120
|
if (entry.path.toLowerCase().indexOf("_jsonformspec.json") > -1) {
|
|
117
121
|
formspec = fileName;
|
|
118
122
|
}
|
|
123
|
+
if (entry.path.toLowerCase().indexOf("_compilerlog.json") > -1) {
|
|
124
|
+
compilerLog = fileName;
|
|
125
|
+
}
|
|
119
126
|
return entry.pipe(writeStream);
|
|
120
127
|
}
|
|
121
128
|
return entry.autodrain();
|
|
@@ -132,6 +139,7 @@ const unzipFiles = (id, url, workerFolder) => {
|
|
|
132
139
|
data,
|
|
133
140
|
metadata,
|
|
134
141
|
formspec,
|
|
142
|
+
compilerLog,
|
|
135
143
|
});
|
|
136
144
|
});
|
|
137
145
|
stream.on("error", (error) => reject(error));
|
|
@@ -159,23 +167,30 @@ class WasmRunner {
|
|
|
159
167
|
*
|
|
160
168
|
* @param {RunnerConfig} wasmRunnerConfig
|
|
161
169
|
*/
|
|
162
|
-
constructor(wasmRunnerConfig, externalResolverModule = "", license = "") {
|
|
170
|
+
constructor(wasmRunnerConfig, externalResolverModule = "", options = {}, license = "") {
|
|
171
|
+
let baseTmpDir = null;
|
|
172
|
+
if (process.env.DEV_DEBUG_TMP_PATH) {
|
|
173
|
+
baseTmpDir = path_1.default.join(process.cwd(), process.env.DEV_DEBUG_TMP_PATH);
|
|
174
|
+
}
|
|
163
175
|
this._tempWorkerFolder = tmp_1.default.dirSync({
|
|
164
176
|
prefix: "wasmserver_worker",
|
|
165
177
|
// @ts-ignore
|
|
166
178
|
mode: 0o750,
|
|
179
|
+
tmpdir: baseTmpDir,
|
|
167
180
|
});
|
|
168
181
|
this._tempModelFolder = tmp_1.default.dirSync({
|
|
169
182
|
prefix: "wasmserver_model",
|
|
170
183
|
// @ts-ignore
|
|
171
184
|
mode: 0o750,
|
|
185
|
+
tmpdir: baseTmpDir,
|
|
172
186
|
});
|
|
173
187
|
this.license = license;
|
|
174
188
|
this.initializingModels = [];
|
|
175
189
|
this.externalResolverModule = externalResolverModule
|
|
176
|
-
? require.resolve(externalResolverModule)
|
|
177
|
-
: require.resolve("./defaultExternalResolver");
|
|
190
|
+
? require(useCorrectPath(require.resolve(externalResolverModule)))
|
|
191
|
+
: require(require.resolve("./defaultExternalResolver"));
|
|
178
192
|
this.models = [];
|
|
193
|
+
this.options = options;
|
|
179
194
|
if (!utils.isEmpty(wasmRunnerConfig)) {
|
|
180
195
|
if (Array.isArray(wasmRunnerConfig)) {
|
|
181
196
|
this.models = wasmRunnerConfig.map((wsconfig) => ({
|
|
@@ -200,20 +215,24 @@ class WasmRunner {
|
|
|
200
215
|
* @function initialize
|
|
201
216
|
*/
|
|
202
217
|
/* istanbul ignore next */
|
|
203
|
-
initialize(
|
|
204
|
-
return __awaiter(this,
|
|
218
|
+
initialize() {
|
|
219
|
+
return __awaiter(this, arguments, void 0, function* (license = "") {
|
|
220
|
+
if (this.options.compatibilityCheckEnabled) {
|
|
221
|
+
this.safeCompiler = yield this.getSafeCompilerVersion(this.options.runnerVersion);
|
|
222
|
+
}
|
|
205
223
|
yield Promise.all(this.models.map((m) => __awaiter(this, void 0, void 0, function* () {
|
|
206
224
|
return this._initializeModelInstance(m);
|
|
207
225
|
})));
|
|
208
226
|
});
|
|
209
227
|
}
|
|
210
228
|
/* istanbul ignore next */
|
|
211
|
-
_createModelInstance(
|
|
212
|
-
return __awaiter(this,
|
|
229
|
+
_createModelInstance(id_1, url_1, workerFolder_1) {
|
|
230
|
+
return __awaiter(this, arguments, void 0, function* (id, url, workerFolder, size = 1) {
|
|
231
|
+
const workerSize = size || 1;
|
|
213
232
|
logger_1.default.debug({
|
|
214
233
|
TimeStamp: Date.now(),
|
|
215
234
|
EventType: "Runner._createModelInstance",
|
|
216
|
-
size:
|
|
235
|
+
size: workerSize,
|
|
217
236
|
ModelId: id,
|
|
218
237
|
});
|
|
219
238
|
const tempFolder = path_1.default.join(workerFolder, `${id}-${Date.now()}`);
|
|
@@ -231,6 +250,11 @@ class WasmRunner {
|
|
|
231
250
|
});
|
|
232
251
|
const modelName = id;
|
|
233
252
|
yield replaceRegexInFile(modelPack.js, `wasmBinaryFile="${path_1.default.basename(modelPack.wasm)}"`, `scriptDirectory="";wasmBinaryFile="${modelPack.wasm}"`);
|
|
253
|
+
const replaceIsFileURLFunc = "function isFileURI(filename) { if(typeof process !== undefined && process.versions && process.versions.node) { return true; }";
|
|
254
|
+
yield replaceRegexInFile(modelPack.js, "function isFileURI(filename) {", replaceIsFileURLFunc);
|
|
255
|
+
yield replaceRegexInFile(modelPack.js, "function isFileURI(filename){", replaceIsFileURLFunc);
|
|
256
|
+
// Remove `new URL()` since `isFileURI` will always be true for Node
|
|
257
|
+
yield replaceRegexInFile(modelPack.js, /\s*isFileURI\s*\(\s*filename\s*\)\s*\?\s*new\s*URL\s*\(\s*filename\s*\)\s*:\s*/g, "");
|
|
234
258
|
if (modelPack.data) {
|
|
235
259
|
yield replaceRegexInFile(modelPack.js, `"${path_1.default.basename(modelPack.data)}"`, `"${modelPack.data}"`);
|
|
236
260
|
yield replaceRegexInFile(modelPack.js, `"${path_1.default.basename(modelPack.data)}"`, `"${modelPack.data}"`);
|
|
@@ -238,7 +262,7 @@ class WasmRunner {
|
|
|
238
262
|
yield replaceRegexInFile(modelPack.js, `"${path_1.default.basename(modelPack.data)}"`, `"${modelPack.data}"`);
|
|
239
263
|
}
|
|
240
264
|
// Prepare File Paths
|
|
241
|
-
const externalResolverPath = useCorrectPath(this.externalResolverModule);
|
|
265
|
+
// const externalResolverPath = useCorrectPath(this.externalResolverModule);
|
|
242
266
|
const loggerPath = useCorrectPath(process.env.NODE_ENV === "test"
|
|
243
267
|
? require.resolve("./node/mockLogger.js")
|
|
244
268
|
: require.resolve("./node/logger"));
|
|
@@ -255,6 +279,14 @@ class WasmRunner {
|
|
|
255
279
|
const formSpecPath = useCorrectPath(require.resolve(modelPack.formspec));
|
|
256
280
|
formspec = `require("${formSpecPath}")`;
|
|
257
281
|
}
|
|
282
|
+
let compilerVersion = "undefined";
|
|
283
|
+
let compatibilityStatus = "undefined";
|
|
284
|
+
compilerVersion = !utils.isEmpty(modelPack.compilerLog)
|
|
285
|
+
? yield this.getNeuronCompilerVersion(`"${modelPack.compilerLog}"`)
|
|
286
|
+
: undefined;
|
|
287
|
+
if (this.options.compatibilityCheckEnabled) {
|
|
288
|
+
compatibilityStatus = yield this.checkCompilerVersionCompatibility(compilerVersion);
|
|
289
|
+
}
|
|
258
290
|
const fileContent = template({
|
|
259
291
|
runtime: modelPack.js.replace(".js", ""),
|
|
260
292
|
model: modelPack.wasm,
|
|
@@ -262,7 +294,6 @@ class WasmRunner {
|
|
|
262
294
|
formspec,
|
|
263
295
|
modelName,
|
|
264
296
|
modules: {
|
|
265
|
-
externalResolver: externalResolverPath,
|
|
266
297
|
logger: loggerPath,
|
|
267
298
|
workerThread: workerThread,
|
|
268
299
|
},
|
|
@@ -274,6 +305,7 @@ class WasmRunner {
|
|
|
274
305
|
EventType: "Runner.CreateTemplates",
|
|
275
306
|
ModelId: id,
|
|
276
307
|
});
|
|
308
|
+
let workerPool;
|
|
277
309
|
/**
|
|
278
310
|
* Processes the requests from Worker thread. Interprets the request
|
|
279
311
|
* `type` and implement necessary logic and returns the result.
|
|
@@ -282,18 +314,17 @@ class WasmRunner {
|
|
|
282
314
|
* Event details from Worker thread.
|
|
283
315
|
*/
|
|
284
316
|
const processWorkerThreadRequest = (requestData) => __awaiter(this, void 0, void 0, function* () {
|
|
285
|
-
const { type, payload,
|
|
317
|
+
const { type, payload, context, threadId } = requestData;
|
|
286
318
|
// Worker request of model execution on main thread.
|
|
287
319
|
if (type === constants_1.THREAD_EVENT_TYPES.REQUEST_EXECUTE) {
|
|
288
320
|
try {
|
|
289
|
-
const resolverModule = require(this.externalResolverModule);
|
|
290
321
|
// Callback the resolver function
|
|
291
|
-
const result = yield
|
|
322
|
+
const result = yield this.externalResolverModule.sparkService(payload, context);
|
|
292
323
|
// Send back the response to worker thread
|
|
293
324
|
workerPool.postMessage({
|
|
294
325
|
payload: result,
|
|
295
326
|
type: constants_1.THREAD_EVENT_TYPES.RESPONSE,
|
|
296
|
-
|
|
327
|
+
threadId,
|
|
297
328
|
});
|
|
298
329
|
}
|
|
299
330
|
catch (e) {
|
|
@@ -301,32 +332,61 @@ class WasmRunner {
|
|
|
301
332
|
workerPool.postMessage({
|
|
302
333
|
payload: e,
|
|
303
334
|
type: constants_1.THREAD_EVENT_TYPES.ERROR,
|
|
304
|
-
|
|
335
|
+
threadId,
|
|
305
336
|
});
|
|
306
337
|
}
|
|
307
338
|
}
|
|
308
339
|
});
|
|
309
|
-
const
|
|
340
|
+
const workerName = path_1.default.basename(modelPack.js, path_1.default.extname(modelPack.js)) || "";
|
|
341
|
+
workerPool = new workerPool_1.default(workerSize, workerPath, {
|
|
310
342
|
errorHandler: (e) => logger_1.default.error("Worker Error: ", e),
|
|
343
|
+
onlineHandler: () => logger_1.default.info(`Worker ${id} online`),
|
|
311
344
|
// Receive messages from worker here
|
|
312
345
|
messageHandler: processWorkerThreadRequest,
|
|
346
|
+
workerOptions: {
|
|
347
|
+
name: workerName,
|
|
348
|
+
},
|
|
349
|
+
enableTasksQueue: true
|
|
313
350
|
});
|
|
314
351
|
logger_1.default.debug({
|
|
315
352
|
TimeStamp: Date.now(),
|
|
316
353
|
EventType: "Runner.ModelInitialize",
|
|
317
354
|
ModelId: id,
|
|
318
355
|
});
|
|
356
|
+
workerPool.start();
|
|
319
357
|
return new Promise((resolve, reject) => {
|
|
320
358
|
let limit = 0;
|
|
359
|
+
let readyCount = workerSize;
|
|
360
|
+
const stats = {};
|
|
321
361
|
const checkModelStatus = () => __awaiter(this, void 0, void 0, function* () {
|
|
322
|
-
|
|
323
|
-
|
|
362
|
+
var _a;
|
|
363
|
+
const readyRes = yield workerPool.execute("isReady");
|
|
364
|
+
if (readyRes && !stats[readyRes.threadId]) {
|
|
365
|
+
stats[readyRes.threadId] = {
|
|
366
|
+
init_memory: readyRes.memoryUsage,
|
|
367
|
+
init_time_ms: readyRes.time,
|
|
368
|
+
ready_ts: ((_a = readyRes.payload) === null || _a === void 0 ? void 0 : _a.readyTs) || readyRes.readyTs,
|
|
369
|
+
peak_memory: readyRes.memoryUsage,
|
|
370
|
+
last_execute_consume_memory: readyRes.memoryUsage
|
|
371
|
+
};
|
|
372
|
+
readyCount = readyCount - 1;
|
|
324
373
|
logger_1.default.debug({
|
|
325
374
|
TimeStamp: Date.now(),
|
|
326
375
|
EventType: "Runner.ModelInitialize.Completed",
|
|
327
376
|
ModelId: id,
|
|
328
377
|
});
|
|
329
|
-
|
|
378
|
+
if (readyCount === 0) {
|
|
379
|
+
resolve({
|
|
380
|
+
instance: workerPool,
|
|
381
|
+
compilerVersion,
|
|
382
|
+
compatibilityStatus,
|
|
383
|
+
size: workerSize,
|
|
384
|
+
stats: stats
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
setTimeout(checkModelStatus, 1);
|
|
389
|
+
}
|
|
330
390
|
}
|
|
331
391
|
else if (limit >= 2000) {
|
|
332
392
|
// 1 second
|
|
@@ -346,15 +406,23 @@ class WasmRunner {
|
|
|
346
406
|
_initializeModelInstance(m) {
|
|
347
407
|
return __awaiter(this, void 0, void 0, function* () {
|
|
348
408
|
if (utils.isHttpURL(m.url)) {
|
|
349
|
-
const instance = yield this._createModelInstanceFromURL(m.id, m.url, this._tempWorkerFolder.name, this._tempModelFolder.name, m.size);
|
|
409
|
+
const { instance, compilerVersion, compatibilityStatus, stats } = yield this._createModelInstanceFromURL(m.id, m.url, this._tempWorkerFolder.name, this._tempModelFolder.name, m.size);
|
|
350
410
|
m.ready = true;
|
|
351
411
|
m.worker = instance;
|
|
412
|
+
m.compatibility_status = compatibilityStatus;
|
|
413
|
+
m.compilerVersion = compilerVersion;
|
|
414
|
+
m.stats = stats;
|
|
415
|
+
m.responseTimeMetrics = new responseTimeMetric_1.default();
|
|
352
416
|
return Promise.resolve();
|
|
353
417
|
}
|
|
354
418
|
if (yield utils.isPath(m.url)) {
|
|
355
|
-
const instance = yield this._createModelInstance(m.id, m.url, this._tempWorkerFolder.name, m.size);
|
|
419
|
+
const { instance, compilerVersion, compatibilityStatus, stats } = yield this._createModelInstance(m.id, m.url, this._tempWorkerFolder.name, m.size);
|
|
356
420
|
m.ready = true;
|
|
357
421
|
m.worker = instance;
|
|
422
|
+
m.compatibility_status = compatibilityStatus;
|
|
423
|
+
m.compilerVersion = compilerVersion;
|
|
424
|
+
m.stats = stats;
|
|
425
|
+
m.responseTimeMetrics = new responseTimeMetric_1.default();
|
|
358
426
|
return Promise.resolve();
|
|
359
427
|
}
|
|
360
428
|
if (Buffer.isBuffer(m.url)) {
|
|
@@ -362,9 +430,13 @@ class WasmRunner {
|
|
|
362
430
|
const modelPath = path_1.default.join(this._tempWorkerFolder.name, `${m.id}.zip`);
|
|
363
431
|
const fileWriterStream = (0, fs_1.createWriteStream)(modelPath);
|
|
364
432
|
yield pipeline(model, fileWriterStream);
|
|
365
|
-
const instance = yield this._createModelInstance(m.id, modelPath, this._tempWorkerFolder.name, m.size);
|
|
433
|
+
const { instance, compilerVersion, compatibilityStatus, stats } = yield this._createModelInstance(m.id, modelPath, this._tempWorkerFolder.name, m.size);
|
|
366
434
|
m.ready = true;
|
|
367
435
|
m.worker = instance;
|
|
436
|
+
m.compatibility_status = compatibilityStatus;
|
|
437
|
+
m.compilerVersion = compilerVersion;
|
|
438
|
+
m.stats = stats;
|
|
439
|
+
m.responseTimeMetrics = new responseTimeMetric_1.default();
|
|
368
440
|
return Promise.resolve();
|
|
369
441
|
}
|
|
370
442
|
});
|
|
@@ -395,6 +467,9 @@ class WasmRunner {
|
|
|
395
467
|
*/
|
|
396
468
|
append(modelConfig) {
|
|
397
469
|
return __awaiter(this, void 0, void 0, function* () {
|
|
470
|
+
if (this.options.compatibilityCheckEnabled) {
|
|
471
|
+
this.safeCompiler = yield this.getSafeCompilerVersion(this.options.runnerVersion);
|
|
472
|
+
}
|
|
398
473
|
if (!this.isExist(modelConfig.id)) {
|
|
399
474
|
const model = {
|
|
400
475
|
id: modelConfig.id,
|
|
@@ -403,7 +478,8 @@ class WasmRunner {
|
|
|
403
478
|
busy: 0,
|
|
404
479
|
};
|
|
405
480
|
if (!this.isExist(modelConfig.id)) {
|
|
406
|
-
if (this.initializingModels.findIndex((im) => im === modelConfig.id) ===
|
|
481
|
+
if (this.initializingModels.findIndex((im) => im === modelConfig.id) ===
|
|
482
|
+
-1) {
|
|
407
483
|
try {
|
|
408
484
|
this.initializingModels.push(modelConfig.id);
|
|
409
485
|
yield this._initializeModelInstance(model);
|
|
@@ -419,7 +495,9 @@ class WasmRunner {
|
|
|
419
495
|
else {
|
|
420
496
|
const maxRetry = 600;
|
|
421
497
|
let retry = 0;
|
|
422
|
-
while (this.initializingModels.findIndex((im) => im === modelConfig.id) >
|
|
498
|
+
while (this.initializingModels.findIndex((im) => im === modelConfig.id) >
|
|
499
|
+
-1 &&
|
|
500
|
+
retry < maxRetry) {
|
|
423
501
|
yield delay(100);
|
|
424
502
|
retry++;
|
|
425
503
|
}
|
|
@@ -504,6 +582,17 @@ class WasmRunner {
|
|
|
504
582
|
throw new error_1.default.ModelInitializationError(id);
|
|
505
583
|
return model;
|
|
506
584
|
}
|
|
585
|
+
getModelSize(id) {
|
|
586
|
+
const model = this._getModel(id);
|
|
587
|
+
return model.size || 1;
|
|
588
|
+
}
|
|
589
|
+
getModelCompilerVersion(id) {
|
|
590
|
+
const model = this._getModel(id);
|
|
591
|
+
if (model.compilerVersion && model.compilerVersion !== 'undefined') {
|
|
592
|
+
return model.compilerVersion;
|
|
593
|
+
}
|
|
594
|
+
return undefined;
|
|
595
|
+
}
|
|
507
596
|
/**
|
|
508
597
|
* Check if model existed
|
|
509
598
|
* @param {string} id Model id
|
|
@@ -517,15 +606,65 @@ class WasmRunner {
|
|
|
517
606
|
return false;
|
|
518
607
|
}
|
|
519
608
|
}
|
|
609
|
+
isModelCompatible(model, input) {
|
|
610
|
+
if (!this.options.compatibilityCheckEnabled) {
|
|
611
|
+
return true;
|
|
612
|
+
}
|
|
613
|
+
switch (model.compatibility_status) {
|
|
614
|
+
case types_1.Compatibility.INCOMPATIBLE:
|
|
615
|
+
throw new error_1.default.ModelExecuteError(this.getIncompatibleMessage(model), model.id, input);
|
|
616
|
+
case types_1.Compatibility.PARTIAL:
|
|
617
|
+
logger_1.default.warn({
|
|
618
|
+
TimeStamp: Date.now(),
|
|
619
|
+
EventType: "Runner.Execute.Compatibility.Warning",
|
|
620
|
+
TextMessage: this.getPartiallyCompatibleMessage(model),
|
|
621
|
+
ModelId: model.id,
|
|
622
|
+
});
|
|
623
|
+
return true;
|
|
624
|
+
case types_1.Compatibility.COMPATIBLE:
|
|
625
|
+
return true;
|
|
626
|
+
}
|
|
627
|
+
return true;
|
|
628
|
+
}
|
|
629
|
+
getModelsStats() {
|
|
630
|
+
return this.models.map(model => {
|
|
631
|
+
const stats = Object.assign({}, model.stats);
|
|
632
|
+
Object.keys(stats).forEach(threadId => {
|
|
633
|
+
stats[threadId] = Object.assign({}, stats[threadId]);
|
|
634
|
+
Object.keys(stats[threadId]).forEach(k => {
|
|
635
|
+
if (k.indexOf('_memory') > -1) {
|
|
636
|
+
stats[threadId][`${k}_mb`] = utils.formatMemory(stats[threadId][k]);
|
|
637
|
+
delete stats[threadId][k];
|
|
638
|
+
}
|
|
639
|
+
if (k.indexOf('ready_ts') > -1) {
|
|
640
|
+
stats[threadId].uptime_ms = Date.now() - stats[threadId]['ready_ts'];
|
|
641
|
+
delete stats[threadId][k];
|
|
642
|
+
}
|
|
643
|
+
});
|
|
644
|
+
});
|
|
645
|
+
return {
|
|
646
|
+
stats: Object.assign(Object.assign({}, stats), { uptime_ms: Math.min(...Object.keys(stats).map((k) => stats[k].uptime_ms)), min_time_ms: model.responseTimeMetrics.min, mean_time_ms: model.responseTimeMetrics.mean, p95_time_ms: model.responseTimeMetrics.p95, p99_time_ms: model.responseTimeMetrics.p99, max_time_ms: model.responseTimeMetrics.max }),
|
|
647
|
+
busy: model.busy,
|
|
648
|
+
size: model.size,
|
|
649
|
+
id: model.id
|
|
650
|
+
};
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
getPartiallyCompatibleMessage(model) {
|
|
654
|
+
return `The Wasm was compiled using ${model.compilerVersion} which is not fully supported by this runner version ${this.safeCompiler}. The service should be able to run but could encounter errors`;
|
|
655
|
+
}
|
|
656
|
+
getIncompatibleMessage(model) {
|
|
657
|
+
return `The Wasm was compiled using ${model.compilerVersion} which is not supported by this runner version ${this.safeCompiler}.`;
|
|
658
|
+
}
|
|
520
659
|
/**
|
|
521
660
|
* Perform calculation. The runner will use request_meta.version_uuid of input argument to locate model
|
|
522
661
|
* @async
|
|
523
662
|
* @param {InputObject} input - Input data for calculation
|
|
524
663
|
* @returns {Promise<ResponseObject>} - Response model data
|
|
525
664
|
*/
|
|
526
|
-
execute(
|
|
527
|
-
|
|
528
|
-
|
|
665
|
+
execute(input_1) {
|
|
666
|
+
return __awaiter(this, arguments, void 0, function* (input, id = undefined, raw = false, cancelToken) {
|
|
667
|
+
var _a, _b, _c;
|
|
529
668
|
let logInput;
|
|
530
669
|
const token = cancelToken ? cancelToken.getToken() : undefined;
|
|
531
670
|
if (utils.isV3Input(input)) {
|
|
@@ -583,15 +722,31 @@ class WasmRunner {
|
|
|
583
722
|
model.busy = model.busy + 1;
|
|
584
723
|
}
|
|
585
724
|
let parsedResult;
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
725
|
+
if (this.isModelCompatible(model, input)) {
|
|
726
|
+
const start = Date.now();
|
|
727
|
+
const res = yield model.worker.execute(input);
|
|
728
|
+
const execTime = Date.now() - start;
|
|
729
|
+
if (res.memoryUsage > model.stats[res.threadId].peak_memory) {
|
|
730
|
+
model.stats[res.threadId].peak_memory = res.memoryUsage;
|
|
731
|
+
}
|
|
732
|
+
model.stats[res.threadId].last_execute_consume_memory = res.memoryUsage;
|
|
733
|
+
model.responseTimeMetrics.record(execTime);
|
|
734
|
+
if (res.error) {
|
|
735
|
+
throw res.error;
|
|
736
|
+
}
|
|
737
|
+
parsedResult = res.payload;
|
|
738
|
+
logger_1.default.debug({
|
|
739
|
+
TimeStamp: Date.now(),
|
|
740
|
+
EventType: "Runner.Execute.Completed",
|
|
741
|
+
executeDuration: Date.now() - start,
|
|
742
|
+
runnerCallId: callid,
|
|
743
|
+
ModelId: id,
|
|
744
|
+
});
|
|
745
|
+
return parsedResult;
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
throw new error_1.default.ModelExecuteError(this.getIncompatibleMessage(model), version_uuid, input);
|
|
749
|
+
}
|
|
595
750
|
}
|
|
596
751
|
catch (err) {
|
|
597
752
|
logger_1.default.error(err);
|
|
@@ -612,6 +767,58 @@ class WasmRunner {
|
|
|
612
767
|
}
|
|
613
768
|
});
|
|
614
769
|
}
|
|
770
|
+
getNeuronCompilerVersion(logFile) {
|
|
771
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
772
|
+
let compilerVersion = undefined;
|
|
773
|
+
const data = fs_1.default.readFileSync(logFile.replace(/"/g, ""), "utf8");
|
|
774
|
+
const modelJsonInfo = JSON.parse(data);
|
|
775
|
+
if (!semver_1.default.valid(modelJsonInfo.CompilerVersion)) {
|
|
776
|
+
throw new error_1.default.CompatibilityJsonError(`The Wasm was compiled using ${modelJsonInfo.CompilerVersion} which is not supported by the compatibility check.`);
|
|
777
|
+
}
|
|
778
|
+
compilerVersion = semver_1.default.coerce(modelJsonInfo.CompilerVersion).version;
|
|
779
|
+
return compilerVersion;
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
checkCompilerVersionCompatibility(modelCompilerVersion) {
|
|
783
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
784
|
+
try {
|
|
785
|
+
const safeCompilerVersion = this.safeCompiler;
|
|
786
|
+
if (modelCompilerVersion) {
|
|
787
|
+
if (semver_1.default.lte(modelCompilerVersion, safeCompilerVersion)) {
|
|
788
|
+
return types_1.Compatibility.COMPATIBLE;
|
|
789
|
+
}
|
|
790
|
+
else {
|
|
791
|
+
return types_1.Compatibility.PARTIAL;
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
else {
|
|
795
|
+
return types_1.Compatibility.COMPATIBLE;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
catch (err) {
|
|
799
|
+
if (err.code === "ENOENT" || err.message === "File not found") {
|
|
800
|
+
return types_1.Compatibility.COMPATIBLE;
|
|
801
|
+
}
|
|
802
|
+
else if (err instanceof SyntaxError) {
|
|
803
|
+
return types_1.Compatibility.INCOMPATIBLE;
|
|
804
|
+
}
|
|
805
|
+
else {
|
|
806
|
+
throw err;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
getSafeCompilerVersion(runnerVersion) {
|
|
812
|
+
var _a;
|
|
813
|
+
const runnerVersions = (_a = this.options.compatibilityList) === null || _a === void 0 ? void 0 : _a.runner_versions;
|
|
814
|
+
if (!this.options.compatibilityList) {
|
|
815
|
+
throw new error_1.default.CompatibilityJsonError("No runner compiler compatibility list provided");
|
|
816
|
+
}
|
|
817
|
+
if (!runnerVersions.hasOwnProperty(runnerVersion)) {
|
|
818
|
+
throw new error_1.default.CompatibilityJsonError(`No compiler compatibility found for the runner version ${runnerVersion}`);
|
|
819
|
+
}
|
|
820
|
+
return runnerVersions[runnerVersion].safe_compiler;
|
|
821
|
+
}
|
|
615
822
|
}
|
|
616
823
|
exports.WasmRunner = WasmRunner;
|
|
617
824
|
//# sourceMappingURL=node.js.map
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default class ResponseTimeMetrics {
|
|
2
|
+
private windowSize;
|
|
3
|
+
private responseTimes;
|
|
4
|
+
private totalResponseTime;
|
|
5
|
+
private count;
|
|
6
|
+
private minTime;
|
|
7
|
+
private maxTime;
|
|
8
|
+
constructor(windowSize?: number);
|
|
9
|
+
record(responseTime: number): void;
|
|
10
|
+
get mean(): number;
|
|
11
|
+
get p95(): number;
|
|
12
|
+
get p99(): number;
|
|
13
|
+
get max(): number;
|
|
14
|
+
get min(): number;
|
|
15
|
+
private percentile;
|
|
16
|
+
}
|