feat(infra) - Add logging for slow rendering (#11147)

Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
This commit is contained in:
shishu314
2025-10-31 15:51:05 -04:00
committed by GitHub
parent adddafe6d0
commit 6ee7165e39
2 changed files with 103 additions and 36 deletions
+11 -3
View File
@@ -5,7 +5,7 @@
*/
import React from 'react';
import { render } from 'ink';
import { render, type RenderOptions } from 'ink';
import { AppContainer } from './ui/AppContainer.js';
import { loadCliConfig, parseArguments } from './config/config.js';
import * as cliConfig from './config/config.js';
@@ -32,7 +32,7 @@ import {
runExitCleanup,
} from './utils/cleanup.js';
import { getCliVersion } from './utils/version.js';
import type { Config } from '@google/gemini-cli-core';
import { type Config } from '@google/gemini-cli-core';
import {
sessionId,
logUserPrompt,
@@ -40,6 +40,7 @@ import {
getOauthClient,
UserPromptEvent,
debugLogger,
recordSlowRender,
} from '@google/gemini-cli-core';
import {
initializeApp,
@@ -70,6 +71,8 @@ import { ExtensionManager } from './config/extension-manager.js';
import { createPolicyUpdater } from './config/policy.js';
import { requestConsentNonInteractive } from './config/extensions/consent.js';
const SLOW_RENDER_MS = 200;
export function validateDnsResolutionOrder(
order: string | undefined,
): DnsResolutionOrder {
@@ -205,7 +208,12 @@ export async function startInteractiveUI(
{
exitOnCtrlC: false,
isScreenReaderEnabled: config.getScreenReader(),
},
onRender: ({ renderTime }: { renderTime: number }) => {
if (renderTime > SLOW_RENDER_MS) {
recordSlowRender(config, renderTime);
}
},
} as RenderOptions,
);
checkForUpdates(settings)