Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@tinkoff/browser-timings

Package Overview
Dependencies
Maintainers
15
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tinkoff/browser-timings

Lightweighted browser timings metrics exporter

  • 0.9.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.1K
increased by36.39%
Maintainers
15
Weekly downloads
 
Created
Source

Browser-timings

Библиотека для получения перфоманс данных от клиентов. Автоматически собирает и собирает вомзожные данные.

Как подключить

Устанавливаем npm модуль

npm i --save @tinkoff/browser-timings

Как использовать

import { browserTimings } from '@tinkoff/browser-timings';

window.addEventListener('load', () => {
  setTimout(() => { // setTimout нужен, что бы отработали и появились все метрики. Иначе не будет доступен loadEventEnd
    const perfData = browserTimings();
  }, 0)
});

После выполнения этого кода в perfData будет объект с данными о клиенте, которые можно переотправить в внешние системы

Необходимо выполнять библиотеку только после инициализации браузером страницы. Иначе библиотека не сможет получить данные и вернет пустой объект.

Интерфейс библиотеки

export interface Timings {
  /* Время на подключение клиента к серверу */
  connection: number;
  /* Сколько длился ответ на бэекенде */
  backend: number;
  /* Скачивание страницы клиентов */
  pageDownload: number;
  /* Отобразилась первоя информация клиенту */
  'first-paint': number;
  /* С страницей можно взаимодействовать */
  domInteractive: number;
  /* DOM полностью построен */
  domComplete: number;
  /* Страница и ресурсы полностью загружены */
  pageLoadTime: number;
  /* Общая информация о том, сколько было ресурсов и времени загрузки */
  download: {
      html: TimingResource;
      js: TimingResource;
      css: TimingResource;
      img: TimingResource;
      font: TimingResource;
      other: TimingResource;
    };
}
interface TimingResource {
  /* Общее время загрузки ресурсов */
  duration: number;
  /* Общий размер в байтах используемого на странице данных */
  encodedDecodeSize: number;
  /* Общий размер переданных данных по сети. На разнице между encodedDecodeSize - transferSize можно узнать, сколько данных не попало в кэш */
  transferSize: number;
}

FAQs

Package last updated on 02 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc