Files
openclaw/scripts/lib/gateway-startup-trace-ranking.ts
Peter Steinberger 28a4effd4c improve(gateway): reduce startup work before readiness (#105913)
* perf(gateway): defer optional startup work

* refactor(gateway): isolate optional startup work

* fix(gateway): refresh deferred lifecycle state

* chore(gateway): ratchet startup file sizes

* fix(ci): reconcile dead export drift
2026-07-12 22:18:10 -07:00

18 lines
616 B
TypeScript

export function isStartupTraceDuration(name: string): boolean {
if (name.endsWith(".total") || name.startsWith("memory.")) {
return false;
}
const metricName = name.slice(name.lastIndexOf(".") + 1);
return !metricName.endsWith("Count") && !metricName.endsWith("Mb");
}
export function selectSlowStartupTraceDurations<T extends { avg: number | null }>(
trace: Record<string, T>,
limit: number,
): Array<[string, T]> {
return Object.entries(trace)
.filter(([name]) => isStartupTraceDuration(name))
.toSorted((left, right) => (right[1].avg ?? 0) - (left[1].avg ?? 0))
.slice(0, limit);
}