前端出現(xiàn)異常報(bào)錯(cuò)的時(shí)候,,有前端幫后臺(tái)背鍋之前怎么快速優(yōu)雅的"甩鍋",?在做前端程序員的時(shí)候,,我之前所在的公司后臺(tái)可是有著完善的監(jiān)控系統(tǒng),,他們都覺得自己的代碼和監(jiān)控都做得非常完善,但是前端的我做了監(jiān)控結(jié)果后來看,,事實(shí)并非如此,。當(dāng)然,你也許會(huì)說這是開發(fā)和測試不專業(yè),,這么明顯的問題都沒有發(fā)現(xiàn),,但是,我只能用一句話來解釋:人非圣賢,。與其追究是誰的責(zé)任,,不如想辦法解決問題。將線上的損失減少到較低的影響,。如果作為前端你對項(xiàng)目做了監(jiān)控,,并且能實(shí)時(shí)監(jiān)控到,出現(xiàn)問題的時(shí)候把報(bào)錯(cuò)截圖發(fā)給后臺(tái)小伙伴,,你還需要跟他們爭論是誰的鍋嗎,?當(dāng)然,如果是前端程序員自己的鍋,,那還是趕緊偷偷修改掉吧,,在建立webfunny前端監(jiān)控時(shí),我也是充分考慮到前端接口這個(gè)報(bào)錯(cuò)問題點(diǎn)充分做了細(xì)致設(shè)計(jì),。webfunny前端監(jiān)控系統(tǒng)通過探針實(shí)現(xiàn)用戶細(xì)查,。 支持使用多種檢索條件進(jìn)行搜索,提高查找效率,。常見的前端監(jiān)控和前端異常監(jiān)控軟件
搭建前端監(jiān)控系統(tǒng)(七)之用戶細(xì)查篇二,、利用多個(gè)維度來準(zhǔn)確定位到具體的用戶上面提到了用戶的userId獲取速度可能比較慢,或者根本不會(huì)有,那我們該怎么去把用戶的行為記錄查出來呢,。其實(shí),,我們可以通過用戶行為產(chǎn)生的時(shí)間,用戶的ip地址,,地理位置以及訪問設(shè)備等信息的佐證,,來找到具體的用戶,在webfunny前端監(jiān)控系統(tǒng)里,,這塊兒會(huì)詳細(xì)展示出來,。前端程序員通過其他維度的信息,可以鎖定一些用戶,,即使在沒有userId的情況下,,我們依然可以通過內(nèi)置ID查到用戶的行為記錄,幫助我們排查問題,。其中如何通過IP地址查詢地理位置,,建議前端程序員可以使用node-ip2region這個(gè)庫進(jìn)行查詢,挺好用的,。有哪些好用的前端監(jiān)控和前端行為分析系統(tǒng)webfunny前端監(jiān)控系統(tǒng)幫助開發(fā)者實(shí)現(xiàn)實(shí)時(shí)掌握:運(yùn)營數(shù)據(jù),、前端報(bào)錯(cuò)、頁面性能,、接口性能,、以及小程序監(jiān)控!
整體大致可以分四個(gè)階段:信息采集,、存儲(chǔ),、分析、監(jiān)控,。采集階段:收集異常日志,,先在本地做一定的處理,采取一定的方案上報(bào)到服務(wù)器,。存儲(chǔ)階段:后端接收前端上報(bào)的異常日志,,經(jīng)過一定處理,按照一定的存儲(chǔ)方案存儲(chǔ),。分析階段:分為機(jī)器自動(dòng)分析和人工分析,。機(jī)器自動(dòng)分析,通過預(yù)設(shè)的條件和算法,,對存儲(chǔ)的日志信息進(jìn)行統(tǒng)計(jì)和篩選,,發(fā)現(xiàn)問題,觸發(fā)報(bào)警,。人工分析,,通過提供一個(gè)可視化的數(shù)據(jù)面板,,讓系統(tǒng)用戶可以看到具體的日志數(shù)據(jù),根據(jù)信息,,發(fā)現(xiàn)異常問題根源,。報(bào)警階段:分為告警和預(yù)警。告警按照一定的級別自動(dòng)報(bào)警,,通過設(shè)定的渠道,,按照一定的觸發(fā)規(guī)則進(jìn)行。預(yù)警則在異常發(fā)生前,,提前預(yù)判,,給出警告。性能監(jiān)控:使用ResourceTimingAPI和PerformanceTimingAPI,,可以計(jì)算許多重要的指標(biāo),,比如頁面性能統(tǒng)計(jì)的起始點(diǎn)時(shí)間、首屏?xí)r間等,。異常監(jiān)控:前端捕獲異常分為全局捕獲和局部捕獲,。局部捕獲作為補(bǔ)充,對某些特殊情況進(jìn)行捕獲,,但分散,,不利于管理。所以,,我會(huì)選擇全局捕獲的方式,即通過全局的接口,,將捕獲代碼集中寫在一個(gè)地方,。具體在實(shí)現(xiàn)項(xiàng)目中,我應(yīng)該會(huì)采用badjs-report,,它重寫了進(jìn)行上報(bào)異常,,無需編寫任何捕獲錯(cuò)誤的代碼。
搭建前端監(jiān)控系統(tǒng)(五)消息隊(duì)列處理并發(fā):1,、增加日志上傳的時(shí)間間隔前端程序員應(yīng)該都知道,,日志上傳的時(shí)間間隔越長,用戶在這個(gè)間隔內(nèi)離開的幾率就會(huì)越大,,日志的漏傳量就會(huì)增加,,然后會(huì)導(dǎo)致日志的準(zhǔn)確度降低。因?yàn)槲覀兊奶结樖前膊逶跒g覽器內(nèi)的,,用戶隨時(shí)都有可能關(guān)掉,,所以,理論上講間隔越短越好,,但這并不現(xiàn)實(shí),。所以這個(gè)需要在服務(wù)器的承受能力和日志的準(zhǔn)確率之間做個(gè)權(quán)衡。由具體情況而定2、移除探針代碼里冗余的參數(shù),,縮短參數(shù)名字的長度另外一點(diǎn),,每臺(tái)服務(wù)器的硬盤有限,帶寬有限,,如果參數(shù)名字太長,,參數(shù)內(nèi)容冗余,對服務(wù)器的硬盤和帶寬都是一種極大的浪費(fèi),。雖然每條日志都不起眼,,但是日志起量了以后,就是會(huì)是一筆非常龐大的開銷,。webfunny通過探針記錄了用戶大量的操作行為,,一旦出現(xiàn)問題,復(fù)現(xiàn)BUG也將變得非常簡單,。
前端程序員如何明確定位,、排查前端生產(chǎn)問題?二,、分析錯(cuò)誤詳情通過webfunny前端監(jiān)控系統(tǒng),,我們可以把線上的錯(cuò)誤日志統(tǒng)計(jì)出來了,那如何解析這些錯(cuò)誤日志呢,。比如:解析出用戶的機(jī)型,,版本,系統(tǒng)平臺(tái),,影響范圍,,以及具體的錯(cuò)誤位置,從而提高前端工程師解決問題的效率,。方法能夠利用的功能都已經(jīng)用的差不多了,,但是它真的可以幫我們定位和解決所有前端線上的問題嗎?線上能夠修復(fù)的問題,,前端工程師肯定是遇到都在盡量修復(fù),,但是前端線上的問題頻發(fā)。當(dāng)客服反饋一個(gè)問題,,你發(fā)現(xiàn)沒有測試機(jī)型,,無法復(fù)現(xiàn)用戶錯(cuò)誤的時(shí)候,讓你來修復(fù)這個(gè)問題,,前端只能兩眼一抹黑無能為力,。所以前端監(jiān)控的建設(shè)很有必要性。webfunny一鍵搭建前端監(jiān)控系統(tǒng),,實(shí)時(shí)了解線上應(yīng)用健康情況,!常見的前端監(jiān)控和前端異常監(jiān)控平臺(tái)
webfunny線上調(diào)試功能,,支持實(shí)時(shí)了解用戶的行為、控制臺(tái)打印信息,、本地緩存信息等,,就好像在本地調(diào)試一樣。常見的前端監(jiān)控和前端異常監(jiān)控軟件
二,、前端數(shù)據(jù)分類:2.4 異常相關(guān)的數(shù)據(jù)這里的異常是指 JS 的異常,,用戶的瀏覽器上報(bào) JS 的 bug,這會(huì)極大地降低用戶體驗(yàn)異常的提示信息:這是識(shí)別一個(gè)異常的重要依據(jù),,如:為空或不是對象JS 文件名異常所在行發(fā)生異常的瀏覽器堆棧信息:必要的時(shí)候需要函數(shù)調(diào)用的堆棧信息,,但是注意堆棧信息可能會(huì)比較大,需要截取2.5 其它數(shù)據(jù)除了上面提到的 4 類基本的數(shù)據(jù)統(tǒng)計(jì)需求,,我們當(dāng)然還可以根據(jù)實(shí)際情況來定義一些其他的統(tǒng)計(jì)需求,,如用戶瀏覽器對 canvas 的支持程度, 再比如比較特殊的-用戶進(jìn)行輪播圖翻頁的次數(shù),,這些數(shù)據(jù)統(tǒng)計(jì)需求都是前端能夠滿足的,,每一項(xiàng)統(tǒng)計(jì)的結(jié)果都體現(xiàn)了前端數(shù)據(jù)的價(jià)值常見的前端監(jiān)控和前端異常監(jiān)控軟件
上海觀縱科技有限公司是一家集研發(fā)、制造,、銷售為一體的****,,公司位于上海市奉賢區(qū)望園南路1288弄80號1904、1909室,,成立于2022-11-14,。公司秉承著技術(shù)研發(fā)、客戶優(yōu)先的原則,,為國內(nèi)webfunny前端監(jiān)控,,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,,Argus-IT運(yùn)維監(jiān)控的產(chǎn)品發(fā)展添磚加瓦。在孜孜不倦的奮斗下,,公司產(chǎn)品業(yè)務(wù)越來越廣,。目前主要經(jīng)營有webfunny前端監(jiān)控,webfunny前端埋點(diǎn),,全鏈路應(yīng)用性能監(jiān)控,,Argus-IT運(yùn)維監(jiān)控等產(chǎn)品,并多次以傳媒,、廣電行業(yè)標(biāo)準(zhǔn),、客戶需求定制多款多元化的產(chǎn)品。我們以客戶的需求為基礎(chǔ),,在產(chǎn)品設(shè)計(jì)和研發(fā)上面苦下功夫,,一份份的不懈努力和付出,,打造了webfunny,walkingfunny,argus產(chǎn)品。我們從用戶角度,,對每一款產(chǎn)品進(jìn)行多方面分析,,對每一款產(chǎn)品都精心設(shè)計(jì)、精心制作和嚴(yán)格檢驗(yàn),。上海觀縱科技有限公司以市場為導(dǎo)向,,以創(chuàng)新為動(dòng)力。不斷提升管理水平及webfunny前端監(jiān)控,,webfunny前端埋點(diǎn),,全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控產(chǎn)品質(zhì)量,。本公司以良好的商品品質(zhì),、誠信的經(jīng)營理念期待您的到來!