mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 22:10:44 +00:00
Merged via squash.
Prepared head SHA: 3d6ee85993
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import {
|
|
areDiagnosticsEnabledForProcess,
|
|
emitDiagnosticEvent,
|
|
} from "../infra/diagnostic-events.js";
|
|
import { createSubsystemLogger } from "./subsystem.js";
|
|
|
|
const diag = createSubsystemLogger("diagnostic");
|
|
let lastActivityAt = 0;
|
|
|
|
export const diagnosticLogger = diag;
|
|
|
|
export function markDiagnosticActivity(): void {
|
|
lastActivityAt = Date.now();
|
|
}
|
|
|
|
export function getLastDiagnosticActivityAt(): number {
|
|
return lastActivityAt;
|
|
}
|
|
|
|
export function resetDiagnosticActivityForTest(): void {
|
|
lastActivityAt = 0;
|
|
}
|
|
|
|
export function logLaneEnqueue(lane: string, queueSize: number): void {
|
|
if (!areDiagnosticsEnabledForProcess()) {
|
|
return;
|
|
}
|
|
diag.debug(`lane enqueue: lane=${lane} queueSize=${queueSize}`);
|
|
emitDiagnosticEvent({
|
|
type: "queue.lane.enqueue",
|
|
lane,
|
|
queueSize,
|
|
});
|
|
markDiagnosticActivity();
|
|
}
|
|
|
|
export function logLaneDequeue(lane: string, waitMs: number, queueSize: number): void {
|
|
if (!areDiagnosticsEnabledForProcess()) {
|
|
return;
|
|
}
|
|
diag.debug(`lane dequeue: lane=${lane} waitMs=${waitMs} queueSize=${queueSize}`);
|
|
emitDiagnosticEvent({
|
|
type: "queue.lane.dequeue",
|
|
lane,
|
|
queueSize,
|
|
waitMs,
|
|
});
|
|
markDiagnosticActivity();
|
|
}
|