Download packages/cli/src/ui/components/MemoryUsageDisplay.tsx from Jimmi42/openCLI: direct link, hf CLI and curl.
- Browser
- Download file 1.06 kB
-
https://huggingface.co/Jimmi42/openCLI/resolve/main/packages/cli/src/ui/components/MemoryUsageDisplay.tsx
- Command line
-
hf download hf://Jimmi42/openCLI/packages/cli/src/ui/components/MemoryUsageDisplay.tsx
-
curl -L -o MemoryUsageDisplay.tsx https://huggingface.co/Jimmi42/openCLI/resolve/main/packages/cli/src/ui/components/MemoryUsageDisplay.tsx
1.06 kB
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import React, { useEffect, useState } from 'react'; | |
| import { Box, Text } from 'ink'; | |
| import { Colors } from '../colors.js'; | |
| import process from 'node:process'; | |
| import { formatMemoryUsage } from '../utils/formatters.js'; | |
| export const MemoryUsageDisplay: React.FC = () => { | |
| const [memoryUsage, setMemoryUsage] = useState<string>(''); | |
| const [memoryUsageColor, setMemoryUsageColor] = useState<string>(Colors.Gray); | |
| useEffect(() => { | |
| const updateMemory = () => { | |
| const usage = process.memoryUsage().rss; | |
| setMemoryUsage(formatMemoryUsage(usage)); | |
| setMemoryUsageColor( | |
| usage >= 2 * 1024 * 1024 * 1024 ? Colors.AccentRed : Colors.Gray, | |
| ); | |
| }; | |
| const intervalId = setInterval(updateMemory, 2000); | |
| updateMemory(); // Initial update | |
| return () => clearInterval(intervalId); | |
| }, []); | |
| return ( | |
| <Box> | |
| <Text color={Colors.Gray}>| </Text> | |
| <Text color={memoryUsageColor}>{memoryUsage}</Text> | |
| </Box> | |
| ); | |
| }; | |