ドキュメント アプリケーション

このページでは、Cloud Shell を使用して GitHub golang-samples/profiler リポジトリからサンプルをダウンロードして実行する方法について説明します。これらのサンプルを Google Cloud の外部で実行することもできます。この場合に必要な追加の構成手順については、Google Cloud の外部で実行されているアプリケーションのプロファイリングをご覧ください。

これらのプログラムを実行する場合、Cloud Profiler インターフェースの機能を試すことができるプロファイリング データを簡単に作成できます。これらのサンプルのコピーを変更してから、Cloud Profiler インターフェースを使用して変更の影響を再デプロイして分析することもできます。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Cloud Profiler API.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Cloud Profiler API.

    Enable the API

Cloud Shell の起動

プロジェクトの Google Cloud Console ページの上部にある [Cloud Shell をアクティブにする] をクリックします。

Cloud Shell をアクティブにします。

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

Cloud Shell セッション。

プロファイリングするプログラムを取得する

Cloud Shell から Go サンプルのパッケージを取得します。

git clone https://github.com/GoogleCloudPlatform/golang-samples.git

パッケージの取得が完了するまでに少し時間がかかります。

profiler_quickstart

サンプル profiler_quickstarthello-profiler サービスを実行するように構成されています。Profiler クイックスタートでは、このサンプルを使用します。

hello-profiler を起動するには、次の操作を行います。

  1. profiler_quickstart ディレクトリに移動します。

    cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart
    
  2. 次のコマンドを実行してサービスを開始します。

    go run main.go
    

メッセージ profiler has started は、サービスを開始してから数秒後に Cloud Shell セッションに表示されます。新しいメッセージは、プロファイルが Google Cloud プロジェクトにアップロードされるたびに表示されます。

サービスを停止するには、Ctrl+C キーを押します。

hotapp

サンプル hotapp では、2 つの関数を呼び出してから Go スケジューラを呼び出す、無限ループを使用しています。このサンプルでは、フラグ -local_work を設定できます。このフラグが true の場合、for ループの形式の処理が個々の関数に追加されます。デフォルトでは、このフラグは false に設定されています。

hotapp サンプルを実行するには、次の手順を行います。

  1. hotapp ディレクトリに移動します。

    cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp
    
  2. 次のコマンドを実行してサービスを開始します。

    go run main.go
    

    Cloud 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 つ目のデプロイメントでは、skewversion は前述のように設定されています。2 つ目のデプロイメントでは、skew25 に設定され、version1.25.0 に設定されています。

トラブルシューティング

サービスの開始後にアクセス拒否エラー メッセージが表示された場合は、Google Cloud プロジェクト構成のエラーをご覧ください。