ドキュメント アプリケーション
このページでは、Cloud Shell を使用して GitHub golang-samples/profiler リポジトリからサンプルをダウンロード して実行する方法について説明します。これらのサンプルは、 Google Cloudの外部でも実行できます。この場合に必要な追加の構成手順については、 の外部で実行されているアプリケーションのプロファイリング Google Cloudをご覧ください。
これらのプログラムを実行する場合、Cloud Profiler インターフェースの機能を試すことができるプロファイリング データを簡単に作成できます。 これらのサンプルのコピーを変更してから、Cloud Profiler インターフェースを使用して変更の影響を再デプロイして分析することもできます。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Cloud Profiler API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Cloud Profiler API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Cloud Shell の起動
プロジェクトの Google Cloud コンソール ページの上部にある [Cloud Shell をアクティブにする] をクリックします。

Cloud Shell セッションがコンソールの下部にある新しいフレーム内に開き、2 つのメッセージとコマンドライン プロンプトが表示されます。最初の メッセージには、Cloud Shell セッションの Google Cloud プロジェクトが表示されます。2 番目のメッセージは、セッションのプロジェクトを変更する方法を示しています。 シェル セッションが初期化されるまで、数秒かかる場合があります。

プロファイリングするプログラムを取得する
Cloud Shell から Go サンプルのパッケージを取得します。
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
パッケージの取得が完了するまでに少し時間がかかります。
profiler_quickstart
サンプル profiler_quickstart は hello-profiler サービスを実行するように構成されています。Profiler クイックスタートでは、このサンプルを使用します。
hello-profiler を起動するには、次の操作を行います。
profiler_quickstartディレクトリに移動します。cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart次のコマンドを実行してサービスを開始します。
go run main.go
メッセージ profiler has started は、サービスを開始してから数秒後に Cloud Shell
セッションに表示されます。新しいメッセージは、プロファイルが
プロジェクトにアップロードされるたびに表示されます。 Google Cloud
サービスを停止するには、Ctrl+C キーを押します。
hotapp
サンプル hotapp では、2 つの関数を呼び出してから Go スケジューラを呼び出す、無限ループを使用しています。このサンプルでは、フラグ -local_work を設定できます。このフラグが true の場合、for ループの形式の処理が個々の関数に追加されます。デフォルトでは、このフラグは false に設定されています。
hotapp サンプルを実行するには、次の手順を行います。
hotappディレクトリに移動します。cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp次のコマンドを実行してサービスを開始します。
go run main.goCloud Profiler のドキュメントに示されているデータと一致するプロファイル データを生成する場合は、次の呼び出しを使用します。
go run main.go -service=docdemo-service -local_work -skew=75 -version=1.75.0
メッセージ profiler has started は、サービスを開始してから数秒後に Cloud Shell
セッションに表示されます。新しいメッセージは、プロファイルが
プロジェクトにアップロードされるたびに表示されます。 Google Cloud
サービスを停止するには、Ctrl+C キーを押します。
プロファイルの比較のセクションでは、docdemo-service の 2 つの異なるデプロイメントを使用しました。1 つ目のデプロイメントでは、skew と version は前述のように設定されています。2 つ目のデプロイメントでは、skew は 25 に設定され、version は 1.25.0 に設定されています。
トラブルシューティング
サービスの開始後にアクセス拒否エラー メッセージが表示された場合は、 次を ご覧ください。プロジェクト構成のエラー Google Cloud