UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

59 lines (58 loc) • 2.42 kB
import { o as emitInternalDiagnosticEvent, t as areDiagnosticsEnabledForProcess } from "./diagnostic-events-DT4ejwoa.mjs"; import { t as createSubsystemLogger } from "./subsystem-4NzR43uz.mjs"; import { n as getDiagnosticSessionState } from "./diagnostic-session-state-tX9oTPd5.mjs"; //#region src/logging/diagnostic-runtime.ts const diagnosticLogger = createSubsystemLogger("diagnostic"); let lastActivityAt = 0; function markDiagnosticActivity() { lastActivityAt = Date.now(); } function getLastDiagnosticActivityAt() { return lastActivityAt; } function resetDiagnosticActivityForTest() { lastActivityAt = 0; } /** Records queue activity while letting internal run owners distinguish steering from backlog. */ function logMessageQueuedWithBacklogPolicy(params, countsTowardBacklog) { if (!areDiagnosticsEnabledForProcess()) return; const state = getDiagnosticSessionState(params); if (countsTowardBacklog) state.queueDepth += 1; state.lastActivity = Date.now(); state.generation = (state.generation ?? 0) + 1; state.lastStuckWarnAgeMs = void 0; state.lastLongRunningWarnAgeMs = void 0; if (diagnosticLogger.isEnabled("debug")) diagnosticLogger.debug(`message queued: sessionId=${state.sessionId ?? "unknown"} sessionKey=${state.sessionKey ?? "unknown"} source=${params.source} queueDepth=${state.queueDepth} sessionState=${state.state}`); emitInternalDiagnosticEvent({ type: "message.queued", sessionId: state.sessionId, sessionKey: state.sessionKey, channel: params.channel, source: params.source, queueDepth: state.queueDepth }); markDiagnosticActivity(); } function logLaneEnqueue(lane, queueSize) { if (!areDiagnosticsEnabledForProcess()) return; diagnosticLogger.debug(`lane enqueue: lane=${lane} queueSize=${queueSize}`); emitInternalDiagnosticEvent({ type: "queue.lane.enqueue", lane, queueSize }); markDiagnosticActivity(); } function logLaneDequeue(lane, waitMs, queueSize) { if (!areDiagnosticsEnabledForProcess()) return; diagnosticLogger.debug(`lane dequeue: lane=${lane} waitMs=${waitMs} queueSize=${queueSize}`); emitInternalDiagnosticEvent({ type: "queue.lane.dequeue", lane, queueSize, waitMs }); markDiagnosticActivity(); } //#endregion export { logMessageQueuedWithBacklogPolicy as a, logLaneEnqueue as i, getLastDiagnosticActivityAt as n, markDiagnosticActivity as o, logLaneDequeue as r, resetDiagnosticActivityForTest as s, diagnosticLogger as t };