egenie-monitor-web-performance
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

性能监控

安装

使用npm

npm i egenie-monitor-web-performance

使用yarn

yarn add egenie-monitor-web-performance

使用cdn

<script src="https://cdn.jsdelivr.net/npm/@mitojs/web/dist/web-performance.min.js"></script>

快速开始

 let wv = new MITO.WebVitals({
    appId: 'allen-test',
    version: '1.0.0',
    reportCallback: console.log,
    immediately: true
  })

API

  • constructor

    属性 类型 描述 是否必填 默认值
    appId string 应用标识
    version string 应用版本号
    reportCallback 上报回调函数 function
    reportUri string 提供给sendBeacon使用
    immediately boolean 是否立即上报 false
    isCustomEvent boolean 是否自定义触发事件 false,pageshow触发,自定义触发需要在需要的位置调用customContentfulPaint
    logFpsCount boolean 监听fps的次数
    maxWaitCCPDuration number 最大等待ccp时间 30*1000
  • getCurrentMetrics

    返回当前所有指标的对象,指标名称:navigation-timing、first-paint、first-contentful-paint、largest-contentful-paint、first-input-delay、resource-flow、fps, 自定义指标返回 {customMetrics}Metrics

  • setStartMark

    描述:自定义开始标志,用于测量自定义指标

    参数 类型 描述
    markName string 标记名
  • setEndMark

    描述:自定义结束标志,用于测量自定义指标,返回当前自定义指标数据,并清除当前标志

    参数 类型 描述
    markName string 标记名
  • clearMark

    描述:清除当前已定义的标志

    参数 类型 描述
    markName string 标记名
  • customCompletedPaint

    描述:测量自定义渲染的指标,返回自定义渲染指标数据(在页面接口完成后调用;vue项目,可以是根组件App.vue的mounted中,或者vue router的beforeResolve中调用; react项目, 可以在页面组件外的高阶组件中componentDidMount中调用)

指标

NavigationTiming

字段 字段类型 描述 计算公式 备注
dnsLookup number DNS查询耗时 domainLookupEnd - domainLookupStart
initial connection number TCP连接耗时 connectEnd - connectStart
SSL number SSL安全连接耗时 connectEnd - secureConnectionStart 只在HTTPS下有效。
ttfb number 请求响应耗时 responseStart - requestStart https://developer.chrome.com/docs/devtools/network/reference/#timing
content download number 内容传输耗时 responseEnd - responseStart
dom parse number DOM解析耗时 domInteractive - responseEnd
resource download number 资源加载耗时 loadEventStart - domContentLoadedEventEnd
dom Ready number DOM完成加载 domContentLoadedEventEnd - fetchStart
page load number 页面完全加载 loadEventStart - fetchStart

FP

字段 字段类型 描述 备注
value number 从导航到浏览器向屏幕呈现第一个像素之间的时间

FCP

字段 字段类型 描述 备注
value number 浏览器呈现来自DOM的第一部分内容

LCP

字段 字段类型 描述 备注
value number 视口中可见的最大图像或文本块的渲染时间

ACT

字段 字段类型 描述 备注
value number 首屏加载后所有接口完成请求后的时间

CCP

字段 字段类型 描述 备注
value number 首屏加载后所有接口完成请求后,图片完全加载后的时间

FID

字段 字段类型 描述 备注
eventName string 事件名
targetCls string 目标对象类名
startTime number 事件触发时间
delay number 事件延迟时间
eventHandleTime number 事件处理时间

CLS

字段 字段类型 描述 备注
value number 页面元素意外位移量

FPS

字段 字段类型 描述 备注
value number 页面刷新率

Resource Flow

字段 字段类型 描述 备注
value PerformanceResourceTiming 资源加载瀑布流

Page Info

字段 字段类型 描述 备注
host DOMString 域名,可能带有端口号
hostname DOMString 域名
href DOMString 整个URL
protocol DOMString URL协议
origin DOMString 页面来源的域名
port DOMString 端口号
pathname DOMString URL路径部分,以'/'开头
search DOMString URL参数,以'?'开头
hash DOMString URL标识,以'#'开头
userAgent DOMString 用户代理字符串

Network Info

字段 字段类型 描述 备注
downlink double 有效带宽 单位Mbps
effectiveType string 连接类型 slow-2g、2g、3g、4g
rtt number 来回通信延迟 https://zh.wikipedia.org/wiki/%E4%BE%86%E5%9B%9E%E9%80%9A%E8%A8%8A%E5%BB%B6%E9%81%B2

Device Info

字段 字段类型 描述 备注
deviceMemory float 设备内存大致数量 单位GB
hardwareConcurrency number 返回可用于运行在用户的计算机上的线程的逻辑处理器的数量
jsHeapSizeLimit number 上下文可用的最大内存 单位MB
totalJSHeapSize number 已分配的内存 单位MB
usedJSHeapSize number 当前活跃的内存 单位MB

Readme

Keywords

none

Package Sidebar

Install

npm i egenie-monitor-web-performance

Weekly Downloads

0

Version

0.0.3

License

MIT

Unpacked Size

579 kB

Total Files

8

Last publish

Collaborators

  • egfrontend