mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-15 06:16:07 +00:00
* 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
18 lines
616 B
TypeScript
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);
|
|
}
|