diff --git a/packages/cli/src/ui/commands/bugCommand.test.ts b/packages/cli/src/ui/commands/bugCommand.test.ts index 78f6bfb4a1..b88db55d9e 100644 --- a/packages/cli/src/ui/commands/bugCommand.test.ts +++ b/packages/cli/src/ui/commands/bugCommand.test.ts @@ -11,7 +11,7 @@ import { bugCommand } from './bugCommand.js'; import { createMockCommandContext } from '../../test-utils/mockCommandContext.js'; import { getVersion } from '@google/gemini-cli-core'; import { GIT_COMMIT_INFO } from '../../generated/git-commit.js'; -import { formatMemoryUsage } from '../utils/formatters.js'; +import { formatBytes } from '../utils/formatters.js'; // Mock dependencies vi.mock('open'); @@ -68,7 +68,7 @@ vi.mock('../utils/terminalCapabilityManager.js', () => ({ describe('bugCommand', () => { beforeEach(() => { vi.mocked(getVersion).mockResolvedValue('0.1.0'); - vi.mocked(formatMemoryUsage).mockReturnValue('100 MB'); + vi.mocked(formatBytes).mockReturnValue('100 MB'); vi.stubEnv('SANDBOX', 'gemini-test'); vi.useFakeTimers(); vi.setSystemTime(new Date('2024-01-01T00:00:00Z')); diff --git a/packages/cli/src/ui/commands/bugCommand.ts b/packages/cli/src/ui/commands/bugCommand.ts index 6c3a5a70d1..b428c66bbf 100644 --- a/packages/cli/src/ui/commands/bugCommand.ts +++ b/packages/cli/src/ui/commands/bugCommand.ts @@ -13,7 +13,7 @@ import { } from './types.js'; import { MessageType } from '../types.js'; import { GIT_COMMIT_INFO } from '../../generated/git-commit.js'; -import { formatMemoryUsage } from '../utils/formatters.js'; +import { formatBytes } from '../utils/formatters.js'; import { IdeClient, sessionId, @@ -45,7 +45,7 @@ export const bugCommand: SlashCommand = { } const modelVersion = config?.getModel() || 'Unknown'; const cliVersion = await getVersion(); - const memoryUsage = formatMemoryUsage(process.memoryUsage().rss); + const memoryUsage = formatBytes(process.memoryUsage().rss); const ideClient = await getIdeClientName(context); const terminalName = terminalCapabilityManager.getTerminalName() || 'Unknown'; diff --git a/packages/cli/src/ui/components/MemoryUsageDisplay.tsx b/packages/cli/src/ui/components/MemoryUsageDisplay.tsx index 1ea3c10693..7a413fc227 100644 --- a/packages/cli/src/ui/components/MemoryUsageDisplay.tsx +++ b/packages/cli/src/ui/components/MemoryUsageDisplay.tsx @@ -9,7 +9,7 @@ import { useEffect, useState } from 'react'; import { Box, Text } from 'ink'; import { theme } from '../semantic-colors.js'; import process from 'node:process'; -import { formatMemoryUsage } from '../utils/formatters.js'; +import { formatBytes } from '../utils/formatters.js'; export const MemoryUsageDisplay: React.FC = () => { const [memoryUsage, setMemoryUsage] = useState(''); @@ -20,7 +20,7 @@ export const MemoryUsageDisplay: React.FC = () => { useEffect(() => { const updateMemory = () => { const usage = process.memoryUsage().rss; - setMemoryUsage(formatMemoryUsage(usage)); + setMemoryUsage(formatBytes(usage)); setMemoryUsageColor( usage >= 2 * 1024 * 1024 * 1024 ? theme.status.error diff --git a/packages/cli/src/ui/hooks/shellCommandProcessor.ts b/packages/cli/src/ui/hooks/shellCommandProcessor.ts index 48d26db042..f3a866a20b 100644 --- a/packages/cli/src/ui/hooks/shellCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/shellCommandProcessor.ts @@ -20,7 +20,7 @@ import { isBinary, ShellExecutionService } from '@google/gemini-cli-core'; import { type PartListUnion } from '@google/genai'; import type { UseHistoryManagerReturn } from './useHistoryManager.js'; import { SHELL_COMMAND_NAME } from '../constants.js'; -import { formatMemoryUsage } from '../utils/formatters.js'; +import { formatBytes } from '../utils/formatters.js'; import crypto from 'node:crypto'; import path from 'node:path'; import os from 'node:os'; @@ -192,7 +192,7 @@ export const useShellCommandProcessor = ( let currentDisplayOutput: string | AnsiOutput; if (isBinaryStream) { if (binaryBytesReceived > 0) { - currentDisplayOutput = `[Receiving binary output... ${formatMemoryUsage( + currentDisplayOutput = `[Receiving binary output... ${formatBytes( binaryBytesReceived, )} received]`; } else { diff --git a/packages/cli/src/ui/utils/formatters.test.ts b/packages/cli/src/ui/utils/formatters.test.ts index 48c0a2c605..bafc04b555 100644 --- a/packages/cli/src/ui/utils/formatters.test.ts +++ b/packages/cli/src/ui/utils/formatters.test.ts @@ -7,23 +7,23 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import { formatDuration, - formatMemoryUsage, + formatBytes, formatTimeAgo, stripReferenceContent, } from './formatters.js'; describe('formatters', () => { - describe('formatMemoryUsage', () => { + describe('formatBytes', () => { it('should format bytes into KB', () => { - expect(formatMemoryUsage(12345)).toBe('12.1 KB'); + expect(formatBytes(12345)).toBe('12.1 KB'); }); it('should format bytes into MB', () => { - expect(formatMemoryUsage(12345678)).toBe('11.8 MB'); + expect(formatBytes(12345678)).toBe('11.8 MB'); }); it('should format bytes into GB', () => { - expect(formatMemoryUsage(12345678901)).toBe('11.50 GB'); + expect(formatBytes(12345678901)).toBe('11.50 GB'); }); }); diff --git a/packages/cli/src/ui/utils/formatters.ts b/packages/cli/src/ui/utils/formatters.ts index 419ad8d0e4..3d415a97bd 100644 --- a/packages/cli/src/ui/utils/formatters.ts +++ b/packages/cli/src/ui/utils/formatters.ts @@ -9,7 +9,7 @@ import { REFERENCE_CONTENT_END, } from '@google/gemini-cli-core'; -export const formatMemoryUsage = (bytes: number): string => { +export const formatBytes = (bytes: number): string => { const gb = bytes / (1024 * 1024 * 1024); if (bytes < 1024 * 1024) { return `${(bytes / 1024).toFixed(1)} KB`; diff --git a/packages/core/src/tools/shell.ts b/packages/core/src/tools/shell.ts index 4f68000585..28b312dcbf 100644 --- a/packages/core/src/tools/shell.ts +++ b/packages/core/src/tools/shell.ts @@ -32,7 +32,7 @@ import type { ShellOutputEvent, } from '../services/shellExecutionService.js'; import { ShellExecutionService } from '../services/shellExecutionService.js'; -import { formatMemoryUsage } from '../utils/formatters.js'; +import { formatBytes } from '../utils/formatters.js'; import type { AnsiOutput } from '../utils/terminalSerializer.js'; import { getCommandRoots, @@ -231,7 +231,7 @@ export class ShellToolInvocation extends BaseToolInvocation< break; case 'binary_progress': isBinaryStream = true; - cumulativeOutput = `[Receiving binary output... ${formatMemoryUsage( + cumulativeOutput = `[Receiving binary output... ${formatBytes( event.bytesReceived, )} received]`; if (Date.now() - lastUpdateTime > OUTPUT_UPDATE_INTERVAL_MS) { diff --git a/packages/core/src/utils/formatters.test.ts b/packages/core/src/utils/formatters.test.ts index 305b2d0adb..cf6ba3a790 100644 --- a/packages/core/src/utils/formatters.test.ts +++ b/packages/core/src/utils/formatters.test.ts @@ -6,7 +6,7 @@ import { describe, it, expect } from 'vitest'; -import { bytesToMB, formatMemoryUsage } from './formatters.js'; +import { bytesToMB, formatBytes } from './formatters.js'; describe('bytesToMB', () => { it('converts bytes to megabytes', () => { @@ -16,16 +16,16 @@ describe('bytesToMB', () => { }); }); -describe('formatMemoryUsage', () => { +describe('formatBytes', () => { it('formats values below one megabyte in KB', () => { - expect(formatMemoryUsage(512 * 1024)).toBe('512.0 KB'); + expect(formatBytes(512 * 1024)).toBe('512.0 KB'); }); it('formats values below one gigabyte in MB', () => { - expect(formatMemoryUsage(5 * 1024 * 1024)).toBe('5.0 MB'); + expect(formatBytes(5 * 1024 * 1024)).toBe('5.0 MB'); }); it('formats values of one gigabyte or larger in GB', () => { - expect(formatMemoryUsage(2 * 1024 * 1024 * 1024)).toBe('2.00 GB'); + expect(formatBytes(2 * 1024 * 1024 * 1024)).toBe('2.00 GB'); }); }); diff --git a/packages/core/src/utils/formatters.ts b/packages/core/src/utils/formatters.ts index 88946ae910..28657a8c90 100644 --- a/packages/core/src/utils/formatters.ts +++ b/packages/core/src/utils/formatters.ts @@ -6,7 +6,7 @@ export const bytesToMB = (bytes: number): number => bytes / (1024 * 1024); -export const formatMemoryUsage = (bytes: number): string => { +export const formatBytes = (bytes: number): string => { const gb = bytes / (1024 * 1024 * 1024); if (bytes < 1024 * 1024) { return `${(bytes / 1024).toFixed(1)} KB`;