Return execution time
This commit is contained in:
@@ -97,6 +97,7 @@ async function executeUserCode(
|
||||
funcName = "userFunc"
|
||||
) {
|
||||
const logs = [];
|
||||
const startTime = process.hrtime();
|
||||
const vm = createVm(
|
||||
logs,
|
||||
requestObject,
|
||||
@@ -118,21 +119,27 @@ async function executeUserCode(
|
||||
const result = await Promise.resolve(
|
||||
userFn(requestObject, vm.sandbox.environment)
|
||||
);
|
||||
const endTime = process.hrtime(startTime);
|
||||
const executionTime = (endTime[0] * 1e9 + endTime[1]) / 1e6; // in milliseconds
|
||||
return {
|
||||
status: States.SUCCESS,
|
||||
result,
|
||||
logs,
|
||||
environment: vm.sandbox.environment,
|
||||
execution_time: executionTime,
|
||||
};
|
||||
} catch (err) {
|
||||
const status = /timed out/i.test(err.message)
|
||||
? States.TIMEOUT
|
||||
: States.SCRIPT_ERROR;
|
||||
const endTime = process.hrtime(startTime);
|
||||
const executionTime = (endTime[0] * 1e9 + endTime[1]) / 1e6; // in milliseconds
|
||||
return {
|
||||
status,
|
||||
result: err.message ?? err,
|
||||
logs,
|
||||
environment: vm.sandbox.environment,
|
||||
execution_time: executionTime,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user