Something went wrong. Try again.
fork of prime agent with changes i want but are not upstreamable probqbly (and some fixes)
Something went wrong. Try again.
1.1 kB · 38 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839/** * Central timing instrumentation for startup profiling. * Enable with PI_TIMING=1 environment variable. */
import { getLogger } from "@earendil-works/pi-ai";
const log = getLogger("coding-agent.timings");const ENABLED = process.env.PI_TIMING === "1";const timings: Array<{ label: string; ms: number }> = [];let lastTime = Date.now();
export function resetTimings(): void { if (!ENABLED) return; timings.length = 0; lastTime = Date.now();}
export function time(label: string): void { if (!ENABLED) return; const now = Date.now(); timings.push({ label, ms: now - lastTime }); lastTime = now;}
export function printTimings(): void { if (!ENABLED || timings.length === 0) return; const totalMs = timings.reduce((a, b) => a + b.ms, 0); log.debug("startup timings", { timings: [...timings], totalMs }); console.error( `\n--- Startup Timings --- (process uptime ${Math.round(process.uptime() * 1000)}ms, total ${totalMs}ms)`, ); for (const t of timings) { console.error(` ${t.label}: ${t.ms}ms`); } console.error(` TOTAL: ${totalMs}ms`); console.error("------------------------\n");}