下載設定檔資料
本文說明如何將設定檔資料下載到本機系統,以及如何使用 Go 應用程式以程式輔助方式擷取設定檔資料。
使用 Google Cloud 控制台下載設定檔
如要下載火焰圖中顯示的設定檔,請按一下「下載」圖示 get_app。
下載的檔案會採用下列命名慣例:
profiler_[SERVICE_NAME]_[PROFILE_TYPE]_[FROM_DATE]_[TO_DATE]_[ZONE]_[VERSION].pb.gz
在這個運算式中:
SERVICE_NAME
包含您的「Service」(服務) 選取項目PROFILE_TYPE
包含您的「Profile type」(剖析類型) 選取項目FROM_DATE
和TO_DATE
包含您的時間範圍規格ZONE
包含您的「Zone」(區域) 選取項目VERSION
包含您的「Version」(版本) 選取項目
範例:profiler_docdemo-service_HEAP_2018-04-22T20_25_31Z_2018-05-22T20_25_31Z_us-east1-c.pb.gz
以程式輔助方式下載設定檔
如要擷取設定檔資料,請使用 ListProfiles
API 方法。以下 Go 程式碼範例示範如何使用這個 API。
範例程式會在執行所在目錄中建立資料夾,並產生一組編號的 pprof
檔案。每個檔案的命名慣例都與 profile000042.pb.gz
類似。每個目錄都包含設定檔資料和中繼資料檔案 (metadata.csv
),其中含有下載檔案的相關資訊。
範例程式接受下列指令列引數:
project
:從中擷取設定檔的專案。必填。page_size
:每次 API 呼叫擷取的設定檔數量上限。page_size
的最大值為 1000。如未指定,這個欄位會設為 100。page_token
:先前執行程式時產生的字串權杖,用於繼續下載。選填。max_profiles
:要擷取的個人資料數量上限。如果提供非正整數,程式會嘗試擷取所有設定檔。
選用。
執行範例應用程式
如要執行範例應用程式,請按照下列步驟操作:
複製存放區:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
變更為包含範例程式的目錄:
cd golang-samples/profiler/export
將 YOUR_GCP_PROJECT 替換為專案 ID 後,即可執行程式:Google Cloud
go run main.go -project YOUR_GCP_PROJECT -page_size 1000 -max_profiles 10000
這項程式可能需要相當長的時間才能完成。程式會在擷取目前頁面後,輸出下一頁的符記。如果程式中斷,您可以使用權杖繼續執行程序。
查看已下載的設定檔
如要讀取以序列化通訊協定緩衝區格式寫入的下載檔案,請使用開放原始碼的 pprof
工具。