diff --git a/server.js b/server.js index 4eaf21b..1524a9e 100644 --- a/server.js +++ b/server.js @@ -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, }; } }