/**
 * Central timing instrumentation for startup profiling.
 * Enable with DREB_TIMING=1 environment variable.
 */
import { log } from "./logger.js";
const ENABLED = process.env.DREB_TIMING === "1";
const timings = [];
let lastTime = Date.now();
export function resetTimings() {
    if (!ENABLED)
        return;
    timings.length = 0;
    lastTime = Date.now();
}
export function time(label) {
    if (!ENABLED)
        return;
    const now = Date.now();
    timings.push({ label, ms: now - lastTime });
    lastTime = now;
}
export function printTimings() {
    if (!ENABLED || timings.length === 0)
        return;
    log.debug("\n--- Startup Timings ---");
    for (const t of timings) {
        log.debug(`  ${t.label}: ${t.ms}ms`);
    }
    log.debug(`  TOTAL: ${timings.reduce((a, b) => a + b.ms, 0)}ms`);
    log.debug("------------------------\n");
}
//# sourceMappingURL=timings.js.map