[Performance] パネルを使用して、Node.js および Deno アプリケーションのパフォーマンスをプロファイリングします。
CPU プロファイルとは
CPU プロファイルは、一定期間の CPU の使用状況を示すレポートです。最も CPU 時間を使用しているプログラム、実行されていたプロセス、各状態で費やされた時間などを確認できます。CPU プロファイルを使用すると、パフォーマンスのボトルネックを特定し、CPU リソースの使用率を最適化できます。
DevTools for Node を開く
コマンドラインで次のコマンドを実行します。
Node.js
node --inspect file-name.js
Deno
deno --inspect file-name.js
次のいずれかの方法で Node の DevTools に接続します。
- DevTools を開き、上部の DevTools アクションバーにある緑色の [Node] ボタンをクリックします。
アドレスバーに「
chrome://inspect
」と入力して、次のいずれかをクリックします。- [デバイス] でノード用の専用の DevTools を開きます。
- プロファイリングするターゲットを検査します。
CPU のプロファイリングを行う
CPU をプロファイリングするには、[Performance] パネルを開き、radio_button_checked [Record] ボタンを 2 回クリックしてプロファイリングを開始および終了します。
プロファイリングの結果を分析する
録画を停止すると、[Performance] パネルによって録画に関するデータが「プロファイル」に整理されて表示されます。次のタブを使用して、プロファイリング データを分析します。
タイムラインの概要上部のアクティビティ バーの下に表示されます。CPU と NET のアクティビティ グラフをタイムラインに表示します。パフォーマンスのボトルネックの特定に使用します。
ボトムアップ: このタブでは、録画の選択した部分を調べて、個々のアクティビティに費やした時間の合計を確認できます。
Call Tree: このタブには、録音の選択した部分のルート アクティビティが表示されます。ルート アクティビティにはコールスタックもネストされています。このタブを使用して、最も多くの処理が発生しているアクティビティを特定します。
イベントログ: このタブには、録画の選択した部分のアクティビティが発生した順に一覧表示されます。
console.profile()
コマンドを使用したプロファイル
DevTools では、console.profile()
コマンドを使用して JavaScript の CPU パフォーマンスをプロファイリングできます。このコマンドをコードに追加してファイルを実行するか、コードをコピーしてコンソールに貼り付けます。[パフォーマンス] パネルに結果が表示されます。
このコマンドを使用する手順は次のとおりです。
コードを
console.profile()
とconsole.profileEnd()
で囲みます。次に例を示します。console.profile( profile ${i} ); // Code to be profiled doSomething(); console.profileEnd();
次のいずれかの方法でコードを実行します。
コンソールを使用している場合は、Node 用の DevTools を開き、コードをコンソールに貼り付けて、Enter キーを押します。
コマンドラインで次のコマンドを実行します。
Node.js
node --inspect file-name.js
Deno
deno --inspect file-name.js
プロファイルが完了すると、結果が自動的に [掲載結果] パネルに表示されます。