成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

performance-report頁面性能、資源、錯(cuò)誤、ajax,fetch請求上報(bào)插件 完善小巧

testbird / 3150人閱讀

摘要:只做頁面性能數(shù)據(jù)的采集和上報(bào),是比較完整和健全的數(shù)據(jù)上報(bào)插件,它可以幫你完成以下功能是比較完整和健全的數(shù)據(jù)上報(bào)插件,它可以幫你完成以下功能當(dāng)前頁面上一頁面當(dāng)前瀏覽器版本信息頁面性能數(shù)據(jù)信息,例如頁面加載時(shí)間,白屏?xí)r間,解析時(shí)間等當(dāng)前頁面

performance-report只做頁面性能數(shù)據(jù)的采集和上報(bào),是比較完整和健全的數(shù)據(jù)上報(bào)插件,它可以幫你完成以下功能: performance-report 是比較完整和健全的數(shù)據(jù)上報(bào)插件,它可以幫你完成以下功能:

當(dāng)前頁面URL (data.page)

上一頁面URL (data.preUrl)

當(dāng)前瀏覽器版本信息 (data.appVersion)

頁面性能數(shù)據(jù)信息 (data.performance),例如:頁面加載時(shí)間,白屏?xí)r間,dns解析時(shí)間等

當(dāng)前頁面錯(cuò)誤信息 (data.errorList) 包含(js,css,img,ajax,fetch 等錯(cuò)誤信息)

當(dāng)前頁面所有資源性能數(shù)據(jù) (data.resoruceList),例如ajax,css,img等資源加載性能數(shù)據(jù)

不用擔(dān)心阻塞頁面,壓縮資源大小6kb,上報(bào)方式為異步上報(bào)

github地址,如果你覺得對你有用的話歡迎給個(gè)star

https://github.com/wangweiang...

完整前端性能監(jiān)控系統(tǒng):https://github.com/wangweiang... 使用方式

1、下載 dist/performance-report.min.js 到本地

2、使用script標(biāo)簽引入到html的頭部(備注:放到所有js資源之前)

3、使用performance函數(shù)進(jìn)行數(shù)據(jù)的監(jiān)聽上報(bào)



    
    performance test
    
    
    
參數(shù)說明
Performance({
    domain:"http://some.com/api", 
    outtime:500,
    isPage:true,
    isResource:true,
    isError:true,
    filterUrl:["http://localhost:35729/livereload.js?snipver=1"]
},(data)=>{
    fetch("http://some.com/api",{type:"POST",body:JSON.stringify(result)}).then((data)=>{})
})

同時(shí)傳入 domain和傳入的function ,function優(yōu)先級更高;

domain :上報(bào)api接口

outtime :上報(bào)延遲時(shí)間,保證異步數(shù)據(jù)的加載 (默認(rèn):1000ms)

isPage :是否上報(bào)頁面性能數(shù)據(jù) (默認(rèn):true)

isResource :是否上報(bào)頁面資源性能數(shù)據(jù) (默認(rèn):true)

isError :是否上報(bào)頁面錯(cuò)誤信息數(shù)據(jù) (默認(rèn):true)

filterUrl :不需要上報(bào)的ajax請求 (例如開發(fā)模式下的livereload鏈接)

fn :自定義上報(bào)函數(shù),上報(bào)方式可以用ajax可以用fetch (非必填:默認(rèn)使用fetch)

錯(cuò)誤處理:

插件會(huì)處理所有的error信息并完成上報(bào)

錯(cuò)誤處理分為4種類型

1.圖片資源,js資源文本資源等資源錯(cuò)誤信息 n="resource"

2.js報(bào)錯(cuò),代碼中的js報(bào)錯(cuò) n="js"

3.ajax請求錯(cuò)誤 n="ajax"

4.fetch請求錯(cuò)誤 n="fetch"

AJAX處理:

AJAX分為 XMLHttpRequest 和 Fetch的處理

AJAX兼容老板般與新版本 例如:jq的1.x版本與2.x版本以上需要做兼容處理

攔截所有fetch請求信息,遇到錯(cuò)誤時(shí)收集并上報(bào)

所有資源信息處理:

上報(bào)所有資源信息 資源類型以type來區(qū)分 type類型有

script:js腳本資源

img:圖片資源

fetchrequest:fetch請求資源

xmlhttprequest:ajax請求資源

other :其他

運(yùn)行方式
git clone https://github.com/wangweianger/web-performance-report.git
npm install
//開發(fā)
npm run dev
//打包
npm run build

http://localhost:8080/test/ 頁面測試
單頁面程序處理說明

對于單頁面應(yīng)用程序,只有第一次加載的頁面性能數(shù)據(jù)有效,之后的路由跳轉(zhuǎn)不會(huì)有頁面的性能數(shù)據(jù),因?yàn)樾枰撵o態(tài)資源已經(jīng)加載完成

如果新的路由有ajax請求或者fetch請求,會(huì)抓取所有新的請求數(shù)據(jù)并上報(bào)。

多頁面應(yīng)用程序不會(huì)受影響

返回參數(shù)說明
參數(shù)名 描述 說明
appVerfion 當(dāng)前瀏覽器信息
page 當(dāng)前頁面
preUrl 上一頁面
errorList 錯(cuò)誤資源列表信息
->t 資源時(shí)間
->n 資源類型 resource,js,ajax,fetch,other
->msg 錯(cuò)誤信息
->method 資源請求方式 GET,POST
->data->resourceUrl 請求資源路徑
->data->col js錯(cuò)誤行
->data->line js錯(cuò)誤列
->data->status ajax錯(cuò)誤狀態(tài)
->data->text ajax錯(cuò)誤信息
performance 頁面資源性能數(shù)據(jù)(單位均為毫秒)
->dnst DNS解析時(shí)間
->tcpt TCP建立時(shí)間
->wit 白屏?xí)r間
->domt dom渲染完成時(shí)間
->lodt 頁面onload時(shí)間
->radt 頁面準(zhǔn)備時(shí)間
->rdit 頁面重定向時(shí)間
->uodt unload時(shí)間
->reqt request請求耗時(shí)
->andt 頁面解析dom耗時(shí)
resoruceList 頁面資源性能數(shù)據(jù)
->decodedBodySize 資源返回?cái)?shù)據(jù)大小
->duration 資源耗時(shí)
->method 請求方式 GET,POST
->name 請求資源路徑
->nextHopProtocol http協(xié)議版本
->type 請求資源類型 script,img,fetchrequest,xmlhttprequest,other
一份完整的上報(bào)數(shù)據(jù)看起來像這樣:
{
  "page": "http://localhost:8080/test/", 
  "preUrl": "", 
  "appVersion": "5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36", 
  "errorList": [
    {
      "t": 1523948635259, 
      "n": "js", 
      "msg": "ReferenceError: wangwei is not defined at http://localhost:8080/test/:64:15", 
      "data": {
        "resourceUrl": "http://localhost:8080/test/", 
        "line": 64, 
        "col": 15
      }, 
      "method": "GET"
    }, 
    {
      "t": 1523948635330, 
      "n": "resource", 
      "msg": "img is load error", 
      "data": {
        "target": "img", 
        "type": "error", 
        "resourceUrl": "http://img1.imgtn.bd95510/"
      }, 
      "method": "GET"
    }, 
    {
      "t": 1523948635405, 
      "n": "ajax", 
      "msg": "ajax請求錯(cuò)誤", 
      "data": {
        "resourceUrl": "", 
        "text": "", 
        "status": 0
      }
    }, 
    {
      "t": 1523948635425, 
      "n": "fetch", 
      "msg": "fetch請求錯(cuò)誤", 
      "data": {
        "resourceUrl": "http://mock-api.seosiwei.com/guest/order/api/order/getOrde", 
        "text": "TypeError: Failed to fetch", 
        "status": 0
      }, 
      "method": "POST"
    }
  ], 
  "performance": {
    "dnst": 0, 
    "tcpt": 0, 
    "wit": 17, 
    "domt": 239, 
    "lodt": 904, 
    "radt": 8, 
    "rdit": 0, 
    "uodt": 0, 
    "reqt": 23, 
    "andt": 645
  }, 
  "resourceList": [
    {
      "name": "https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js", 
      "method": "GET", 
      "type": "script", 
      "duration": "0.00", 
      "decodedBodySize": 0, 
      "nextHopProtocol": "h2"
    }, 
    {
      "name": "https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=295864288,1887240069&fm=27&gp=0.jpg", 
      "method": "GET", 
      "type": "img", 
      "duration": "0.00", 
      "decodedBodySize": 0, 
      "nextHopProtocol": "http/1.1"
    }, 
    {
      "name": "http://mock-api.seosiwei.com/guest/home/api/shop/getHomeInitInfo", 
      "method": "GET", 
      "type": "fetchrequest", 
      "duration": "157.10", 
      "decodedBodySize": 0, 
      "nextHopProtocol": "http/1.1"
    }, 
    {
      "name": "http://mock-api.seosiwei.com/guest/order/api/order/getOrder", 
      "method": "POST", 
      "type": "xmlhttprequest", 
      "duration": "148.40", 
      "decodedBodySize": 0, 
      "nextHopProtocol": "http/1.1"
    }
  ]
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/94328.html

相關(guān)文章

  • 讓前端監(jiān)控?cái)?shù)據(jù)采集更高效

    摘要:如何在新的技術(shù)背景下讓前端數(shù)據(jù)采集工作更加完善高效,是本文討論的重點(diǎn)。具體來說,我們對前端的數(shù)據(jù)采集具體主要分為路由切換性能資源錯(cuò)誤日志上報(bào)路由切換等前端技術(shù)的快速發(fā)展使單頁面應(yīng)用盛行。 隨著業(yè)務(wù)的快速發(fā)展,我們對生產(chǎn)環(huán)境下的問題感知能力越來越關(guān)注。作為距離用戶最近的一層,前端的表現(xiàn)是否可靠、穩(wěn)定、好用,很大程度上決定著用戶對整個(gè)產(chǎn)品的體驗(yàn)和感受。因此,對于前端的監(jiān)控不容忽視。 搭建一...

    Half 評論0 收藏0
  • 一步一步搭建前端監(jiān)控系統(tǒng):接口請求異常監(jiān)控篇

    摘要:參考一步一步搭建前端監(jiān)控系統(tǒng)錯(cuò)誤監(jiān)控篇用插件記錄網(wǎng)絡(luò)請求異常關(guān)于專注于微信小程序微信小游戲支付寶小程序和線上應(yīng)用實(shí)時(shí)監(jiān)控。 摘要: 如何監(jiān)控HTTP請求錯(cuò)誤? 作者:一步一個(gè)腳印一個(gè)坑 原文:搭建前端監(jiān)控系統(tǒng)(四)接口請求異常監(jiān)控篇 Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。 背景:市面上的監(jiān)控系統(tǒng)有很多,大多收費(fèi),對于小型前端項(xiàng)目來說,必然是痛點(diǎn)。另一點(diǎn)主要原因是,功能雖然...

    dreamtecher 評論0 收藏0
  • 談?wù)勄岸水惓2东@與上報(bào)

    摘要:另外這樣的異常捕獲不能捕獲的異常錯(cuò)誤信息,這點(diǎn)需要注意。最終大致的流程圖如下結(jié)語前端異常捕獲與上報(bào)是前端異常監(jiān)控的前提,了解并做好了異常數(shù)據(jù)的收集和分析才能實(shí)現(xiàn)一個(gè)完善的錯(cuò)誤響應(yīng)和處理機(jī)制,最終達(dá)成數(shù)據(jù)可視化。 關(guān)于 微信公眾號:前端呼啦圈(Love-FED) 我的博客:勞卜的博客 知乎專欄:前端呼啦圈 前言 Hello,大家好,又與大家見面了,這次給大家分享下前端異常監(jiān)控中需...

    Kosmos 評論0 收藏0
  • 一步一步搭建前端監(jiān)控系統(tǒng):如何記錄用戶行為?

    摘要:摘要通過記錄用戶行為,快速復(fù)現(xiàn)場景。這是搭建前端監(jiān)控系統(tǒng)的第二章,主要是介紹如何統(tǒng)計(jì)報(bào)錯(cuò),跟著我一步步做,你也能搭建出一個(gè)屬于自己的前端監(jiān)控系統(tǒng)。 摘要: 通過記錄用戶行為,快速復(fù)現(xiàn)BUG場景。 作者:一步一個(gè)腳印一個(gè)坑 原文:搭建前端監(jiān)控系統(tǒng)(備選)用戶行為統(tǒng)計(jì)和監(jiān)控篇(如何快速定位線上問題) Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。 一步一步搭建前端監(jiān)控系統(tǒng)系列博客: ...

    tolerious 評論0 收藏0
  • 在單頁應(yīng)用中,如何優(yōu)雅的上報(bào)前端性能數(shù)據(jù)

    摘要:本文的介紹的是如何設(shè)計(jì)一個(gè)通用的可以以較小的侵入性,自動(dòng)上報(bào)前端的性能數(shù)據(jù)。具體的做法可以看我的上一篇文章在單頁應(yīng)用中,如何優(yōu)雅的監(jiān)聽的變化。三如何上報(bào)性能數(shù)據(jù)那么如何上報(bào)性能數(shù)據(jù)呢,我們第一反應(yīng)就是通過請求的形式來上報(bào)前端性能數(shù)據(jù)。 ??最近在做一個(gè)較為通用的前端性能監(jiān)控平臺,區(qū)別于前端異常監(jiān)控,前端的性能監(jiān)控主要需要上報(bào)和展示的是前端的性能數(shù)據(jù),包括首頁渲染時(shí)間、每個(gè)頁面的白屏?xí)r...

    KitorinZero 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<