Sentry Web 效能監控 - Metrics

為少發表於2021-09-11

系列

目錄

  • Apdex
  • 失敗率
  • 吞吐量 (Total, TPM, TPS)
  • 延遲
    • 平均事務持續時間
    • P50 閾值
    • P75 閾值
    • P95 閾值
    • P99 閾值
  • 頻率
  • User Misery
  • 自定義閾值

Apdex

Apdex 是一種行業標準指標,用於根據您的應用程式響應時間(response time)跟蹤和衡量使用者滿意度(satisfaction)。Apdex 分數提供特定 transaction 或端點中滿意(satisfactory)、可容忍(tolerable)和失敗(frustrated)請求的比率。 該指標為您提供了一個標準來比較 transaction 效能,瞭解哪些可能需要額外優化或調查,併為效能設定目標。

以下是 Apdex 的組成部分及其公式:

  • T:目標響應時間的閾值。
  • Satisfactory(滿意度):當頁面載入時間小於或等於 T 時,使用者對使用該應用感到滿意。
  • Tolerable(可容忍度):當頁面載入時間在 T4T 之間時,使用者認為該應用程式可以容忍使用。
  • Frustrated(失敗):當使用者的頁面載入時間大於 4T 時,他們對應用程式感到失望。
  • Apdex:(滿意請求數 +(可容忍請求數/2))/(總請求數)

Settings > Performance 中為 Apdex 配置令人滿意的響應時間閾值 (ms)。 您可以使用自定義閾值為每個專案設定此項。

失敗率

failure_rate() 表示不成功 transaction 的百分比。Sentry 將狀態為 “ok”“canceled”“unknown” 以外的 transaction 視為失敗。 有關更多詳細資訊,請參閱可能的狀態值列表。

吞吐量 (Total, TPM, TPS)

吞吐量表示給定時間範圍內的事務數 (Total)、平均每分鐘事務數 (TPM) 或每秒平均事務數 (TPS)。

延遲

平均事務持續時間

平均事務持續時間表示給定事務的所有出現的平均響應時間。

以下函式用於聚合事務(aggregate transaction)持續時間:

  • average
  • various percentiles(預設情況下,預構建的 Transactions 查詢顯示第 75 個和第 95 個百分位數,但還有許多其他選項,包括自定義百分位數)
  • maximum

跟蹤這些統計資料的一個用例是幫助您識別比組織的目標服務級別協議 (SLA) 慢的事務。

檢視平均值和百分位數時要注意一點:在大多數情況下,您需要設定跟蹤,以便僅將可能的跟蹤的一小部分實際傳送到 Sentry,以避免使您的系統不堪重負。 此外,您可能希望按日期或其他因素過濾您的 transaction 資料,或者您可能正在跟蹤一個相對不常見的操作。 由於所有這些原因,您最終可能會得到方向正確但不準確的平均值和百分位資料。 (以最極端的情況為例,如果只有單個事務與您的過濾器匹配,您仍然可以計算“平均(average)”持續時間,即使這顯然不是“平均(average)”通常的意思。)

對於某些指標,樣本量小(以及由此導致的無法有效準確)的問題會比其他指標更頻繁地發生,並且樣本量也會因行而異。 例如,計算有意義的平均值所需的資料少於計算同樣有意義的第 95 個百分位數所需的資料。此外,代表對 /settings/my-awesome-org/ 的請求的一行可能包含的事務數量是代表對 /settings/my-awesome-org/projects/best-project-ever/ 的請求的事務的數倍。

P50 閾值

P50 閾值表示 50% 的事務持續時間大於閾值。這也是中位數。例如,如果 P50 閾值設定為 10 毫秒,則 50% 的事務超過該閾值,耗時超過 10 毫秒。

P75 閾值

P75 閾值表示 25% 的事務持續時間大於閾值。例如,如果 P75 閾值設定為 10 毫秒,則 25% 的事務超過該閾值,耗時超過 10 毫秒。

P95 閾值

P95 閾值表示 5% 的事務持續時間大於閾值。例如,如果 P95 閾值為 50 毫秒,則 5% 的事務超過該閾值,耗時超過 50 毫秒。

P99 閾值

P99 閾值表示 1% 的事務持續時間大於閾值。例如,如果 P99 閾值為 5 秒,則 1% 的事務超過該閾值,耗時超過 5 秒。

頻率

以下函式彙總 transaction 計數和 transaction 記錄速率:

  • count
  • count unique values (對於給定欄位)
  • average requests (事務) per second
  • average requests (事務) per minute

這些函式中的每一個都是根據給定行中的事務集合計算的,這意味著數字會隨著您過濾資料或更改時間視窗而發生變化。此外,如果您已設定 SDK 來對資料進行取樣,請記住,只有傳送到 Sentry 的事務才會被計算在內。 因此,如果包含代表對給定端點的請求的事務的行計算為每秒接收 5 個請求,並且您啟用了 25% 的取樣率,則實際上您每秒收到大約 20 個請求到該端點。(20 因為您收集了 25% - 或 1/4 - 的資料,所以您的實際數量是您在 Sentry 中看到的數量的 4 倍。)

User Misery

User Misery 是一個使用者加權的效能指標,用於評估應用程式效能的相對大小。雖然您可以使用 Apdex 檢查各種響應時間閾值級別的比率,但 User Misery 會根據滿意響應時間閾值 (ms) 的四倍計算感到失望的唯一使用者數。User Misery 突出顯示對使用者影響最大的事務。

您可以使用自定義閾值為每個專案設定令人滿意的閾值。

自定義閾值

對於每個專案,您可以在 [Project] > Settings > Performance 中配置 ApdexUser Misery 的計算方式。您可以在 Transaction Summary > Settings 中覆蓋事務級別(transaction level )的專案級別設定。

計算方法確定持續時間是定義為事務的整個長度還是定義為特定的 Web Vital,例如 LCP。 響應時間閾值確定令人滿意的基線持續時間是多少毫秒。 此閾值可能因專案而異,具體取決於專案面向使用者的方式。

公眾號:黑客下午茶

相關文章