Print memory stats

This commit is contained in:
momo5502
2025-07-12 13:47:52 +02:00
parent 90c087786c
commit 08995a4205
8 changed files with 196 additions and 54 deletions

View File

@@ -1,6 +1,6 @@
import { EmulationStatus } from "@/emulator";
import { TextTooltip } from "./text-tooltip";
import { BarChartSteps, CpuFill } from "react-bootstrap-icons";
import { BarChartSteps, CpuFill, FloppyFill } from "react-bootstrap-icons";
import "./emulation-summary.css";
@@ -8,6 +8,20 @@ export interface EmulationSummaryProps {
status?: EmulationStatus;
}
function formatMemory(value: BigInt): string {
const abbr = ["B", "KB", "MB", "GB", "PB"];
let num = Number(value);
let index = 0;
while (num >= 1024 && index < abbr.length - 1) {
num /= 1024;
index++;
}
return num.toFixed(2) + " " + abbr[index];
}
export function EmulationSummary(props: EmulationSummaryProps) {
if (!props.status) {
return <></>;
@@ -20,6 +34,11 @@ export function EmulationSummary(props: EmulationSummaryProps) {
<BarChartSteps className="inline ml-3" />
</TextTooltip>
<br />
<TextTooltip tooltip={"Application memory"}>
{formatMemory(props.status.committedMemory)}
<FloppyFill className="inline ml-3" />
</TextTooltip>
<br />
<TextTooltip tooltip={"Executed instructions"}>
{props.status.executedInstructions.toLocaleString()}
<CpuFill className="inline ml-3" />