Преглед изворни кода

tui: add heap snapshot option to system menu for debugging memory usage

Dax Raad пре 1 месец
родитељ
комит
2aaea71eb3
1 измењених фајлова са 15 додато и 0 уклоњено
  1. 15 0
      packages/opencode/src/cli/cmd/tui/app.tsx

+ 15 - 0
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"> {
@@ -475,6 +476,20 @@ function App() {
         dialog.clear()
       },
     },
+    {
+      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",