summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2026-01-01 21:18:28 -0500
committerDax Raad <[email protected]>2026-01-01 21:18:28 -0500
commit2aaea71eb380a0e982d5d49a02c9df32826ca616 (patch)
treed2c18c40c2475189de0c3d8fa2ea6172e0bcb056
parentdb8d83b53d12690ed8034d7670ad3782a2a399d0 (diff)
downloadopencode-2aaea71eb380a0e982d5d49a02c9df32826ca616.tar.gz
opencode-2aaea71eb380a0e982d5d49a02c9df32826ca616.zip
tui: add heap snapshot option to system menu for debugging memory usage
-rw-r--r--packages/opencode/src/cli/cmd/tui/app.tsx15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx
index 35b33b4a0..eb89e411d 100644
--- a/packages/opencode/src/cli/cmd/tui/app.tsx
+++ b/packages/opencode/src/cli/cmd/tui/app.tsx
@@ -33,6 +33,7 @@ import { KVProvider, useKV } from "./context/kv"
import { Provider } from "@/provider/provider"
import { ArgsProvider, useArgs, type Args } from "./context/args"
import open from "open"
+import { writeHeapSnapshot } from "v8"
import { PromptRefProvider, usePromptRef } from "./context/prompt"
async function getTerminalBackgroundColor(): Promise<"dark" | "light"> {
@@ -476,6 +477,20 @@ function App() {
},
},
{
+ title: "Write heap snapshot",
+ category: "System",
+ value: "app.heap_snapshot",
+ onSelect: (dialog) => {
+ const path = writeHeapSnapshot()
+ toast.show({
+ variant: "info",
+ message: `Heap snapshot written to ${path}`,
+ duration: 5000,
+ })
+ dialog.clear()
+ },
+ },
+ {
title: "Suspend terminal",
value: "terminal.suspend",
keybind: "terminal_suspend",