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