前端监控
01-监控【一手IT免费资源加微信2268731】.flv
02-监控【一手IT免费资源加微信2268731】.flv
03-监控【一手IT免费资源加微信2268731】.flv
04-监控【一手IT免费资源加微信2268731】.flv
05-监控5【一手IT免费资源加微信2268731】.flv
什么样的前端项目是一个好的前端项目?
好项目用了React/Vue用dispatch不用setState用TypeScript使用webpack打包模块化思想符合MVVM/MVC模式
差项目还在用jQuery操作DOM组件通信还在用event没有各种lint资源依赖手动处理window上挂了很多变量命令式代码
你的项目用了下面的技术支持,和老大说我的这个前端项目很好,老大认不认?·使用了最热的react全家桶,还抽象了几个redux中间件·使用了webpack打包,不仅抽离了公用lib,甚至还做了代码分割·使用了less+css next,让css写起来更好·非核心必要组件改造成异步组件·…
点了这个按钮怎么没反应了?页面为什么白了?怎么一直是正在加载?先点1按钮后点2按钮会出问题唉。大量云南的用户说看不到图片!
那么,前端监控了解一下?
技术监控页面性能监控静态资源性能监控错误监控接口性能监控
行为监控用户行为路径打点监控大量log上报策略时效策略
数据挖掘 分析 回报ppt
nm
https://github.com/geeknull/eagle-monitor
O www.rollupjs.com
Performance 接口可以获取到当前页面与性能相关的信息。它是High Resolution Time APl的一部分,同时也融合了Performance Timeline API、Navigatigg Timing API、User TimingAPI 和 Resource Timing API。该类型的对象可以通过调用只读属性window.performance 来获得。
Performance 性能分析...
多数是时间戳
https://caniuse.com/#search=Performance.timing
ie9+
let timing = performance.timing;
let perfData = {
// 网络建连
pervPage: filterTime(timing.fetchStart, timing.navigationStart), // 上一个页面
redirect: filterTime(timing.responseEnd, timing.redirectStart), // 页面重定向时间
dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS查找时间
connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连时间
network: filterTime(timing.connectEnd, timing.navigationStart), // 网络总耗时
// 网络接收
send: filterTime(timing.responseStart, timing.requestStart), // 前端从发送到接收到后端第一个返回
receive: filterTime(timing.responseEnd, timing.responseStart), // 接受页面时间
request: filterTime(timing.responseEnd, timing.requestStart), // 请求页面总时间
// 前端渲染
dom: filterTime(timing.domComplete, timing.domLoading), // dom解析时间
loadEvent: filterTime(timing.loadEventEnd, timing.loadEventStart), // loadEvent时间
frontend: filterTime(timing.loadEventEnd, timing.domLoading), // 前端总时间
// 关键阶段
load: filterTime(timing.loadEventEnd, timing.navigationStart), // 页面完全加载总时间
domReady: filterTime(timing.domContentLoadedEventStart, timing.navigationStart), // domready时间
interactive: filterTime(timing.domInteractive, timing.navigationStart), // 可操作时间
ttfb: filterTime(timing.responseStart, timing.navigationStart), // 首字节时间
};
bhx +-
一个document的Document.readyState属性描述了文档的加载状态。值一个文档的readyState可以是以下之一:loading/加载document仍在加载。interactive/互动文档已经完成加载,文档已被解析,但是诸如图像,样式表和框架之类的子资源仍在加载。complete/完成T文档和所有子资源已完成加载。状态表示1oad事件即将被触发。当这个属性的值变化时,document 对象上的readystatechange 事件将被触发。
(窗口。性能观察者) (window.PerformanceObserver)
let xhr = window.XMLHttpRequest; +flag 优化 不多调
//这三种状态都代表这请求已经结束了需要统计一些信息并上报上去this.addEventListener('load',I false);this.addEventListener('error', false);this.addEventListener('abort', false);
error事件的事件处理程序。针对各种目标的不同类型的错误触发了 Error事件:·当JavaScript运行时错误(包括语法错误)发生时,window会触发一个ErrorEvent接口的error事件,并执行window.onerror()。·当一项资源(如或
标签:前端,filterTime,监控,timing,加载,页面 From: https://www.cnblogs.com/KooTeam/p/18645917