Cloud Trace 總覽

Cloud Trace 是 Google Cloud的分散式追蹤系統,可追蹤要求延遲時間,協助您排解各項服務和生成式 AI 應用程式的效能瓶頸。Trace 會從Google Cloud 服務和檢測應用程式收集延遲時間資料,協助您瞭解微服務架構如何處理要求,並找出相關記錄。

您可以使用 Trace 評估端對端要求延遲時間、比較一段時間內的效能趨勢,以及找出造成延遲的下游依附元件。如要瞭解如何建立追蹤記錄和記錄之間的關聯,請參閱「搭配使用追蹤記錄和記錄進行根本原因分析」。

環境支援

Trace 可在下列環境中的 Linux 上執行:

元件

Trace 包含追蹤用戶端,可收集追蹤記錄並傳送至 Google Cloud 專案。接著,您可以使用Google Cloud 控制台查看及分析追蹤用戶端收集的資料。如要瞭解資料模型,請參閱「追蹤記錄和 Span」。

追蹤用戶端

追蹤用戶端會從應用程式收集延遲時間和 span 資料,並匯出至 Google Cloud 專案。您可以根據環境和需求,自動收集追蹤記錄資料,或透過檢測應用程式程式碼手動收集。

追蹤介面

如要查看及分析 Span 資料,您可以使用Google Cloud 控制台中的「Trace Explorer」和「Observability Analytics」頁面:

  • Trace Explorer:顯示追蹤記錄資料的匯總資訊,並可讓您詳細檢查個別追蹤記錄。匯總的延遲時間資料會顯示在熱視圖中,您可以使用指標探索。如要限制顯示的資料,可以新增篩選器。您也可以查看及探索個別 span 和追蹤記錄:

  • Observability Analytics:提供 SQL 查詢介面。查詢可以彙整追蹤記錄和記錄檔資料,並以表格或圖表形式查看查詢結果。建立連結的 BigQuery 資料集後,您可以使用 BigQuery 分析追蹤記錄資料。詳情請參閱「查詢及分析追蹤記錄」。

自動追蹤設定

下列設定會自動擷取追蹤記錄資料:

  • App Engine 標準環境

    • 第一代執行階段會自動攔截追蹤記錄 span 並傳送至 Cloud Trace。詳情請參閱「舊版隨附服務總覽」。

    • 第二代執行階段會自動擷取整體要求延遲時間,並在要求中加入 X-Cloud-Trace-Context HTTP 標頭。詳情請參閱「執行階段支援時程」。

  • Cloud Run functions 和 Cloud Run

    系統會自動將傳入和傳出 HTTP 要求的延遲時間資料傳送至 Trace。

檢測應用程式

檢測應用程式,收集特定資訊,瞭解應用程式效能並排解故障。多個開放原始碼檢測架構會收集記錄、指標和追蹤記錄資料,並可將這些資料傳送至任何供應商,包括 Google Cloud。對於代理應用程式,部分架構可以收集提示和回覆,或傳遞情境資訊,以便追蹤某些遠端 Google Cloud MCP 伺服器呼叫。

如要檢測應用程式,建議您使用開放原始碼、不限供應商的檢測架構,例如 OpenTelemetry,而非供應商和產品專屬的 API 或用戶端程式庫。如要瞭解這些架構,請參閱「 應用程式開發人員觀測能力」和「選擇檢測方法」。

我們提供的檢測範例使用 OpenTelemetry:

雖然您可以使用 Cloud Trace 用戶端程式庫檢測應用程式,但建議您使用 OpenTelemetry。OpenTelemetry 程式庫比 Trace 用戶端程式庫更適合,因為前者較簡單,且會以 OpenTelemetry 定義的 OTLP 格式匯出追蹤記錄資料。詳情請參閱「檢測 Trace」和「Cloud Trace 用戶端程式庫」。

Cloud Trace 和代理應用程式

如要瞭解代理應用程式的行為,請設定應用程式,在呼叫遠端 Google Cloud MCP 伺服器時收集提示和回覆,或產生 span。提示和回覆有助於瞭解代理應用程式的推論過程。記錄工具呼叫的 Span 可協助您確認工具叫用、呼叫狀態和要求延遲時間。

您可以參考多個檢測範例,瞭解如何設定應用程式來收集提示和回覆。這些範例仰賴 OpenTelemetry。詳情請參閱「如何檢測生成式 AI 應用程式」。

Google Cloud MCP 伺服器可生成追蹤記錄 span。詳情請參閱「使用 Trace 調查 MCP 呼叫」。

擷取追蹤記錄資料的 API

您可以使用 Telemetry API 或 Cloud Trace API,將追蹤記錄資料傳送至專案。建議使用 Telemetry API 的原因如下:

  • 這個 API 與開放原始碼 OpenTelemetry 生態系統相容,且限制通常比 Cloud Trace API (專屬 Google Cloud API) 寬鬆。

  • 追蹤記錄資料的儲存格式,通常與 OTLP 定義的 proto 檔案一致。某些欄位可能會先從 OpenTelemetry 專屬資料類型轉換為 JSON 資料類型,再儲存。如要瞭解儲存格式,請參閱「追蹤記錄資料的結構定義」。

  • 如要透過收集器匯出追蹤記錄資料,檢測作業不需依賴 Google Cloud專屬匯出工具。

  • 部分功能 (例如應用程式監控) 仰賴的資訊,只有在您將追蹤資料傳送至 Telemetry API 時才能取得。

如要防止 Google Cloud 專案儲存追蹤記錄資料,請停用 Cloud Trace API。停用 Cloud Trace API 會產生下列影響:

  • Google Cloud 服務不會將追蹤記錄資料傳送至專案。
  • Google Cloud 會以錯誤代碼回覆傳送至 Cloud Trace API 端點的要求。
  • Google Cloud Observability 會捨棄傳送至追蹤記錄專用 Telemetry API 端點的追蹤記錄資料。請勿停用 Telemetry API,因為該 API 可接收記錄、指標和追蹤記錄資料。

如果您管理組織,並想禁止使用 Cloud Trace,請建立組織政策限制。

VPC Service Controls 支援

Google Cloud 服務和應用程式可以使用 Cloud Trace API 或 Telemetry API,將追蹤記錄資料傳送至專案。Cloud Trace 提供的視覺化服務會使用 Cloud Trace API 擷取要顯示的追蹤記錄資料:

  • Cloud Trace 是 VPC Service Controls 支援的服務。Trace 服務名稱為 cloudtrace.googleapis.com。如需詳細資料和限制,請參閱「支援的產品:Cloud Trace」。

  • Telemetry API 是 VPC Service Controls 支援的服務。服務名稱為 telemetry.googleapis.com。如需詳細資料和限制,請參閱「支援的產品:Telemetry API」。

如要設定預設值,指定 Google Cloud 追蹤記錄資料的儲存區域,以及是否要使用客戶自行管理的金鑰加密資料,請使用 Observability API。您也可以使用這個 API 設定連結的 BigQuery 資料集,以便使用 BigQuery 服務查詢追蹤記錄資料,以及設定追蹤記錄範圍,以便匯總儲存在多個專案中的追蹤記錄資料。

  • Observability API 是 VPC Service Controls 支援的服務。服務名稱為 observability.googleapis.com。如需詳細資料和限制,請參閱「支援的產品:Observability API」。

如要瞭解詳情,請參考下列資源:

Cloud Trace 和資料落地

如果您因資料落地或影響等級 4 (IL4) 規定而使用 Assured Workloads,請勿使用 Cloud Trace API 傳送追蹤記錄 span。

如要防止 Google Cloud 專案儲存追蹤記錄資料,請停用 Cloud Trace API。請勿停用 Telemetry API,因為該 API 可接收記錄、指標和追蹤記錄資料。

追蹤記錄保留

類別 保留期限
儲存在 _Trace bucket 中的 span 30 天

IAM 角色

Cloud Trace 使用 Identity and Access Management (IAM) 控管資源存取權。如需 Cloud Trace API 和 Telemetry API 角色清單,請參閱「使用 IAM 控管存取權」。

由於 Telemetry API 是消費者 API,因此將資料傳送至 Telemetry API 時,您必須指定配額專案,並授予應用程式服務帳戶使用該配額的權限。詳情請參閱「Telemetry API:驗證」。

定價

如要瞭解 Cloud Trace 的定價,請參閱「Google Cloud Observability 定價」頁面。

後續步驟