Browser-timings
Библиотека для получения перфоманс данных от клиентов. Автоматически собирает и собирает вомзожные данные.
Как подключить
Устанавливаем npm модуль
npm i --save @tinkoff/browser-timings
Как использовать
import { browserTimings } from '@tinkoff/browser-timings';
window.addEventListener('load', () => {
setTimout(() => {
const perfData = browserTimings();
}, 0)
});
После выполнения этого кода в perfData будет объект с данными о клиенте, которые можно переотправить в внешние системы
Необходимо выполнять библиотеку только после инициализации браузером страницы. Иначе библиотека не сможет получить данные и вернет пустой объект.
Интерфейс библиотеки
export interface Timings {
connection: number;
backend: number;
pageDownload: number;
'first-paint': number;
domInteractive: number;
domComplete: number;
pageLoadTime: number;
download: {
html: TimingResource;
js: TimingResource;
css: TimingResource;
img: TimingResource;
font: TimingResource;
other: TimingResource;
};
}
interface TimingResource {
duration: number;
encodedDecodeSize: number;
transferSize: number;
}