IntelliJ IDEA 用 Datadog プラグイン

Join the Beta!

IntelliJ IDEA 用 Datadog プラグインが公開ベータ版になりました。これは、Java サービスに Continuous Profiler を使用している Java 開発者を対象としています。プラグインが予期せず動作しなくなった場合は、プラグインの更新を確認するか、チームに連絡してください。

概要

IntelliJ IDEA 用 Datadog プラグインは、リアルタイムの観測可能性データに基づいて IDE でコードレベルの有意義な洞察を提供することにより、ソフトウェアのパフォーマンスを向上させるのに役立ちます。このプラグインは、Continuous Profiler と共に、以下のようなコードラインをハイライトすることで、レイテンシーの削減とクラウドコストの低減を支援します。

  • 最も多くの CPU を消費するコードライン
  • メモリを最も多く割り当てるコードライン
  • ロック、ディスク I/O、ソケット I/O などに最も多くの時間を費やしているコードライン
IDEA で開いた Datadog ツールのウィンドウ

コードハイライトに加えて、Intellij IDEA 用 Datadog プラグインを使用すると、次のことができます。

  • Top List ビューで、最もリソースを消費するメソッドを特定します。
  • 集計されたプロファイルデータを Flame Graph ビューで視覚化します。
  • トップリストとフレームグラフから、コードの該当行に直接ナビゲートします。
  • メソッド名と行番号で分類されたリソースの消費量を確認します。

要件

  • Datadog アカウント: このプラグインを使用するには、Datadog のアカウントが必要です。Datadog が初めての方は、Datadog Web サイトで Datadog の観測可能性ツールの詳細と無料トライアルにサインアップしてください。
  • Continuous Profiling: このプラグインでコードレベルの洞察を表示するには、Java サービスにインストルメントされた Continuous Profiler が必要です。詳細については、Continuous Profiler の概要を参照してください。

セットアップ

Datadog プラグインをインストールする

  1. Plugins をクリックし、Datadog を検索します。
  2. Install をクリックすると、プラグインがダウンロードされ、IDE にインストールされます。
  3. Datadog がサードパーティのプラグインであることを通知するプロンプトが表示された場合、Accept をクリックします。
  4. Restart IDE をクリックし、IDEA を再起動します。
Datadog プラグイン

または、Jetbrains Marketplace からプラグインをインストールすることができます。

Datadog にログインする

Datadog プラグインをインストールし、IDEA を再起動した後、Datadog にログインします。

  1. IDEA でファイルまたはプロジェクトを開いた状態で、Datadog ツールウィンドウをクリックします。
  2. Log in… をクリックします。
  3. ブラウザで開いたウィンドウで、サイトと組織を選択し、プラットフォームへのアクセスを認可します。

: ほとんどのユーザーにとって、必要なログインは 1 つだけです。複数の組織設定を使用している場合は、正しいアカウントがアクティブであることを確認してください。IDEA がどのログインを使用しているかを確認するには、Preferences -> Tools -> Datadog をクリックし、どのアカウントがアクティブになっているかを確認します。

サービスのリンク

Datadog プラットフォームから関連データを提供するには、プロジェクトに関連サービスを追加します。

  1. IDEA でプロジェクトを開いた状態で、Datadog ツールウィンドウを開き、プラスアイコン (+) をクリックします。
  2. 現在のプロジェクトに追加したいサービスを検索して選択します。

サービスを削除するには、Services 表でサービスを選択し、マイナスアイコン (-) をクリックします。

リンクされたサービスの名前は、プロジェクトを閉じても残ります。

プラグインを使用する

プロジェクトにサービスを追加した後、サービス上で右クリックし、Open in Profiling をクリックすると、そのサービスのプロファイリングタブが開かれます。プロファイリングタブは 1 つのサービスのデータのみを表示しますが、同時に複数のタブを開くことができます。

プロファイリングタブは、選択した環境におけるサービスの Continuous Profiling 情報を、特定の時間枠で集計して表示します。利用可能なビューは次のとおりです。

  • トップリスト: 現在のプロファイリングメジャーで最もリソースを消費するメソッドのリストを表示します。
  • フレームグラフ: プロファイルのスタックトレースを表すフレームグラフ。

プロファイリングデータには、以下のパラメーターを指定することができます。

  • 表示するプロファイルの種類
  • サービスが動作している環境
  • プロファイラーサンプルが集計されるまでの期間

利用可能なプロファイリングの種類は、通常、CPU TimeAllocated Memory などのオプションがありますが、プラットフォームによって決定され、言語によって変化します。

Toplist

Top List サブタブには、Datadog サーバーから読み込まれた集計されたプロファイルデータに基づいて、最もリソースを消費するメソッドが表示されます。Top List は、リソース消費の観点から最も興味深いメソッドの概要を表示するように設計されています。

トップリストビュー
  • リスト内の項目をダブルクリック (またはコンテキストメニューから Jump to Source を選択) すると、そのメソッドが定義されている場所を示すソースコードエディターが開きます。
  • メソッドのフレームグラフ視覚化を見るには、コンテキストメニューから Search in Flame Graph を選択します。

コールツリー

メソッド一覧の右側にあるコールツリーには、選択したメソッドにつながる (およびメソッドからつながる) パスが表示されます。

メソッドコールツリー

デフォルトの Caller Hierarchy ビューには、ターゲットメソッドの呼び出し元 (または先行者) と、それらがコールスタックに表示される頻度が表示されます。

呼び出し先 (または後継者) を表示するには、Callee Hierarchy をクリックします。

呼び出し先階層ビュー

コールツリー内のメソッドを右クリックすると、ソースエディタまたはフレームグラフに移動するオプションが表示されます。

フレームグラフ

フレームグラフは、プロファイリングサンプルを視覚化したもので、サンプル期間中のスタックトレースとその相対的な頻度を表示するものです。Datadog プラグインは、リクエストされた時間枠で収集されたデータを集計し、複数の個々のプロファイルを集計します。個々のプロファイラーは、リクエストされた時間枠内の 60 秒のインターバルをカバーします。

過去 4 時間の CPU 時間を示すフレームグラフ

プロファイルの種類、時間枠、環境を変更するたびに、Datadog プラグインは新しいフレームグラフを生成します。

フレームグラフは、いくつかの方法で操作することができます。

  • 任意のフレームをダブルクリックすると、そのメソッドと、サンプリング期間中にそのメソッドが呼び出したすべてのメソッドにフォーカスされます。
  • ミニマップを使って、グラフをパンすることができます。
  • メソッド上で右クリックし、Jump to Source を選択すると、ソースコード内の対応する箇所に移動します。

メソッドにカーソルを合わせると、以下の情報がツールチップに表示されます。

  • クラス名とメソッドのシグネチャ
  • パッケージ名
  • プロファイリングメトリクスの値と割合の内訳。

プロファイリングサンプルには、スタックトレースと行番号の情報が含まれています。Separate Flame Graph by ボタンで、フレームをメソッドで区切るか行番号で区切るかを切り替えます。

ツールチップボタンでメソッドや行番号でフレームを区切る

Datadog Insights

プロファイリングタブがアクティブな場合、Datadog Insights はソースコードエディターマージンにコードハイライトを追加します。Datadog プラグインは、エディターマージンにアイコンを表示し、アクティブなプロファイリングデータに基づいてコードをハイライトします。

  • アイコンにカーソルを合わせると、詳細が表示されます。
  • アイコンをクリックして、トップリストのプロファイリングタブを開くか、Datadog のプロファイリングを開きます。
    Datadog のアイコンをクリックすると、タブまたは Datadog でプロファイリングデータを開くことができます

アクティブなプロファイリングタブは、IDEA プロジェクトのツリー表示にも影響し、選択したプロファイルのメトリクスでアノテーションされます。

プロファイルタブのプロファイルメトリクスでアノテーションされたプロジェクトツリー

フィードバック

このプラグインについてどう思われますか?私たちの[ディスカッションフォーラム][5]でフィードバックを提供するか、team-ide-integration@datadoghq.com にメールを送信してください。

その他の参考資料