eb應用程序是指獨立且無需任何外部托管軟件即可運行的軟件。Web應用程序通常需要Web服務器將程序轉換為HTML內容以供Web瀏覽器使用,這樣Web應用程序就可以將服務直接提供給用戶。
我們每天使用許多Web應用程序,例如會議工具,存儲管理軟件,源代碼控制程序(例如GIT),照片編輯工具等。Web應用無處不在,靈活便捷 ,并且省去了維護和擴展中央服務器的麻煩,但對于開發人員來說,為各種環境(包括之前和當前的OS或框架)提供有效支撐是一個巨大挑戰。而且向最終用戶交付Web應用程序需要對所有支持的框架,操作系統和版本進行嚴格的測試。
在此文中,我們將重點關注監視托管獨立應用程序(即使用.NET框架開發的Web應用程序)中遇到的挑戰。
作為獨立的應用程序開發人員,最大的挑戰來自性能問題。如果您在應用程序中遇到高內存或高CPU消耗的情況,則可能需幾天時間復現此問題,更不用說找到根本原因并加以解決了。最重要的是,很難鼓勵面臨這些問題的用戶繼續使用有問題的應用程序,因為他們傾向于不報告所遇到的問題,而是嘗試重新啟動該應用程序,直到其正常工作即可。如果無法實現,這些用戶通常最終會放棄使用該應用。
使用應用程序監視工具,不僅使您能夠在開發階段解決這些問題,而且還可以幫助您發現有關不同測試方案下的應用程序行為的大量信息,并找到需要調整應用程序代碼的區域。這是應用程序性能監視優勢所在。
監視獨立應用程序
使用應用程序性能監視(APM)解決方案,您可以監視功能級別的性能,跟蹤最耗時的實例,甚至借助自定義工具來跟蹤工作流。由于每個獨立的應用程序都有其獨特的方式,因此您的APM解決方案需要針對您的應用程序的特定需求進行定制。
以下是一些有關如何使用APM工具跟蹤托管獨立應用程序性能的準則:
1.執行應用程序的基本流程時,會自動捕獲諸如Apdex得分,響應時間和流量之類的標準指標。這可以幫助您了解線程和事件在應用程序進程中所花費的時間,并指出哪些代碼段消耗了更多的內存和CPU。
2.使用自定義工具定義工作流程的開始和結束部分。使用自定義工具,您還可以監視關鍵功能的性能。
3.使用異常和錯誤跟蹤功能來跟蹤問題的根本原因。APM工具通常會在發生錯誤時捕獲整個堆棧,通過立即查找有問題的代碼來節省開發人員寶貴的時間,因此開發人員可以專注于調試。
例如,如果您正在開發從后臺不斷從Web服務收集數據的報告軟件,則監視工具可以幫助您跟蹤應用程序何時關閉,從而提示您立即采取行動。對于所有類型的應用程序而言,無論它們是Web應用程序還是移動應用程序,性能監控都是必不可少的。使用Site24x7,您可以監視Web應用程序的性能,并定制監視方法以適合相關應用程序的特定需求。
在產品的開發和運營過程中我們經常會遇到一些問題,如用戶反饋說無法對某某商品下單,而另一位負責運營的同事也提到某某廣告在手機上打不開。
盡管這些問題被多次報告,但我們卻難以復現這些故障,這讓團隊感到十分棘手。
如何有效地記錄項目中的錯誤并能夠重現這些問題,正是我們需要通過監控平臺來解決的關鍵痛點之一。
WebTracing是一款專為前端項目量身定制的 JavaScript埋點 SDK,它提供了完善的前端監控手段和解決方案。通過集成行為追蹤、性能監測、異常捕獲、請求記錄、資源管理、路由監控、曝光分析以及錄屏功能,讓數據驅動決策變得更加直觀和高效。
作者的目標是減輕前端開發者在監控方面的工作負擔。致力于為各種場景提供全面的解決方案,并希望開發者能從項目中獲得一些啟發。
// 核心實現包 - js
pnpm install @web-tracing/core
// vue2版本
pnpm install @web-tracing/vue2
// vue3版本
pnpm install @web-tracing/vue3
html 安裝
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script src="https://cdn.jsdelivr.net/npm/@web-tracing/core"></script>
<script>
webtracing.init({
appName: 'cxh',
debug: true,
pv: true,
performance: true,
error: true,
event: true,
cacheMaxLength: 10,
cacheWatingTime: 1000,
userUuid: 'init_userUuid',
scopeError: true,
...
})
</script>
<body></body>
</html>
Vue2 安裝
import WebTracing from '@web-tracing/vue2'
Vue.use(WebTracing, {
dsn: '/trackweb',
appName: 'cxh',
...
})
Vue3 安裝
import WebTracing from '@web-tracing/vue3'
app.use(WebTracing, {
dsn: '/trackweb',
appName: 'cxh',
...
})
這里以作者提供的 Vue2示例項目來演示:
地址:https://github.com/M-cheng-web/web-tracing-examples-vue2
將示例項目 clone到本地安裝
pnpm install
pnpm run start
開啟 node服務
node server.js
打開示例項目首頁
image
該項目是一個前端監控解決方案,它使用 Monorepo + pnpm 的構建方式,支持多包聯調和發版,并且提供鉤子函數、批量如何錯誤(去重)、抽樣發送、過濾等能力。
項目的基本原理包括自動和手動兩種采集方式,自動采集通過劫持或監聽瀏覽器事件來獲取錯誤、性能和頁面跳轉等信息;手動采集則是通過調用 SDK暴露的方法來觸發事件采集。
image
事件對象具體屬性如下:
插件會根據 DOM元素上一些屬性來獲取需要采集該元素的事件,以及采集該元素事件時應該傳遞哪些參數
事件示例
<div
class="box-div"
data-warden-title="xxx"
data-warden-bigTitle="bigTitle"
width="100%"
>
示例div
</div>
點擊事件示例div產生如下對象
{
eventId: 'div',
eventType: 'click',
title: 'xxx',
triggerPageUrl: 'http://localhost:6656/#/event',
x: 280,
y: 20,
params: { bigtitle: "bigTitle" }
elementPath: 'div',
triggerTime: 1689726300399,
sendTime: 1689726301406
}
頁面錯誤自動收集,主要原理是 監聽/劫持 error unhandledrejection console.error,采集這三類錯誤
資源加載錯誤,代碼異常(error) promise調用鏈異常(reject) console.error異常
image
我們主動觸發了代碼錯誤,可以在控制臺看到的報錯,然后被 webTracing事件采集
觸發錯誤事件時生成的對象
將配置項中的 scopeError 設置為 true 可對錯誤事件去重。
此外還包括資源監聽、路由采集、請求采集、資源采集、曝光采集,由于篇幅原因這里就不一一展開介紹,大家感興趣可以去官網自行查閱。
image
數據流向方面,監聽到的事件會經過預處理并生成描述事件信息的對象,然后放入列表中等待統一發送。發送數據時,會根據最大緩存數和延遲發送事件時長的設置來決定何時發送數據,支持多種發送方式,包括 navigator.sendBeacon、image、XML,以及本地化存儲和自定義發送方式。
SDK還提供了豐富的導出項,包括鉤子函數和可動態更改的內部 options 對象,以方便開發人員自定義功能,如加密傳輸、發送事件后的提醒、配置項更改和獲取基礎數據等。
此外,項目還定義了事件類型和事件ID的枚舉,以及用于標識用戶和細分業務的特殊標識,如 pageId、sessionId、deviceId、appName 和 appCode。
作者提出會寫一套服務端(nest) + 后臺查看監控數據平臺(vue),有以下幾點考量
提供服務端能力(目前只是在采集端發力) 可以在線體驗此項目 提供更多示例代碼給開發們,再次降低這一套代碼在公司的推廣難度 作者也想站在業務的角度多思考還能從哪些方面此項目還缺失哪些功能
附上github地址:https://github.com/M-cheng-web/web-tracing
我們了解到 WebTracing是一款優秀的埋點項目,并提供了多種監控手段,幫助我們對頁面交互和用戶操作進行分析。
WebTracing提供了原生、Vue2、Vue3等多種安裝方式供我們使用。
它的主要功能包括事件采集、錯誤采集、路由采集、請求采集、資源采集、曝光采集等。
oySSL官網 注冊碼230918
實現網站的HTTPS安全訪問涉及到幾個關鍵步驟。HTTPS(超文本傳輸協議安全)通過SSL/TLS協議加密HTTP通信,確保數據在客戶端和服務器之間的傳輸安全。以下是將網站從HTTP升級到HTTPS的詳細步驟:
PC點此申請https證書:JoySSL_JoySSL SSL證書_JoySSL https證書-JoySSL
注冊填寫注冊碼230918(填寫注冊碼獲得免費技術支持)
請根據你使用的具體服務器和Web應用環境調整上述步驟。如果需要更詳細的指導,可以查閱特定服務器軟件的官方文檔。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。