Cloud Trace 是適用於Google Cloud的分散式追蹤系統,可協助您瞭解應用程式處理使用者或其他應用程式傳入的要求所花費的時間,以及處理要求時花在 RPC 呼叫等作業上的時間。您在開發服務或排解失敗問題時,也可以使用追蹤記錄。舉例來說,這項功能可協助您瞭解在複雜的微服務架構中,系統如何處理要求,並協助您找出要檢查的記錄。
由於 Trace 會從部分 Google Cloud服務 (例如 App Engine) 和透過 Cloud Trace API 監測的應用程式收集延遲資料,因此可協助您回答以下問題:
- 應用程式處理特定要求需要多長的時間?
- 為何應用程式處理要求需要這麼長的時間?
- 為何有些要求的處理時間比其他要求長?
- 要求傳送到應用程式的整體延遲狀況?
- 應用程式的延遲時間隨著時間增加或減少了嗎?
- 我該如何縮短應用程式的延遲時間?
- 應用程式的依附元件為何?
如果您想瞭解如何使用 Trace 管理應用程式,請參閱「Troubleshooting distributed applications: Using traces and logs together for root-cause analysis」(分散式應用程式疑難排解:搭配使用追蹤記錄和記錄進行根本原因分析)。
如要進一步瞭解如何剖析應用程式,請參閱「Cloud Profiler」。
環境支援
Trace 可在下列環境中透過 Linux 執行:
- Compute Engine
- Google Kubernetes Engine (GKE)
- App Engine 彈性環境
- App Engine 標準環境
- Cloud Run
- 非Google Cloud 環境
Trace 提供用戶端程式庫,可用於檢測應用程式以擷取追蹤資訊。如需各個語言的設定操作說明,請參閱「Trace 的檢測器」一文。
含自動追蹤功能的設定
某些設定會自動擷取追蹤記錄資料:
App Engine 標準環境
Java 8、Python 2 和 PHP 5 應用程式不需要使用 Trace 用戶端程式庫。這些執行階段會自動將延遲資料傳送至 Trace,以便追蹤應用程式 URI 的要求。這類要求包括在 App Engine 服務之間往返的 RPC 呼叫延遲資料。Trace 支援 Cloud SQL 以外的所有 App Engine Admin API。
Cloud Run 函式和 Cloud Run
對於傳入和傳出 HTTP 要求,系統會自動將延遲資料傳送至 Trace。
語言支援
下表列出 Trace 用戶端程式庫和 OpenTelemetry 程式庫的可用性,這些程式庫都有 Trace 匯出工具。
語言 | 用戶端程式庫 可用 |
OpenTelemetry 可用的程式庫/匯出工具 |
---|---|---|
C++ | 是 | 是 |
C# ASP.NET Core | 是 | 否 |
C# ASP.NET | 是 | 否 |
Go | 是 | 是 |
Java | 有 | 是 |
Node.js | 是 | 是 |
PHP | 是 | 否 |
Python | 有 | 是 |
Ruby | 是 | 是 |
OpenTelemetry 程式庫比 Trace 用戶端程式庫更容易使用,因為它隱藏了對應 Trace API 的部分複雜性。如需檢測建議,請參閱「選擇檢測方法」。
元件
追蹤記錄由追蹤用戶端組成,用於收集追蹤記錄並傳送至您的 Google Cloud 專案。接著,您可以使用Google Cloud 控制台查看及分析由代理程式收集的資料。如要瞭解資料模型,請參閱「追蹤記錄和跨距」。
追蹤用戶端
如果您的程式語言支援 OpenTelemetry 程式庫,您可以使用 OpenTelemetry 簡化建立及傳送追蹤記錄資料的程序。除了使用簡便之外,OpenTelemetry 還會實作批次處理,這可能會提升效能。
如果沒有 OpenTelemetry 程式庫,請匯入 Trace SDK 程式庫並使用 Cloud Trace API 來設定程式碼。Cloud Trace API 會將追蹤記錄資料傳送至 Google Cloud 專案。
追蹤介面
您可以在 Trace 介面中近即時地查看及分析追蹤記錄資料。
「Trace Explorer」頁面會顯示追蹤記錄資料的匯總資訊,並讓您查看個別追蹤記錄的詳細資料。匯總的延遲時間資料會顯示在熱圖上,您可以使用指標探索這些資料。如要限制要顯示的資料,您可以新增篩選器。您也可以透過這個頁面查看及探索個別時距和追蹤記錄:
- 如要進一步瞭解如何查看儲存在多個專案中的追蹤記錄資料,請參閱「建立及管理追蹤記錄範圍」。
- 如要進一步瞭解如何篩選及查看追蹤記錄資料,請參閱「尋找及探索追蹤記錄」。
VPC Service Controls 支援
Trace 是 VPC Service Controls 支援的服務。追蹤記錄服務名稱為 cloudtrace.googleapis.com
。您為 Trace 服務建立的任何 VPC Service Controls 限制,只會套用至該服務。這些限制不適用於任何其他服務,包括telemetry.googleapis.com
服務,因為這類服務也可以擷取追蹤資料。
如要瞭解詳情,請參考下列資源:
定價
如要瞭解 Cloud Trace 的定價,請參閱 Google Cloud Observability 定價。