Continuous Profiler


発見された CPU、メモリ、IO のボトルネックをメソッド名、クラス名、行番号で分類して、エンドユーザー側での遅延とインフラストラクチャーにかかるコストを大幅に削減することができます。

本番環境での影響を最小限に

Continuous Profiler は、JDK Flight Recorder などの技術を活用し、すべてのサービスの実環境で動作します。こうすることでホストの CPU とメモリ使用量への影響を最小限に抑えることができます。

はじめに

お使いのサービスでプロファイリングを行うことで、すべてのスタックトレースを一つの管理画面で可視化することができます。設定方法はとても簡単です。

アプリケーションをインスツルメントする

go
Java
GraalVM
Node.js
PHP
Python
Ruby
.NET
Rust
C
C++

プロファイラーの使用ガイド

プロファイラーの概要ガイドでは、パフォーマンスの問題があるサンプルサービスを例に、Continuous Profiler を使用して問題を理解し修正する方法を確認します。

Datadog でのプロファイラー確認

アプリケーションからプロファイルを Datadog に送信するための構成が完了した後は、コードのパフォーマンスに関するインサイトを確認してみましょう。

デフォルトでは、プロファイルは 8 日間、プロファイルデータから生成されたメトリクスは 1 か月間保持されます。

learning center
学習センターでコードパフォーマンスの問題を診断してみる

Datadog 学習センターには、このトピックについて学ぶための実践演習コースが多数用意されています。登録は無料です。Datadog Continuous Profiler を使用して、本番環境でアプリケーションコードのパフォーマンスを調査し、改善する方法を体験してください。

今すぐ登録

プロファイルタイプ

対応言語ごとに収集されるプロファイルデータの種類については、プロファイルタイプ を参照してください。

Java アプリケーション用に収集されたプロファイルタイプのリスト

タグを使用してプロファイルを検索

タグを使用してプロファイルを検索 します。特定のホスト、サービス、バージョン、あるいはいずれかの組み合わせなど、すべてのディメンションのデータを表示させることができます。

デプロイメントでの機能パフォーマンスを追跡する

メソッドごとの主な CPU 使用状況、スレッドごとの主なメモリ割り当て状況、バージョンごとの CPU 使用状況など、主要なプロファイリングメトリクスをサービスから取得してダッシュボードを可視化することができます。

プロファイリングデータにトレースを関連付ける

APM 分散型トレーシング と Continuous Profiler の両方が有効化されたアプリケーションプロセスは自動的にリンクされるため、プロファイルタブ でスパン情報からプロファイリングデータを直接開き、パフォーマンスの問題に関連する特定のコード行を見つけることができます。

[Profiles] (プロファイル) タブに APM トレーススパンのプロファイル情報が表示されています。

プロファイルを比較して、パフォーマンスの変化を特定

異なる時間、環境、またはデプロイメントの類似のプロファイルを比較すると、パフォーマンスの問題に対する原因や解決策の把握に役立ちます。Datadog プロファイラーでは 比較の視覚化 が提供されるため、時間枠やスコープに使用したタグによってプロファイルが異なる理由を理解できます。

参考資料

お役に立つドキュメント、リンクや記事: