diff options
| author | Adam Malczewski <[email protected]> | 2026-06-28 08:57:17 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-28 08:57:17 +0900 |
| commit | 73ff84c606f5307e5f40e649cae9f93484c0d99d (patch) | |
| tree | 67444812b587135eadb15316ec2a0467b9f289c0 /packages/host-bin/src | |
| parent | 1cd66da48f8c0a35b4208202d07bcd9f20fbc2c2 (diff) | |
| download | dispatch-73ff84c606f5307e5f40e649cae9f93484c0d99d.tar.gz dispatch-73ff84c606f5307e5f40e649cae9f93484c0d99d.zip | |
fix: disable LSP + change memory telemetry interval to 15s
- Disable LSP extension (import + CORE_EXTENSIONS) due to crashes
- Make transport-http tolerate LSP being absent (optional getService)
- Remove lsp from transport-http dependsOn manifest
- Change memory telemetry sample interval from 60s to 15s
Diffstat (limited to 'packages/host-bin/src')
| -rw-r--r-- | packages/host-bin/src/main.ts | 6 | ||||
| -rw-r--r-- | packages/host-bin/src/mem-telemetry.ts | 10 |
2 files changed, 9 insertions, 7 deletions
diff --git a/packages/host-bin/src/main.ts b/packages/host-bin/src/main.ts index f892fe8..29e402e 100644 --- a/packages/host-bin/src/main.ts +++ b/packages/host-bin/src/main.ts @@ -21,7 +21,9 @@ import { type SecretsAccess, type StorageNamespace, } from "@dispatch/kernel"; -import { extension as lspExt } from "@dispatch/lsp"; +// LSP temporarily disabled — crashes (unhandled JSON parse, ENOENT on +// transient .old_modules dirs) and a memory leak. Re-enable after fix. +// import { extension as lspExt } from "@dispatch/lsp"; import { extension as mcpExt } from "@dispatch/mcp"; import { extension as messageQueueExt } from "@dispatch/message-queue"; import { extension as providerConcurrencyExt } from "@dispatch/provider-concurrency"; @@ -106,7 +108,7 @@ const CORE_EXTENSIONS: readonly Extension[] = [ skillsExt, systemPromptExt, cacheWarmingExt, - lspExt, + // lspExt, // LSP temporarily disabled — see import above // ssh declares `dependsOn: ["exec-backend"]` and PROVIDES the remote // exec-backend factory + the ComputerService the HTTP routes delegate to. // Its lookups are lazy (tool-/request-time), but it is placed after diff --git a/packages/host-bin/src/mem-telemetry.ts b/packages/host-bin/src/mem-telemetry.ts index 7f0bb42..576347b 100644 --- a/packages/host-bin/src/mem-telemetry.ts +++ b/packages/host-bin/src/mem-telemetry.ts @@ -23,8 +23,8 @@ import { memorySampleAttributes, } from "@dispatch/session-orchestrator"; -/** Default periodic sample interval: every 60s. */ -export const DEFAULT_MEMORY_SAMPLE_INTERVAL_MS = 60_000; +/** Default periodic sample interval: every 15s. */ +export const DEFAULT_MEMORY_SAMPLE_INTERVAL_MS = 15_000; /** Default GC interval: every 5 min (longer than the sample interval). */ export const DEFAULT_GC_INTERVAL_MS = 5 * 60_000; @@ -52,7 +52,7 @@ export interface MemoryTelemetryDeps { * baseline. */ readonly getActiveConversationCount: () => number; - /** Periodic sample interval (ms). Defaults to 60s. */ + /** Periodic sample interval (ms). Defaults to 15s. */ readonly sampleIntervalMs?: number; /** GC interval (ms). Defaults to 5 min. */ readonly gcIntervalMs?: number; @@ -77,7 +77,7 @@ export interface MemoryTelemetryHandle { /** * Start periodic memory telemetry. Logs process.memoryUsage() every - * `sampleIntervalMs` (default 60s) tagged with the active-conversation count, + * `sampleIntervalMs` (default 15s) tagged with the active-conversation count, * and every `gcIntervalMs` (default 5 min) runs `gc()` and logs RSS * before/after to distinguish live retained objects from GC fragmentation. * @@ -97,7 +97,7 @@ export function startMemoryTelemetry(deps: MemoryTelemetryDeps): MemoryTelemetry let gcHandle: MemoryTimerHandle | undefined; // Periodic sample: log rss/heap/external/arrayBuffers + active-conversation - // count every 60s. Correlates RSS growth with active turns so the leak can + // count every 15s. Correlates RSS growth with active turns so the leak can // be attributed to the streaming path vs an idle baseline. const sampleHandle: MemoryTimerHandle | undefined = setIntervalFn(() => { const sample = deps.sampleMemory(); |
