https://cloud.google.com/profiler/docs/measure-app-performance?hl=ja
https://cloud.google.com/profiler/docs/profiling-external?hl=ja
-- 1. 前作業
gcloud init
gcloud auth list
gcloud --version
gcloud projects create project01-9999999 \
--name="project01"
gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet
gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111
gcloud services enable compute.googleapis.com --project project01-9999999
gcloud components update
-- 2. Cloud Profiler API 有効化
gcloud services list --enabled
gcloud services enable cloudprofiler.googleapis.com \
--project project01-9999999
-- 3. サービス アカウントの作成
gcloud iam service-accounts create sa99999999 \
--description="sa99999999" \
--display-name="sa99999999"
gcloud iam service-accounts list
gcloud projects add-iam-policy-binding project01-9999999 \
--member="serviceAccount:sa99999999@project01-9999999.iam.gserviceaccount.com" \
--role="roles/cloudprofiler.agent"
gcloud projects get-iam-policy project01-9999999
gcloud iam service-accounts keys create ~/key01.json \
--iam-account=sa99999999@project01-9999999.iam.gserviceaccount.com
cat ~/key01.json
gcloud iam service-accounts keys list \
--iam-account=sa99999999@project01-9999999.iam.gserviceaccount.com
export GOOGLE_APPLICATION_CREDENTIALS=~/key01.json
-- 4. プロファイリングするプログラムを取得する
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
-- 5. コードをプロファイリングする
cd golang-samples/profiler/profiler_quickstart
sed -i.bk 's#// ProjectID: "my-project"#ProjectID: "project01-9999999"#' main.go
cat main.go
diff main.go.bk main.go
go run main.go
-- 6. Profiler のインターフェース
-- 7. クリーンアップ
gcloud projects list
gcloud projects delete project01-9999999 \
--quiet
gcloud beta billing projects unlink project01-9999999