From 7c635e3ffffe64445add770c46efba9a7959acd4 Mon Sep 17 00:00:00 2001 From: Peter Stockings Date: Fri, 25 Jul 2025 15:01:43 +1000 Subject: [PATCH] Return execution time --- server.js | 7 +++++++ 1 file changed, 7 insertions(+) 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, }; } }