Add render counter in debug mode (#5242)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
This commit is contained in:
parent
d06e17fbd9
commit
c77a22d4c6
|
@ -0,0 +1,32 @@
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright 2025 Google LLC
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Text, useInput } from 'ink';
|
||||||
|
import { useEffect, useRef, useState } from 'react';
|
||||||
|
import { Colors } from '../colors.js';
|
||||||
|
|
||||||
|
export const DebugProfiler = () => {
|
||||||
|
const numRenders = useRef(0);
|
||||||
|
const [showNumRenders, setShowNumRenders] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
numRenders.current++;
|
||||||
|
});
|
||||||
|
|
||||||
|
useInput((input, key) => {
|
||||||
|
if (key.ctrl && input === 'b') {
|
||||||
|
setShowNumRenders((prev) => !prev);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!showNumRenders) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Text color={Colors.AccentYellow}>Renders: {numRenders.current} </Text>
|
||||||
|
);
|
||||||
|
};
|
|
@ -13,6 +13,8 @@ import process from 'node:process';
|
||||||
import Gradient from 'ink-gradient';
|
import Gradient from 'ink-gradient';
|
||||||
import { MemoryUsageDisplay } from './MemoryUsageDisplay.js';
|
import { MemoryUsageDisplay } from './MemoryUsageDisplay.js';
|
||||||
|
|
||||||
|
import { DebugProfiler } from './DebugProfiler.js';
|
||||||
|
|
||||||
interface FooterProps {
|
interface FooterProps {
|
||||||
model: string;
|
model: string;
|
||||||
targetDir: string;
|
targetDir: string;
|
||||||
|
@ -48,6 +50,7 @@ export const Footer: React.FC<FooterProps> = ({
|
||||||
return (
|
return (
|
||||||
<Box justifyContent="space-between" width="100%">
|
<Box justifyContent="space-between" width="100%">
|
||||||
<Box>
|
<Box>
|
||||||
|
{debugMode && <DebugProfiler />}
|
||||||
{vimMode && <Text color={Colors.Gray}>[{vimMode}] </Text>}
|
{vimMode && <Text color={Colors.Gray}>[{vimMode}] </Text>}
|
||||||
{nightly ? (
|
{nightly ? (
|
||||||
<Gradient colors={Colors.GradientColors}>
|
<Gradient colors={Colors.GradientColors}>
|
||||||
|
|
Loading…
Reference in New Issue