プロフィール Go with Pprof

Purofiru Go With Pprof



Linux オペレーティング システムでは、GO エコシステムは、GO プログラムのパフォーマンスとロジックの問題を診断するためのツールと SPI の大きなスイートを提供します。診断ソリューションの 1 つが GO プロファイリングです。 GO プロファイリングの機能は、コスト、メモリ使用量、および頻繁な関数呼び出しの観点から GO プログラムを分析して、プログラムの最も高価なセクションを特定することです。このページでは、pprof パッケージを使用して GO プロファイリングを数秒で実行する方法を示します。ここでは、GO プログラムをプロファイリングするための pprof 関数について説明します。さぁ、始めよう!

Linux の Pprof パッケージとは

Linux オペレーティング システムの pprof パッケージは、pprof 視覚化ツールを使用して必要な形式でランタイム プロファイリング データを書き込むために使用されるプロファイリング ツールです。ランタイム プロファイリング データは HTTP サーバー経由で提供され、主に HTTP ハンドラーを登録する副作用のためにインポートされます。 pprof コマンドのすべてのハンドル パスは /debug/pprof/ で始まり、その後に特定のコマンドが続きます。

Ubuntu 22.04 システムで GO プロファイリング用の Pprof パッケージをインストールする方法

go でのプロファイリングの簡単なインストール プロセスを探しているが、すべてが面倒な場合は、次のプロセスに従ってください。 Ubuntu 22.04 システムに pprof をインストールするには、いくつかの手順に従う必要があります。これらの手順は次のとおりです。







まず、pprof パッケージが停止しないように、すべての依存関係をインストールする必要があります。まず、次のコマンドを使用して Graphviz 依存関係をインストールします。





必ず「sudo」を使用して root 権限を付与してください。そうしないと、システムによってパッケージのインストールが許可されない場合があります。次の出力を参照してください。







現在、システムには pprof パッケージの依存関係があります。 pprof パッケージをインストールできます。 「go get」コマンドを使用して、GitHub から pprof を取得します。コマンドは次のとおりです。

「go」コマンドがプリインストールされていない場合は、それを使用するために特別にインストールする必要があります。私たちのシステムには「go」コマンドがインストールされていなかったため、「コマンドが見つかりません」という結果になりました。次の出力を参照してください。

最初に「go」パッケージをインストールしてから、それを使用して GitHub から pprof パッケージを取得します。前のスクリーンショットでわかるように、「go」パッケージをインストールするための 3 つの異なるオプションがあるため、それらのいずれかを使用できます。すべてがわずかに異なる機能で同じ結果をもたらします。ただし、「sudo apt install golang-go」コマンドを使用して、「go」パッケージ バージョン「2:1.18~0ubuntu2」をインストールしています。次のコマンドを実行します。

これにより、「go」パッケージとそのすべての依存関係および関連ライブラリをインストールできます。次の出力を参照してください。

次に、GitHub リポジトリに移動し、pprof パッケージをインストールします。 pprof パッケージは、プロファイリング データの分析と視覚化に使用されるツールですが、Google の公式製品ではありません。これが、GitHub リポジトリを利用して、「go」コマンドで pprof パッケージを手動でインストールできる理由です。 「go install github.com/google/」を開始する前に、システムが前提条件のすべてのニーズを満たしていることを確認してください。 [メール保護] ' 指図。前提条件は、サポートされているバージョンの「go」開発キットと、プロファイルのグラフィック視覚化を生成するための graphviz アプリケーションです。 Graphviz アプリケーションはオプションなので、必要に応じてスキップできます。両方をインストールし、pprof パッケージ用のプラットフォームを準備したので、システムはそれをインストールする準備ができています。 GitHub リポジトリにアクセスして、インストール プロセスを開始しましょう。次のコマンドを参照してください。

このコマンドは、「github.com/google/ [メール保護] ' 住所。 GitHub リポジトリから pprof パッケージをインストールします。次の結果を参照してください。

「go」コマンドでパッケージをダウンロードし、Ubuntu 22.04 システムに順次インストールされます。バイナリは、デフォルトで $HOME/go/bin の場所にインストールされます。

Pprof のマニュアルページを表示する

次に、pprof のマニュアル ページをチェックして、pprof パッケージの詳細を取得します。マニュアルページには、pprof パッケージのすべてのオプションと、それぞれの簡単な詳細が含まれています。これにより、pprof の各オプションを理解し、コードで簡単に使用することができます。さらに、必要なときはいつでも、–help フラグを使用してマニュアル ページを参照できます。これを行う方法は次のとおりです。

これにより、端末に完全なマニュアル ページが表示されます。以下をご覧ください。

ご覧のとおり、pprof コマンドには多くのオプションが用意されています。それらのいずれかを使用して、必要な書式設定されたプロファイリング データを取得できます。

データのプロファイリングに Pprof を使用する

プログラムで pprof を使用するには、最初に pprof パッケージをインポートします。次のコマンドを使用して、pprof パッケージをインポートします。

インポートを開始する前に、アプリケーションがすでに HTTP サーバーを実行していることを確認してください。 HTTP サーバー アプリケーション サーバーを実行していない場合は、「net/http」と「log」をインポートに追加して開始し、次のコードを追加する必要があります。

これで、pprof コマンドを使用してヒープ プロファイルを確認できます。次のコマンドは、http://localhost のヒープ プロファイルを確認するために使用されます。

これにより、プロファイルの検索が開始され、http サーバーへの接続が試行されます。次の応答を参照してください。

同じ手順に従うことで、30 秒の CPU プロファイル、ゴルーチン ブロッキング プロファイル、競合するミューテックスの所有者などを確認できます。

結論

このマニュアルは、Ubuntu 22.04 オペレーティング システムで使用される pprof コマンドのクイック ウォークスルーです。 Linux システムにおける pprof コマンドとは何かを調べました。そして、Ubuntu 22.04 システムにインストールする方法を学びました。また、Linux オペレーティング システムの pprof パッケージで使用できるさまざまなオプションについても学びました。 pprof パッケージの基本的な機能は、pprof 可視化ツールを介して必要な形式でプロファイリングされたデータを提供しながら、HTTP サーバーを介してランタイム プロファイリング データを提供することです。これにより、わずか 30 秒で GO のプロファイルを作成できます。