UNPKG

apitally

Version:

Simple API monitoring & analytics for REST APIs built with Express, Fastify, NestJS, AdonisJS, Hono, H3, Elysia, Hapi, and Koa.

1 lines 1.79 kB
{"version":3,"sources":["../../src/common/resources.ts"],"sourcesContent":["let lastCpuUsage: { user: number; system: number } | null = null;\nlet lastCpuTime: number | null = null;\n\nexport function getCpuMemoryUsage() {\n const currentCpuUsage = process.cpuUsage();\n const currentTime = performance.now();\n const memoryRss = process.memoryUsage().rss;\n\n let cpuPercent = null;\n\n if (lastCpuUsage !== null && lastCpuTime !== null) {\n // Calculate elapsed time in microseconds\n const elapsedTime = (currentTime - lastCpuTime) * 1000;\n\n // Calculate CPU time used (user + system) in microseconds\n const cpuTime =\n currentCpuUsage.user -\n lastCpuUsage.user +\n (currentCpuUsage.system - lastCpuUsage.system);\n\n // Calculate percentage\n cpuPercent = (cpuTime / elapsedTime) * 100;\n }\n\n // Update last values for next call\n lastCpuUsage = currentCpuUsage;\n lastCpuTime = currentTime;\n\n return cpuPercent !== null\n ? {\n cpu_percent: cpuPercent,\n memory_rss: memoryRss,\n }\n : null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,IAAIA,eAAwD;AAC5D,IAAIC,cAA6B;AAE1B,SAASC,oBAAAA;AACd,QAAMC,kBAAkBC,QAAQC,SAAQ;AACxC,QAAMC,cAAcC,YAAYC,IAAG;AACnC,QAAMC,YAAYL,QAAQM,YAAW,EAAGC;AAExC,MAAIC,aAAa;AAEjB,MAAIZ,iBAAiB,QAAQC,gBAAgB,MAAM;AAEjD,UAAMY,eAAeP,cAAcL,eAAe;AAGlD,UAAMa,UACJX,gBAAgBY,OAChBf,aAAae,QACZZ,gBAAgBa,SAAShB,aAAagB;AAGzCJ,iBAAcE,UAAUD,cAAe;EACzC;AAGAb,iBAAeG;AACfF,gBAAcK;AAEd,SAAOM,eAAe,OAClB;IACEK,aAAaL;IACbM,YAAYT;EACd,IACA;AACN;AA/BgBP;","names":["lastCpuUsage","lastCpuTime","getCpuMemoryUsage","currentCpuUsage","process","cpuUsage","currentTime","performance","now","memoryRss","memoryUsage","rss","cpuPercent","elapsedTime","cpuTime","user","system","cpu_percent","memory_rss"]}