diff --git a/lib/classes/Utils.js b/lib/classes/Utils.js index 6fd6210ec..10917f2e9 100644 --- a/lib/classes/Utils.js +++ b/lib/classes/Utils.js @@ -155,10 +155,32 @@ class Utils { userId = fs.readFileSync(trackingIdFilePath).toString(); } - // prepare complex tracking data + // function related information retrieval + const numberOfFunctions = _.size(serverless.service.functions); + + const memorySizeAndTimeoutPerFunction = []; + if (numberOfFunctions) { + _.forEach(serverless.service.functions, (func) => { + const memorySize = Number(func.memorySize) + || Number(this.serverless.service.provider.memorySize) + || 1024; + const timeout = Number(func.timeout) + || Number(this.serverless.service.provider.timeout) + || 6; + + const memorySizeAndTimeoutObject = { + memorySize, + timeout, + }; + + memorySizeAndTimeoutPerFunction.push(memorySizeAndTimeoutObject); + }); + } + + // event related information retrieval const numberOfEventsPerType = []; const eventNamesPerFunction = []; - if (serverless.service && serverless.service.functions) { + if (numberOfFunctions) { _.forEach(serverless.service.functions, (func) => { if (func.events) { const funcEventsArray = []; @@ -209,8 +231,8 @@ class Utils { region: serverless.service.provider.region, }, functions: { - numberOfFunctions: _.size(serverless.service.functions), - // memorySizeAndTimeoutPerFunction + numberOfFunctions, + memorySizeAndTimeoutPerFunction, }, events: { numberOfEvents: numberOfEventsPerType.length,