let heapUsed = (process.memoryUsage().heapUsed / (1024 * 1024)).toFixed(2); let rss = (process.memoryUsage().rss / (1024 * 1024)).toFixed(2); let heapTotal = (process.memoryUsage().heapTotal / (1024 * 1024)).toFixed(2); let uptime = (process.uptime() / 60).toFixed(2); utils.invokeCallback(cb, {
collect (cb) { // Handles and Requests this.stats['nodejs.handles.active'] = activeHandles().length this.stats['nodejs.requests.active'] = activeRequests().length // Event loop const loopDelay = Math.max(0, ((this.loopMonitor.mean || 0) / 1e6) - eventLoopMonitorResolution) this.stats['nodejs.eventloop.delay.avg.ms'] = loopDelay this.loopMonitor.reset() // Memory / Heap const memoryUsage = process.memoryUsage() this.stats['nodejs.memory.heap.allocated.bytes'] = memoryUsage.heapTotal this.stats['nodejs.memory.heap.used.bytes'] = memoryUsage.heapUsed this.stats['nodejs.memory.external.bytes'] = memoryUsage.external this.stats['nodejs.memory.arrayBuffers.bytes'] = memoryUsage.arrayBuffers || 0 // Only available in NodeJS +13.0 if (cb) process.nextTick(cb) }