前端數(shù)據(jù)埋點之錯誤警告:頁面中代碼運行產(chǎn)生的錯誤,可能會導致用戶關(guān)鍵操作流程被中斷,為了避免大量用戶受到影響,我們需要獲取生產(chǎn)環(huán)境的錯誤數(shù)據(jù),這樣才能便于開發(fā)者及時進行修復。
通常來講代碼中的錯誤會包含以下幾大類:一、全局錯誤,即未被捕獲的錯誤;二、局部錯誤,即通過、、等捕獲的錯誤;三、接口請求錯誤,即在二次封裝請求API中進行請求和接收響應(yīng)時的錯誤;四、組件級錯誤,即使用Vue/React組件時發(fā)生的錯誤。 頁面停留埋點事件主要是記錄前一頁瀏覽時間。前端埋點頁面埋點平臺推薦
前端埋點和后端埋點的區(qū)別?
在實際過程中,有些埋點是不用特意區(qū)分前后端的,用戶的一個埋點事件在前端埋點或后端埋點都可以實現(xiàn),但是需要注意的是,在實際埋點上報、數(shù)據(jù)收集等過程中會有數(shù)據(jù)丟失的情況,從這個角度來看的話,其實后端埋點要比前端埋點更有優(yōu)勢,前端埋點會因為一些網(wǎng)絡(luò)問題、適配問題等等容易出現(xiàn)上報異常造成數(shù)據(jù)丟失且丟失后排查困難,因為前端相關(guān)的是沒有記錄相關(guān)操作的,只負責上報,上報成功與否沒有記錄。
而如果是后端埋點,無論是自己的數(shù)據(jù)系統(tǒng)還是第三方數(shù)據(jù)系統(tǒng)都是可以通過自己系統(tǒng)本身相關(guān)的數(shù)據(jù)庫查詢或記錄日志等操作進行埋點數(shù)據(jù)的校驗排查,所以針對一些比較重要的埋點,還是建議以后端埋點為主,必要時通過記錄日志或記入數(shù)據(jù)庫等方式對相關(guān)數(shù)據(jù)進行二次記錄以便進行數(shù)據(jù)核實。 前端埋點和前端監(jiān)控工具如何搭建如何自定義上報埋點數(shù)據(jù)?查看上報字段信息,點擊SDK發(fā)布頁中的點位列表,來獲取要上報的字段信息。
代碼埋點的實現(xiàn)原理比較簡單,主要是初始化 SDK 之后,在某個事件發(fā)生時調(diào)用 - track: 或 - track:withProperties: 等相關(guān)接口,將觸發(fā)的事件和屬性保存到數(shù)據(jù)模型中(SDK 中使用的是 NSDictionary 類型的數(shù)據(jù)模型)。
并將數(shù)據(jù)模型轉(zhuǎn)化為 JSON 串,存儲到本地數(shù)據(jù)庫中。然后,按照發(fā)送策略將數(shù)據(jù)發(fā)送到指定的服務(wù)端。例如:我們想統(tǒng)計 App 里面某個按鈕的點擊次數(shù),可以在這個按鈕對應(yīng)的點擊方法里面調(diào)用 SDK 提供的接口來采集事件。
webfunny前端埋點系統(tǒng)采用了代碼埋點方案、集數(shù)據(jù)集采+分析一體化輕量級系統(tǒng)。
代碼埋點的使用場景,先來看下代碼埋點的優(yōu)缺點,盡量揚長避短。
優(yōu)點:原理簡單,學習成本較低;使用較為靈活,能夠根據(jù)業(yè)務(wù)特性自定義時機、屬性、事件,定制化獲取數(shù)據(jù)。缺點:埋點成本高,每一個控件的埋點都需要添加相應(yīng)的代碼,不僅工作量大,而且限定了必須是技術(shù)人員才能完成;版本更新前后,容易發(fā)生數(shù)據(jù)紊亂;需要企業(yè)長期且穩(wěn)定地完善埋點,并不斷根據(jù)業(yè)務(wù)來更新。
根據(jù)上述的優(yōu)缺點可以知道:代碼埋點使用較為靈活,但是成本較高。因此,比較好在全埋點、可視化全埋點等埋點方案無法解決問題時,或者更強調(diào)自定義的場景時來使用。 為了更靈活的定制上報數(shù)據(jù),并減輕服務(wù)器的壓力,在所需埋點不多的情況下,常用「代碼埋點」的方式。
前端埋點的3種主流方案:
一、無痕埋點(全埋點)方案,利用瀏覽器或APP自帶的監(jiān)控方式,對用戶的瀏覽頁面、點擊等行為進行收集,一般用于粗顆粒度的數(shù)據(jù)分析,例如公司的slardar:數(shù)據(jù)噪聲大不管有用沒有;數(shù)據(jù)都會被收集,無法定制化埋點;無法采集到指定事件和業(yè)務(wù)屬性;可供DA使用的信息較少;接入簡單,幾乎無侵入,不需要額外的開發(fā)成本;用戶操作行為收集非常完整,幾乎不會遺漏。
二、代碼埋點方案,前端開發(fā)人員在代碼中自定義監(jiān)控和收集:工作量大,而且對代碼侵入性很大,后期維護也不是很方便;可以精確埋點,具備明確的事件標識;業(yè)務(wù)屬性非常豐富;埋點觸發(fā)方式可以靈活定義;DA使用更方便和精確。
三、埋點sdk方案,sdk向外暴露上報埋點的接口,監(jiān)控和收集過程前端開發(fā)人員無感知。業(yè)務(wù)開發(fā)只需關(guān)注事件標識、業(yè)務(wù)屬性等;兼顧無痕埋點優(yōu)點和代碼埋點的優(yōu)勢。 埋點無論是項目后期的復盤,還是明確業(yè)務(wù)價值,還是產(chǎn)品價值的挖掘,都具備很重要的意義。前端埋點框架平臺如何選擇
代碼埋點優(yōu)點傳遞多樣化自定義屬性、自定義事件,傳遞比較豐富的數(shù)據(jù)到服務(wù)端。前端埋點頁面埋點平臺推薦
無埋點又叫全埋點,無埋點不是不需要埋點,而是全部埋點,前端的任何事件都被綁定上一個標識,所有的事情都被記錄下來,只是不需要工程師在業(yè)務(wù)代碼里面插入侵入式的代碼。通過定期上傳記錄文件,配合文件解析,解析出我們需要的數(shù)據(jù)并生成可視化報告供專業(yè)人員分析。
無埋點技術(shù)的關(guān)鍵是:操作可視化配置工具,保存配置,SDK基礎(chǔ)代碼如何根據(jù)配置上報行為。
無埋點的優(yōu)點:由于采集的是全量數(shù)據(jù),所以產(chǎn)品迭代過程中是不需要關(guān)注埋點邏輯的,也不會出現(xiàn)漏埋、誤埋等現(xiàn)象無埋點的缺點:無埋點采集全量數(shù)據(jù),給數(shù)據(jù)傳輸和服務(wù)器增加壓力無法靈活的定制各個事件所需要上傳的數(shù)據(jù) 前端埋點頁面埋點平臺推薦
上海觀縱科技有限公司是一家服務(wù)型類企業(yè),積極探索行業(yè)發(fā)展,努力實現(xiàn)產(chǎn)品創(chuàng)新。是一家有限責任公司企業(yè),隨著市場的發(fā)展和生產(chǎn)的需求,與多家企業(yè)合作研究,在原有產(chǎn)品的基礎(chǔ)上經(jīng)過不斷改進,追求新型,在強化內(nèi)部管理,完善結(jié)構(gòu)調(diào)整的同時,良好的質(zhì)量、合理的價格、完善的服務(wù),在業(yè)界受到寬泛好評。公司擁有專業(yè)的技術(shù)團隊,具有webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應(yīng)用性能監(jiān)控,Argus-IT運維監(jiān)控等多項業(yè)務(wù)。觀縱科技順應(yīng)時代發(fā)展和市場需求,通過**技術(shù),力圖保證高規(guī)格高質(zhì)量的webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應(yīng)用性能監(jiān)控,Argus-IT運維監(jiān)控。