6f789f8f1c
Tests / frontend-test (push) Successful in 1m12s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/9
22 lines
1.1 KiB
TypeScript
22 lines
1.1 KiB
TypeScript
/**
|
|
* Замер времени отдельных этапов загрузки «Моих заявок» — что именно тормозит
|
|
* (индекс согласований, свои заявки по типу, конкретная партиция, Search),
|
|
* а не просто «страница долго грузится».
|
|
*
|
|
* ВРЕМЕННО: пишет всегда, без флага-переключателя — этот модуль и все traced()
|
|
* вокруг снимаются целиком, как только разбор текущей проблемы с
|
|
* производительностью закончится (см. myRequests.service.ts, RequestsTableView.tsx,
|
|
* SearchView.tsx).
|
|
*/
|
|
const PREFIX = '[Перф]';
|
|
|
|
/** Оборачивает async-шаг замером времени. */
|
|
export async function traced<T>(label: string, fn: () => Promise<T>): Promise<T> {
|
|
const start = performance.now();
|
|
try {
|
|
return await fn();
|
|
} finally {
|
|
console.log(`${PREFIX} ${label}: ${(performance.now() - start).toFixed(0)} мс`);
|
|
}
|
|
}
|