Files
orca/src/preload/renderer-process-memory-reader.ts
T
OrcaWinandOrcaWin 0efc842028 [comment audit] Shorten preload comments (#32257)
* chore: audit preload root comments and track repository coverage

* docs: track repository comment audit coverage

* chore: keep comment audit tracker local

* chore: shorten preload API contract comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-23 02:16:59 -07:00

26 lines
788 B
TypeScript

import type { RendererProcessMemory } from '../shared/renderer-process-memory'
type ProcessMemorySource = Pick<NodeJS.Process, 'getProcessMemoryInfo'>
export async function readRendererProcessMemory(
source: ProcessMemorySource = process
): Promise<RendererProcessMemory | null> {
try {
const info = await source.getProcessMemoryInfo()
if (!isFiniteKilobytes(info?.private)) {
return null
}
return {
privateKB: info.private,
// Chromium omits the resident set on macOS.
...(isFiniteKilobytes(info.residentSet) ? { residentKB: info.residentSet } : {})
}
} catch {
return null
}
}
function isFiniteKilobytes(value: number | undefined): value is number {
return typeof value === 'number' && Number.isFinite(value) && value >= 0
}