前端出現異常的時候,前端程序員如何快速甩鍋?特別是前端程序員發現前端報錯的原因是接口報錯,這時候如何把這個前端報錯的問題優雅的甩給后端程序員。可能有些前端程序員會認為接口的報錯應該由后臺來關注,統計,并修復。確實如此,而且后臺服務有了很多成熟完善的統計工具,完全能夠應對大部分的異常情況,那么為什么還需要前端來解決接口問題呢。原因很簡單,因為前端是bug的重要發現位置,報錯發生時肯定會先找到前端程序員來解決,那么在前端幫后臺背鍋之前怎么快速優雅的"甩鍋"呢?大家有沒有想過,如果前端程序員都對自己的項目做了系統的監控、報錯都能實時反饋展示,就不用擔心甩鍋的問題了。webfunny前端監控工具,就是...
webfunny前端監控項目可實現:七、分析用戶的場外信息當用戶所有的行為都被前端開發者掌握之后,前端能夠復現出用戶的行為,甚至能夠復現出用戶的問題,也許還需要一些場外信息才能準確定位問題,比如,用戶的機型,地理位置,系統版本,當時的網絡環境(這個不準確,我做webfunny前端項目場景測試時,是依據用戶當時初次加載頁面的時間來判斷,只能作為參考依據)前端線上問題產生的原因五花八門,只有把日志做全了,才能夠準確的定位和解決前端問題、作好前端項目的監控。這是webfunny前端監控項目開發者排查線上問題的經驗和實戰,分享給所有的前端工程師們參考,當然理論有了,作為前端開發技術同學還是實操效果更好...
搭建前端監控系統(七)之用戶細查篇二、利用多個維度來準確定位到具體的用戶上面提到了用戶的userId獲取速度可能比較慢,或者根本不會有,那我們該怎么去把用戶的行為記錄查出來呢。其實,我們可以通過用戶行為產生的時間,用戶的ip地址,地理位置以及訪問設備等信息的佐證,來找到具體的用戶,在webfunny前端監控系統里,這塊兒會詳細展示出來。前端程序員通過其他維度的信息,可以鎖定一些用戶,即使在沒有userId的情況下,我們依然可以通過內置ID查到用戶的行為記錄,幫助我們排查問題。其中如何通過IP地址查詢地理位置,建議前端程序員可以使用node-ip2region這個庫進行查詢,挺好用的。webfu...
提到監控系統,大部分開發人員首先想到的是后端監控。很明顯,比如檢測服務器性能,數據庫性能,API的訪問流量,以及各種服務的運行情況等等,都與后端息息相關。而前端更多承擔的是UI展現的角色,主要關注頁面怎么排版設計,好像沒什么需要監測的地方,因此一直以來都沒有涉及到監控的概念。 于是呢大家就一致認為:只要后端穩定可控,應用就是穩定可控的,可實際情況前端監控的重要性不亞于后端。現在的前端監控并不僅是監控異常數據,任何有利于產品分析的數據都可以加入監控。所以我認為前端監控,就是指采集用戶使用系統過程中產生的關鍵數據,存儲到數據庫,后續可以查找和分析,這樣的整套實現就被稱為前端監控系統。 w...
前端監控通常情況下監控的內容可以分為三類:第二,用戶行為。用戶行為大體上可以理解為,誰,在什么時間,做了哪些操作。比如,用戶,登錄了什么應用,應用的版本是什么,應用所在的平臺信息,頁面的訪問情況,停留時長等。第三,應用的性能。應用的性能指的是,比如頁面加載時長,接口請求時長,資源大小等等。 以哪種方式進行監控監控方式,其實指的就是我們平常說的埋點方式。通常情況分為自動埋點,和手動埋點。 自動埋點的實現方式稍微復雜一些,需要我們去hack很多內容。比如需要重寫XHR對象,或者以一種更優雅的方式實現fetch等。而手動埋點則是我們直接在業務代碼中需要監控的地方,直接調用接口上報所需...
搭建前端監控系統(六)之接口性能分析篇,如何監控前端接口的性能。二、單個接口分析很多時候,前端出現接口問題的肯定某一個接口出現異常,如果是大面積異常,前端同學的電話肯定被老板打爆了,也不需要監控了。那么針對單個接口我們應該分析哪些指標呢?超時接口數量、單個接口的平均耗時、影響用戶數量、發生頁面個數、可以準確定位到某個小時和某一分鐘發生的情況。三、分析報警分析報警可以分為多個指標:超時接口數量、超時接口占比(百分比),影響用戶數量。隨著工作的不斷深入,前端工程師應該走出舒適圈,關注更多維度的指標,不能再局限在狹義的前端后端了。webfunny前端監控系統,自定義埋點功能,更加靈活的自定義埋點,滿...
前端出現異常報錯的時候,有前端幫后臺背鍋之前怎么快速優雅的"甩鍋"?在做前端程序員的時候,我之前所在的公司后臺可是有著完善的監控系統,他們都覺得自己的代碼和監控都做得非常完善,但是前端的我做了監控結果后來看,事實并非如此。當然,你也許會說這是開發和測試不專業,這么明顯的問題都沒有發現,但是,我只能用一句話來解釋:人非圣賢。與其追究是誰的責任,不如想辦法解決問題。將線上的損失減少到較低的影響。如果作為前端你對項目做了監控,并且能實時監控到,出現問題的時候把報錯截圖發給后臺小伙伴,你還需要跟他們爭論是誰的鍋嗎?當然,如果是前端程序員自己的鍋,那還是趕緊偷偷修改掉吧,在建立webfunny前端監控時...
如何解決前端線上問題?如果你是一位前端工程師,那你一定不止一次去解決一些頑固的線上問題,你也曾想方設法復現用戶的bug,結果可能都不太理想。怎樣定位前端線上問題,一直以來,都是很頭疼的問題,因為它發生于用戶的一系列操作之后。錯誤的原因可能源于機型,網絡環境,復雜的操作行為等等,在我們想要去解決的時候很難復現出來,自然也就無法解決。身為一名前端工程師,我每天都要面臨很多線上的問題,一時間讓我焦頭爛額。雖然公司也有其他的監控系統,但是每次解決問題都需要輾轉于各種監控系統之間,亦是疲憊不堪。所以,一怒之下,基于自己在前端線上監控工作時的這些痛點,我便為自己(前端工程師)量身定做了這樣一款監控系統:w...
搭建前端監控系統(七)之用戶細查篇三、用戶細查具體要分析哪些數據,更容易幫助我們定位前端問題呢首先是用戶基本信息,既然是查詢用戶的行為記錄,那么用戶的基本信息肯定是必不可少。正常情況下,我們需要知道用戶的標簽、使用設備型號、系統版本、IP地址、所在地區、瀏覽器useragent等;詳細的信息展示可以通過webfunny前端監控系統進行demo實操查看。其次是頁面平均加載時間,這里可能有人會問了,既然是用戶行為記錄查詢,為什么又需要查看頁面平均加載時間呢?如大家所知,造成一個用戶在我們的應用上不可用的情況,有很多種原因,其中網絡速度是不可以忽略的因素。所以通過頁面的平均加載時間我們可以判斷用戶當...
webfunny前端監控項目可實現:一、統計前端錯誤眾所周知,我們有辦法去統計前端的錯誤,那就是大名鼎鼎的,,以及一些額外的信息。將,就能統計出每天的錯誤量,每個小時的錯誤量,每天的錯誤率變化,來鑒定我們前端線上環境是否健康。我們按照JS錯誤數量進行分類排序,按照頁面進行錯誤分類。通過上邊的數據分析,我們能夠清晰地觀察到線上項目的報錯情況。二、分析錯誤詳情前端線上的錯誤日志統計出來后,通過webfunny前端監控項目可以解析這些錯誤日志,解析出用戶的機型,版本,系統平臺,影響范圍,以及具體的錯誤位置,從而提高前端開發者解決問題的效率。webfunny前端監控系統,數據概覽功能可以:實時掌握項目...
現有的大部分監控方案都是針對服務端的,而針對前端的監控很少,諸如線上頁面的白屏時間是多少、靜態資源的加載情況如何、接口請求耗時好久、什么時候掛掉了、為什么掛掉,這些都不清楚。同時,在產品推廣過程中,經常需要統計頁面的使用情況及用戶行為,從而可以從運營和產品的角度去了解用戶群體,進而迭代升級產品,使其更加貼近用戶,為業務的擴展提供更多可能性。因而,我們需要一個前端的頁面監控系統,持續監控和預警頁面性能的狀況,并且在發現瓶頸時用于指導優化工作。通過監控來對線上的流量數據、用戶量統計、頁面訪問趨勢、用戶活躍量趨勢等等指標有一個清晰直觀的了解。前端監控和js錯誤監控產品前端程序員如何明確定位、排查前端...
前端出現異常的時候,前端程序員如何快速甩鍋?特別是前端程序員發現前端報錯的原因是網絡問題,雖然很多時候這種報錯問題是由用戶的網絡問題導致的。網絡是跟用戶體驗密切相關的因素,但卻是開發小伙伴無能為力的因素,因為這取決于用戶當時的網絡環境是否良好。如果我們能夠判斷出用戶當時的網絡情況,對我們排查問題也是很有幫助的。首先,網絡環境對頁面初次加載影響比較明顯。理論上講,前端是不方便把用戶當時的網絡情況計算出來,但是我們可以側面評估出用戶當時的網絡環境。雖然我們測不出來網速,但是我們可以計算出用戶初次加載頁面的時間,以此來評估用戶的網絡環境。webfunny線上調試功能,支持實時了解用戶的行為、控制臺打...
前端出現異常的時候,前端程序員如果發現是CDN報錯的原因,這個時候為了避免出現替第三方公司背鍋,因為做前端的都知道,這是很憋屈的一種線上Bug,還是替第三方公司背鍋。如果是第三方的東西出了問題,上面領導永遠都只懷疑是你的代碼有bug,如果你沒有有力的證據,即使你已經排查過了,領導也只會說一句“你再去好好排查一下你自己的代碼”,這時候前端可能會很委屈、有一鍵盤呼他臉上的沖動。因為之前工作的時候出現過這種背鍋的事情,所以在webfunny前端監控系統里加入了對靜態資源的監控功能。前不久,阿里部分區域的出現了5分鐘無法訪問的情況。我們線上群里頓時就炸開了鍋,讓我趕緊排查問題。我打開了錯誤監控,發現只...
前端程序員如何明確定位、排查前端生產問題?比如在分析錯誤詳情時,遇到線上用戶進過了復雜的鏈接跳轉而發生了錯誤;用戶調用的接口發生了異常或者超時;線上的用戶反饋異常根本就跟實際情況不符等等。這些非直觀型的問題該如何解決?這時候前端工程師就需要用戶的行為記錄。三、記錄用戶的跳轉行為(Demo)有些錯誤是前端頁面經過復雜的跳轉、回退之后才發生的,就算測試人員也很難測試出這種問題,因為線上的用戶的任何行為都有可能出現。往往我們知道的只是他在后面停留的頁面發生了錯誤。如此,我們通過webfunny前端監控系統來記錄下用戶的跳轉日志,就能夠復現出用戶的行為,從而復現BUG來解決。webfunny前端監控系...
前端監控系統搭建第三步之購買CA證書或者說是HTTPS證書現在很多網站都是走HTTPS安全協議,如果我們的服務器不支持安全協議,那么日志是無法被上傳到我們的服務器上的。所以我們也需要給我們的服務器配置安全證書。有多種方式獲取證書,有不收費的,有收費的,我的webfunny前端監控項目用的是阿里云上未收費版本一年的。PS:https證書可能也需要折騰一些時間,需要有耐心。這樣,我們的阿里云服務器部署環境就算搭建完成了,可以開始寫前端日志的監控代碼了。webfunny前端監控系統,只需簡單幾步,前端程序員就可以搭建出屬于自己的項目應用監控。前端監控和js文件加載錯誤監控系統開源 為什么要監控頁面...
搭建前端監控系統(七)之用戶細查篇:用戶細查具體要分析哪些數據,更容易幫助我們定位前端問題呢說完用戶基本信息和頁面平均加載時間,下面就要來說接口耗時正態分布。接口耗時同樣能夠反饋出用戶當時的網絡狀態,同時他也能反饋出服務端接口的狀態。比如,頁面平均耗時表現良好,接口耗時表現差,則能反映出,當時的后端服務狀態不是很好。還有完整的用戶行為記錄,以上是用戶行為中的基本信息,接下來要說的是用戶的完整行為鏈路,通過將頁面訪問、接口請求、代碼報錯、自定義行為等,按照時間先后順序串聯起來,可以達到復現用戶錯誤的目的。其中,接口請求記錄,除了會記錄接口耗時,還需要記錄接口的返回值,這樣能夠更加明確的定位數據問...
webfunny_monitor到底能夠為項目帶來哪些實用的能力呢?1、你可以通過它來對線上的流量數據、用戶量統計、頁面訪問趨勢、用戶活躍量趨勢等等指標有一個非常清晰直觀的了解。 并且,你還可以深入分析每個用戶的行為。系統記錄了用戶的所有行為,為了提高查找效率,系統支持使用多種檢索條件進行搜索。 2、你可以通過它來分析系統的健康情況包括js報錯趨勢、自定義異常趨勢、靜態資源加載報錯確實等等指標。并且,你還可以清晰地看到報錯的詳細情況,這樣可以幫助你精細化分析每個報錯問題。 3、你可以通過它來分析系統的性能情況包括頁面和接口性能,加載耗時,成功率、 4、 你還可以使...
很多前端程序員都很難接觸到實踐前端埋點與監控。當然,就算有機會接觸到前端監控的前端,一旦遇到相關問題也十分令人痛苦了。用戶在實際場景重的一系列操作,外加一些類似機型、網絡環境的問題,讓前端很難在開發環境中復現出來。特別是前端在沒有監控加持的情況下,需要人為手動解決問題,還要應對產品的需求轟炸,真是太難了。作為webfunny前端監控系統的開發者,我們深知做好任何一個產品都不會那么容易,特別是前端監控這種技術型產品,webfunny前端監控系統還有很多需要改進和提升的地方,而webfunny前端監控一直在不斷的迭代產品。如果你是前端工程師,對監控有興趣,可以來webfunny官網試用demo,只...
搭建前端監控系統(三)靜態資源加載監控篇如何監控前端靜態資源加載情況:前端開發者可以根據報錯是的,還是script標簽。由于目前暫時關注對前端造成崩潰的錯誤,所以目前只監控了css,js文件加載錯誤的情況。首先,前端工程師要做的實時監控和預警,依然關聯了7天以前同一時間端的數據,如果某個時間段出現錯誤量暴增,可以發出警告,及時制止。然后,前端開發者還需要知道更多詳細的信息,如資源加載報錯、資源失敗列表等等,雖然前端線上環境并沒有給前端開發者報出這么多的問題,但是可以看到,每天還是有很多的靜態資源加載報錯,有些是很重要的靜態資源文件,是必然會導致頁面渲染失敗的,所以必須要解決建立合理...
搭建前端監控系統(五)消息隊列處理并發,在做webfunny前端監控項目之前,作為前端程序員我能夠接觸到的關于消息隊列的應用場景實在有限,所以不能介紹更復雜的內容,大致的思維邏輯:有消息進來,先存入消息隊列里,另一端再從隊列去取出來,完成接下來的工作。從代碼的角度來看:就是一個生產者和消費者的模式,生產者不停的向消息隊列里生產消息,消費者在有需要的時候,從消息隊列里取消息,一旦完成消費,隊列里便移除這個消息。消息的生產者和消費者互相沒有感知,生產者產生過剩的消息都存放在消息隊列里,由消費者慢慢消耗。以此來削峰填谷,達到處理高并發的目的。通過對前端消息應用場景的淺顯理解,我自己在設計webfun...
搭建前端監控系統(三)靜態資源加載監控篇,如何監控前端靜態資源加載情況:解決方案:1、通過前端監控建立,統計出每天報出的量,列出每天加載報錯的變化,點擊圖表的bar,可以看到每天的數據變化,以作對比。2、分析出靜態資源加載出錯主要發生在哪些頁面上,縮小排查的范圍。3、分析出影響用戶的人數,也許很多錯誤就發生在一個用戶身上,減少盲目排查。靜態資源加載監控就完成了,這里還有一些細節需要處理,來幫助排查問題,前端工程師在搭建靜態資源加載前端監控的時候,可以在深入使用時來延展。webfunny前端監控在錯誤分析功能上,可以看到每個報錯的變化趨勢,繼而分析出用戶在哪步操作中發生了問題。怎們做前端監控搭建...
搭建前端監控系統(六)之接口性能分析篇,如何監控前端接口的性能。二、單個接口分析很多時候,前端出現接口問題的肯定某一個接口出現異常,如果是大面積異常,前端同學的電話肯定被老板打爆了,也不需要監控了。那么針對單個接口我們應該分析哪些指標呢?超時接口數量、單個接口的平均耗時、影響用戶數量、發生頁面個數、可以準確定位到某個小時和某一分鐘發生的情況。三、分析報警分析報警可以分為多個指標:超時接口數量、超時接口占比(百分比),影響用戶數量。隨著工作的不斷深入,前端工程師應該走出舒適圈,關注更多維度的指標,不能再局限在狹義的前端后端了。webfunny前端一體化埋點可實現漏斗分析,支持業務做更深度數據分析...
搭建前端監控系統(七)之用戶細查篇:用戶細查具體要分析哪些數據,更容易幫助我們定位前端問題呢說完用戶基本信息和頁面平均加載時間,下面就要來說接口耗時正態分布。接口耗時同樣能夠反饋出用戶當時的網絡狀態,同時他也能反饋出服務端接口的狀態。比如,頁面平均耗時表現良好,接口耗時表現差,則能反映出,當時的后端服務狀態不是很好。還有完整的用戶行為記錄,以上是用戶行為中的基本信息,接下來要說的是用戶的完整行為鏈路,通過將頁面訪問、接口請求、代碼報錯、自定義行為等,按照時間先后順序串聯起來,可以達到復現用戶錯誤的目的。其中,接口請求記錄,除了會記錄接口耗時,還需要記錄接口的返回值,這樣能夠更加明確的定位數據問...
搭建前端監控系統(七)之用戶細查篇三、用戶細查具體要分析哪些數據,更容易幫助我們定位前端問題呢首先是用戶基本信息,既然是查詢用戶的行為記錄,那么用戶的基本信息肯定是必不可少。正常情況下,我們需要知道用戶的標簽、使用設備型號、系統版本、IP地址、所在地區、瀏覽器useragent等;詳細的信息展示可以通過webfunny前端監控系統進行demo實操查看。其次是頁面平均加載時間,這里可能有人會問了,既然是用戶行為記錄查詢,為什么又需要查看頁面平均加載時間呢?如大家所知,造成一個用戶在我們的應用上不可用的情況,有很多種原因,其中網絡速度是不可以忽略的因素。所以通過頁面的平均加載時間我們可以判斷用戶當...
webfunny前端監控中自定義埋點和漏斗分析7.1、自定埋點:正常情況下,埋點功能應該由后端同學配合完成。在真實的開發過程中,我們免不了遇到需要做一些特殊的埋點,但是有時候又不容易得到后端同學幫助的情況,那么前端開發可以自己去完成埋點功能。如下:圖表中展示埋點觸發的次數,以及埋點觸發的人數。7.2、漏斗分析:在增加自定義埋點的同時,Webfunny也增加了埋點步驟轉化率統計:埋點1->埋點2的留存率分析。進一步強化自定義埋點功能。困擾前端工程師的線上問題難定位的苦惱可以拋開了,webfunny前端監控系統針對程序員量身打造。海南智能化前端監控創新搭建前端監控系統(三)之靜態資源加載監控篇如何...
搭建前端監控系統(三)靜態資源加載監控篇如何監控前端靜態資源加載情況:前端開發者可以根據報錯是的,還是script標簽。由于目前暫時關注對前端造成崩潰的錯誤,所以目前只監控了css,js文件加載錯誤的情況。首先,前端工程師要做的實時監控和預警,依然關聯了7天以前同一時間端的數據,如果某個時間段出現錯誤量暴增,可以發出警告,及時制止。然后,前端開發者還需要知道更多詳細的信息,如資源加載報錯、資源失敗列表等等,雖然前端線上環境并沒有給前端開發者報出這么多的問題,但是可以看到,每天還是有很多的靜態資源加載報錯,有些是很重要的靜態資源文件,是必然會導致頁面渲染失敗的,所以必須要解決建立合理...
搭建前端監控系統(六)之接口性能分析篇這是搭建前端監控系統的第七章,主要是介紹如何監控前端接口的性能。可能前端工程師會奇怪,接口的性能一直都是由后端的小伙伴來監測的,關前端鳥事啊。但其實隨著前端業務日益復雜,前端開始承受著前所未有的重要職責。因為前端業務變得復雜,所以前端工程師必須開始讓前后端分離,前端、后端小伙伴各司其職,同時也帶來了大量的異步接口請求。所以,原本由后端小伙伴監控接口的一部分職責,便落到了我們前端小伙伴的肩膀上了。那么如何有效的進行接口性能的監控,通過webfunny前端監控、只需要簡單幾步就可以搭建一套屬于自己的前端監控系統。webfunny前端一體化埋點可實現漏斗分析,支...
搭建前端監控系統(三)靜態資源加載監控篇前端監控除了如何做JS錯誤監控,還有一種錯誤是靜態資源加載報錯,很多時候資源加載報錯對前端項目來說是致命的,因為靜態資源加載出錯了,有可能就會導致前端頁面無法渲染,用戶就只能對著一個空白屏幕發呆,不知所措。因為突然有天,我們的前端線上環境爆出了大量的白屏錯誤,經過很長時間的排查,終于定位到問題原因:我們使用的CDN路徑不知道怎么的,把我們的https協議全部指向了http協議,在安全協議下無法訪問非安全協議的資源,導致了大量的白屏。所以我決定增加靜態資源監控功能,以應對未來的未知情況。webfunny通過對線上項目的實時分析,能讓前端工程師對線上狀況有非...
針對webfunny整套前端監控監控系統,前端工程師會疑問的問題解答:webfunny監控這么多東西,不會影響頁面的性能,首先webfunny這套監控系統我們自己和試用購買webfunny的前端工程師已經使用很久了,目前沒有遇到性能上的問題。當然,也有極個別的小伙伴反饋說,拖慢了系統。所以我們增加了設置功能,在使用webfunny前端監控時,你可以去除掉大部分的監控功能。webfunny前端監控居然用node做日志服務,并發量高了可以扛得住。因為node處理并發有著天然的優勢,目前,如果是單點部署,可以支持10萬+的日活量,如果使用多點部署,效果更佳哦。我們已經積極開發出能夠支持百萬以上日活量...
搭建前端監控系統(三)靜態資源加載監控篇如何監控前端靜態資源加載情況:2、利用performance.getEntries()方法,獲取到所有加載成功的資源列表,在onload事件中遍歷出所有頁面資源整合部分,利用排除法,到所有整合部分中過濾掉成功的資源列表,即為加載失敗的資源。此方法看似合理,也確實能夠排查出加載失敗的靜態資源,但是檢查的時機很難掌握,另外如果遇到異步加載的js也就歇菜了;3、添加一個Listener(error)來捕獲前端的異常,也是我正在使用的方法,比較靠譜。但是這個方法會監控到很多的error,所以我們要從中篩選出靜態資源加載報錯的error。webfunny埋點系統,...