搭建前端監(jiān)控系統(tǒng)(六)之接口性能分析篇這是搭建前端監(jiān)控系統(tǒng)的第七章,主要是介紹如何監(jiān)控前端接口的性能。可能前端工程師會奇怪,接口的性能一直都是由后端的小伙伴來監(jiān)測的,關前端鳥事啊。但其實隨著前端業(yè)務日益復雜,前端開始承受著前所未有的重要職責。因為前端業(yè)務變得復雜,所以前端工程師必須開始讓前后端分離,前端、后端小伙伴各司其職,同時也帶來了大量的異步接口請求。所以,原本由后端小伙伴監(jiān)控接口的一部分職責,便落到了我們前端小伙伴的肩膀上了。那么如何有效的進行接口性能的監(jiān)控,通過webfunny前端監(jiān)控、只需要簡單幾步就可以搭建一套屬于自己的前端監(jiān)控系統(tǒng)。webfunny前端監(jiān)控系統(tǒng)是純私有化部署。常見的前端監(jiān)控和前端錯誤監(jiān)控系統(tǒng)
搭建前端監(jiān)控系統(tǒng)(七)之用戶細查篇一、如何貫穿用戶的整個行為鏈路?這個很好理解,貫穿用戶的整個行為鏈路,就需要一個單一的key來標識這個用戶。比較簡單的就是使用UserId了,在通過webfunny前端監(jiān)控系統(tǒng)「用戶細查」的功能模塊,每個用戶我都給他傳入一個userId就可以了串聯(lián)起來了。但是這種方式有一個很容易被忽略的弊端:如果這個項目獲取userId速度比較慢,或者壓根不會有userId,那么用戶的行為記錄是不是會出現(xiàn)缺失呢?或者根本就無法關聯(lián)呢?那我們該如何規(guī)避這種問題呢?webfunny是如何做到的呢?為了規(guī)避以上提出的幾點問題,webfunny通過設置內(nèi)置id,來對所有的用戶進行區(qū)分。然后再通過userId,將所有的內(nèi)置id關聯(lián)在一起,這樣一來,只要在用戶的生命周期過程中,傳入一次userId,我們就可以關聯(lián)上用戶所有的行為記錄了。內(nèi)置ID生成規(guī)則的代碼,感興趣的前端同學可以到webfunny官網(wǎng)查看本篇博客原文。好用的前端監(jiān)控和前端錯誤監(jiān)控工具webfunny埋點系統(tǒng)可快速全鏈路數(shù)據(jù)接入,打破數(shù)據(jù)孤島,多角度洞察業(yè)務,實現(xiàn)數(shù)據(jù)智能決策。
搭建前端監(jiān)控系統(tǒng)(五)消息隊列處理并發(fā):1、增加日志上傳的時間間隔前端程序員應該都知道,日志上傳的時間間隔越長,用戶在這個間隔內(nèi)離開的幾率就會越大,日志的漏傳量就會增加,然后會導致日志的準確度降低。因為我們的探針是安插在瀏覽器內(nèi)的,用戶隨時都有可能關掉,所以,理論上講間隔越短越好,但這并不現(xiàn)實。所以這個需要在服務器的承受能力和日志的準確率之間做個權衡。由具體情況而定2、移除探針代碼里冗余的參數(shù),縮短參數(shù)名字的長度另外一點,每臺服務器的硬盤有限,帶寬有限,如果參數(shù)名字太長,參數(shù)內(nèi)容冗余,對服務器的硬盤和帶寬都是一種極大的浪費。雖然每條日志都不起眼,但是日志起量了以后,就是會是一筆非常龐大的開銷。
webfunny前端監(jiān)控系統(tǒng)—純私有化部署,可實現(xiàn)的功能介紹,前端監(jiān)控第三個功能模塊、用戶細查維度:webfunny前端監(jiān)控這塊的功能可以讓前端工程師查看單個用戶的具體行為,前端工程師可以清楚地知道,某個用戶,在某個時間,訪問了某個頁面,點擊了某個按鈕,發(fā)送了某個請求,從而產(chǎn)生了某個錯誤,一目了然。同時webfunny前端監(jiān)控系統(tǒng)還對這個用戶的各種外部環(huán)境做了分析,讓工程師追蹤用戶問題易如反掌。查詢用戶具體的行為記錄:主要包括一個月內(nèi)每天的訪問記錄、用戶瀏覽、點擊、請求、報錯、超時等等,前端工程師可以清晰的知道用戶在頁面上的行為,從而復現(xiàn)用戶的bug。設備分析:主要包括設備、系統(tǒng)、IP、地理位置、等等;網(wǎng)絡環(huán)境評估:通過對資源加載的的耗時分析,評估出用戶當時的網(wǎng)絡狀況,用來做分析對比。webfunny前端監(jiān)控系統(tǒng)的錯誤分析功能,通過探針監(jiān)控和上報線上環(huán)境的報錯,以及一些自定義異常。
搭建前端監(jiān)控系統(tǒng)(五)消息隊列處理并發(fā),通過一個消息暴增引發(fā)的前端線上崩了的問題場景來說明:消息隊列處理并發(fā)的重要性隨著前端監(jiān)控日志搜集的內(nèi)容越來越多,終于由于公司公眾號的一波推文,導致了日志的瞬間流量達到歷史新高,以至于mysql無法處理如此多的連接,系統(tǒng)崩潰。當然,作為日志上傳的服務器,這個是必然會發(fā)生的情況,只是早晚的問題。既然出現(xiàn)了并發(fā)問題,那么前端工程師們就著手來處理吧。日志上傳如何緩解高并發(fā)的情況呢?我們分為三個小點來處理。webfunny通過對線上項目的實時分析,能讓前端工程師對線上狀況有非常直觀的了解。前端監(jiān)控和js文件加載錯誤監(jiān)控方案搭建
webfunny前端監(jiān)控系統(tǒng)通過監(jiān)控PV、UV數(shù)據(jù)的變化趨勢,線上報錯、異常等, 同時還可以自定義警報功能。常見的前端監(jiān)控和前端錯誤監(jiān)控系統(tǒng)
搭建前端監(jiān)控系統(tǒng)(三)靜態(tài)資源加載監(jiān)控篇前端監(jiān)控除了如何做JS錯誤監(jiān)控,還有一種錯誤是靜態(tài)資源加載報錯,很多時候資源加載報錯對前端項目來說是致命的,因為靜態(tài)資源加載出錯了,有可能就會導致前端頁面無法渲染,用戶就只能對著一個空白屏幕發(fā)呆,不知所措。因為突然有天,我們的前端線上環(huán)境爆出了大量的白屏錯誤,經(jīng)過很長時間的排查,終于定位到問題原因:我們使用的CDN路徑不知道怎么的,把我們的https協(xié)議全部指向了http協(xié)議,在安全協(xié)議下無法訪問非安全協(xié)議的資源,導致了大量的白屏。所以我決定增加靜態(tài)資源監(jiān)控功能,以應對未來的未知情況。常見的前端監(jiān)控和前端錯誤監(jiān)控系統(tǒng)
上海觀縱科技有限公司是一家集研發(fā)、生產(chǎn)、咨詢、規(guī)劃、銷售、服務于一體的服務型企業(yè)。公司成立于2022-11-14,多年來在webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應用性能監(jiān)控,Argus-IT運維監(jiān)控行業(yè)形成了成熟、可靠的研發(fā)、生產(chǎn)體系。公司主要經(jīng)營webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應用性能監(jiān)控,Argus-IT運維監(jiān)控等產(chǎn)品,產(chǎn)品質(zhì)量可靠,均通過傳媒、廣電行業(yè)檢測,嚴格按照行業(yè)標準執(zhí)行。目前產(chǎn)品已經(jīng)應用與全國30多個省、市、自治區(qū)。我們以客戶的需求為基礎,在產(chǎn)品設計和研發(fā)上面苦下功夫,一份份的不懈努力和付出,打造了webfunny,walkingfunny,argus產(chǎn)品。我們從用戶角度,對每一款產(chǎn)品進行多方面分析,對每一款產(chǎn)品都精心設計、精心制作和嚴格檢驗。上海觀縱科技有限公司以市場為導向,以創(chuàng)新為動力。不斷提升管理水平及webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應用性能監(jiān)控,Argus-IT運維監(jiān)控產(chǎn)品質(zhì)量。本公司以良好的商品品質(zhì)、誠信的經(jīng)營理念期待您的到來!