页面性能监测

1. developer tool performance
我们可以通过performance来看到我们页面的一些性能指标:FP、FCP、FMP...(详情

 


2. js 调用performanceOberver来获取性能指标数据
一般在html的<head>中添加这样的代码:

<script>
  const observer = new PerformanceObserver((list) => {
    for (const entry of list.getEntries()) {
      console.groupCollapsed(entry.name)
      console.log(entry.entryType);
      console.log(entry.startTime); // DOMHighResTimeStamp
      console.log(entry.duration); // DOMHighResTimeStamp
      console.groupEnd(entry.name)
    }
  });
  observer.observe({ entryTypes: ['longtask', 'frame', 'navigation', 'resource', 'mark', 'measure', 'paint'] });
</script>

entryTypes文档记载有6种:framenavigation,resource,mark,measure,paint详情),但是查看实际demo的时候却发现还有longtask
大概效果:

 

3. 结合google anlyasis工具帮助我们分析性能

通过ga(google-analytics)工具,发送性能数据给google-analytics平台,让平台记录并且生成一些性能报表

这些代码可以放到我们的线上环境,通过大量用户的访问,来获取大量的性能数据。(详情

不过,我们需要先注册一个账号,申请一个“跟踪ID”(官网

<script>
  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
  ga('create', 'UA-XXXXX-Y', 'auto');
  ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- Register the PerformanceObserver to track paint timing. -->
<script>
  const observer = new PerformanceObserver((list) => {
  for (const entry of list.getEntries()) {
    // `name` will be either 'first-paint' or 'first-contentful-paint'.
    const metricName = entry.name;
    const time = Math.round(entry.startTime + entry.duration);
    ga('send', 'event', {
      eventCategory:'Performance Metrics',
      eventAction: metricName,
      eventValue: time,
      nonInteraction: true,
    });
  }
});
observer.observe({entryTypes: ['paint']});
</script>

 

转载于:https://www.cnblogs.com/amiezhang/p/10816673.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值