MCPcopy
hub / github.com/codeaashu/claude-code / buildProcessMetrics

Function buildProcessMetrics

src/services/analytics/metadata.ts:648–682  ·  view source on GitHub ↗

* Builds process metrics object for all users.

()

Source from the content-addressed store, hash-verified

646 * Builds process metrics object for all users.
647 */
648function buildProcessMetrics(): ProcessMetrics | undefined {
649 try {
650 const mem = process.memoryUsage()
651 const cpu = process.cpuUsage()
652 const now = Date.now()
653
654 let cpuPercent: number | undefined
655 if (prevCpuUsage && prevWallTimeMs) {
656 const wallDeltaMs = now - prevWallTimeMs
657 if (wallDeltaMs > 0) {
658 const userDeltaUs = cpu.user - prevCpuUsage.user
659 const systemDeltaUs = cpu.system - prevCpuUsage.system
660 cpuPercent =
661 ((userDeltaUs + systemDeltaUs) / (wallDeltaMs * 1000)) * 100
662 }
663 }
664 prevCpuUsage = cpu
665 prevWallTimeMs = now
666
667 return {
668 uptime: process.uptime(),
669 rss: mem.rss,
670 heapTotal: mem.heapTotal,
671 heapUsed: mem.heapUsed,
672 external: mem.external,
673 arrayBuffers: mem.arrayBuffers,
674 // eslint-disable-next-line eslint-plugin-n/no-unsupported-features/node-builtins
675 constrainedMemory: process.constrainedMemory(),
676 cpuUsage: cpu,
677 cpuPercent,
678 }
679 } catch {
680 return undefined
681 }
682}
683
684/**
685 * Get core event metadata shared across all analytics systems.

Callers 1

getEventMetadataFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected