搭建前端監(jiān)控系統(tǒng)(五)消息隊(duì)列處理并發(fā),通過一個(gè)消息暴增引發(fā)的前端線上崩了的問題場景來說明:消息隊(duì)列處理并發(fā)的重要性隨著前端監(jiān)控日志搜集的內(nèi)容越來越多,終于由于公司公眾號(hào)的一波推文,導(dǎo)致了日志的瞬間流量達(dá)到歷史新高,以至于mysql無法處理如此多的連接,系統(tǒng)崩潰。當(dāng)然,作為日志上傳的服務(wù)器,這個(gè)是必然會(huì)發(fā)生的情況,只是早晚的問題。既然出現(xiàn)了并發(fā)問題,那么前端工程師們就著手來處理吧。日志上傳如何緩解高并發(fā)的情況呢?我們分為三個(gè)小點(diǎn)來處理。webfunny前端監(jiān)控系統(tǒng)的功能:性能分析模塊,通過探針可對頁面的加載性能進(jìn)行分析,并直觀反映在報(bào)表上。好用的前端監(jiān)控和js性能監(jiān)控系統(tǒng)
webfunny前端監(jiān)控項(xiàng)目可實(shí)現(xiàn):三、記錄用戶的訪問行為有些錯(cuò)誤是前端頁面經(jīng)過復(fù)雜的跳轉(zhuǎn)、回退之后才發(fā)生的,就算測試人員也很難測試出這種問題,因?yàn)榫€上的用戶的任何行為都有可能出現(xiàn)。往往我們知道的只是用戶在后一次停留的頁面發(fā)生了錯(cuò)誤。如此,我們在前端監(jiān)控時(shí)記錄下用戶的跳轉(zhuǎn)日志,就能夠復(fù)現(xiàn)出用戶的行為,從而復(fù)現(xiàn)BUG。四、記錄用戶的接口行為接口請求是一個(gè)前端項(xiàng)目涉及比較多的行為,接口的異常包括:后臺(tái)報(bào)錯(cuò),響應(yīng)超時(shí),網(wǎng)絡(luò)環(huán)境較差,重復(fù)接口數(shù)據(jù)覆蓋等等。這些錯(cuò)誤也只有在真實(shí)的用戶環(huán)境中才會(huì)發(fā)生,是典型的前端線上問題。我們可以通過建立前端監(jiān)控來記錄下用戶的請求時(shí)間,參數(shù),響應(yīng)時(shí)間,響應(yīng)狀態(tài)等等,可以具體分析出來接口對頁面的影響??孔V的前端監(jiān)控和js穩(wěn)定性監(jiān)控軟件webfunny一體化埋點(diǎn)系統(tǒng):數(shù)據(jù)“采集+管理+分析”智能一體化,數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù),讓埋點(diǎn)不再困難。
為什么要監(jiān)控頁面性能?
一個(gè)頁面性能差的話會(huì)影響用戶體驗(yàn)。用戶打開頁面等待的太久,可能會(huì)直接關(guān)掉頁面,甚至就不再使用了,這種情況在移動(dòng)端更加明顯,移動(dòng)端用戶對頁面響應(yīng)延遲容忍度很低。
雖然頁面性能很重要,但是在實(shí)際使用中,頁面性能差的情況并不少見。首先,在產(chǎn)品的迭代演進(jìn)過程中,頁面性能可能會(huì)被忽略,性能隨著版本迭代而有所衰減;其次,性能優(yōu)化是一項(xiàng)復(fù)雜而挑戰(zhàn)的事情,需要明確的優(yōu)化方向和具體的優(yōu)化手段才能快速落地取效。所以我們需要一個(gè)性能監(jiān)控系統(tǒng),持續(xù)監(jiān)控和預(yù)警頁面性能的狀況,并且在發(fā)現(xiàn)瓶頸的時(shí)候指導(dǎo)優(yōu)化工作。
整體大致可以分四個(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ù)警。告警按照一定的級(jí)別自動(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ò)誤的代碼。webfunny前端監(jiān)控系統(tǒng),數(shù)據(jù)概覽功能可以:實(shí)時(shí)掌握項(xiàng)目的健康狀態(tài),PV/UV、報(bào)錯(cuò)、用戶分布等。
前端程序員如何明確定位、排查前端生產(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強(qiáng)大的線上調(diào)試功能,讓前端工程師可以隨時(shí)連接線上用戶。前端監(jiān)控和靜態(tài)資源加載錯(cuò)誤監(jiān)控平臺(tái)搭建
webfunny前端監(jiān)控專為前端開發(fā)所打造。通過前端監(jiān)控系統(tǒng),可以實(shí)時(shí)監(jiān)控前端性能,還實(shí)時(shí)分析前端健康狀態(tài)。好用的前端監(jiān)控和js性能監(jiān)控系統(tǒng)
前端程序員如何明確定位、排查前端生產(chǎn)問題?比如在分析錯(cuò)誤詳情時(shí),遇到線上用戶進(jìn)過了復(fù)雜的鏈接跳轉(zhuǎn)而發(fā)生了錯(cuò)誤;用戶調(diào)用的接口發(fā)生了異?;蛘叱瑫r(shí);線上的用戶反饋異常根本就跟實(shí)際情況不符等等。這些非直觀型的問題該如何解決?這時(shí)候前端工程師就需要用戶的行為記錄。三、記錄用戶的跳轉(zhuǎn)行為(Demo)有些錯(cuò)誤是前端頁面經(jīng)過復(fù)雜的跳轉(zhuǎn)、回退之后才發(fā)生的,就算測試人員也很難測試出這種問題,因?yàn)榫€上的用戶的任何行為都有可能出現(xiàn)。往往我們知道的只是他在后面停留的頁面發(fā)生了錯(cuò)誤。如此,我們通過webfunny前端監(jiān)控系統(tǒng)來記錄下用戶的跳轉(zhuǎn)日志,就能夠復(fù)現(xiàn)出用戶的行為,從而復(fù)現(xiàn)BUG來解決。好用的前端監(jiān)控和js性能監(jiān)控系統(tǒng)
上海觀縱科技有限公司成立于2022-11-14,是一家專注于webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控的****,公司位于上海市奉賢區(qū)望園南路1288弄80號(hào)1904、1909室。公司經(jīng)常與行業(yè)內(nèi)技術(shù)**交流學(xué)習(xí),研發(fā)出更好的產(chǎn)品給用戶使用。公司主要經(jīng)營webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控等產(chǎn)品,我們依托高素質(zhì)的技術(shù)人員和銷售隊(duì)伍,本著誠信經(jīng)營、理解客戶需求為經(jīng)營原則,公司通過良好的信譽(yù)和周到的售前、售后服務(wù),贏得用戶的信賴和支持。公司與行業(yè)上下游之間建立了長久親密的合作關(guān)系,確保webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控在技術(shù)上與行業(yè)內(nèi)保持同步。產(chǎn)品質(zhì)量按照行業(yè)標(biāo)準(zhǔn)進(jìn)行研發(fā)生產(chǎn),絕不因價(jià)格而放棄質(zhì)量和聲譽(yù)。上海觀縱科技有限公司依托多年來完善的服務(wù)經(jīng)驗(yàn)、良好的服務(wù)隊(duì)伍、完善的服務(wù)網(wǎng)絡(luò)和強(qiáng)大的合作伙伴,目前已經(jīng)得到傳媒、廣電行業(yè)內(nèi)客戶認(rèn)可和支持,并贏得長期合作伙伴的信賴。