アプリケーションインスツルメンテーション

概要

Datadog APM を使用した アプリケーション インスツルメンテーション:

  1. SDK のセットアップ: アプリケーションに Datadog SDK を追加します。

  2. スパンの作成: 監視可能性データを スパンとして収集します。

    スパンは、SDK が読み込まれるとすぐに自動生成されます。これは自動インスツルメンテーションとして知られており、ほとんどのユーザーにとって十分な可視性を提供します。より詳細な制御が必要な場合は、オプションでカスタムスパンを追加できます。

: これらの手順は、Datadog Agent がインストールされ、トレースを受信するように構成されていることを前提としています。

APM パイプライン

はじめに

ベンダー中立のインスツルメンテーションをご希望の場合は、Datadog で OpenTelemetry を使用するための OpenTelemetry ドキュメントを参照してください。

Single Step Instrumentation (SSI) は、単一のコマンドで Datadog SDK を自動的にインストールおよび構成します。自動インスツルメンテーションは、コード変更なしに、サポートされているフレームワークやライブラリからトレースを即座に収集し始めます。


手動セットアップとカスタムスパン

監視可能性のニーズが高まるにつれて、より詳細な制御とカスタマイズを追加できます。

完全な SDK 構成制御: SDK の動作と構成を詳細に制御する必要がある場合は、手動管理の Datadog SDK を使用します。


コード変更なしでカスタムスパンを作成する: Dynamic Instrumentation を使用して、アプリケーションを再デプロイすることなく Datadog UI からカスタムスパンを作成します。


コード内でカスタムスパンを作成する: コードベースのカスタムインスツルメンテーション を追加して、カスタムビジネスロジックをインスツルメントしたり、スパンにアプリケーション固有のメタデータを追加したりできます。


これらのオプションは組み合わせることができます。たとえば、Single Step Instrumentation から始め、特定のスパンに対しコードベースのカスタムインスツルメンテーションを追加したり、手動管理の SDK と Dynamic Instrumentation を組み合わせて、デプロイなしでスパンを追加したりすることができます。

詳細な比較

SDK のセットアップ

Single Step Instrumentation は、ほとんどのユーザーに推奨される開始方法です。SDK 構成に加えて、より詳細な制御が必要な場合は、代わりに手動管理の SDK を使用できます。

Single Step Instrumentation (推奨)手動管理の SDK
仕組みDatadog は、実行時に単一のコマンドで、アプリケーションプロセスに SDK を自動的にインストールして読み込みます。SDK をアプリケーションコードまたはビルドプロセスに直接インストールして構成します。
コード変更不要必要
セットアップの複雑さ低 - 最小限の設定が必要中 - 環境とビルドの設定が必要
構成管理標準のデフォルトにオプションのオーバーライド環境変数とコードによる完全な制御
使用するタイミングコードの変更なしでサービス全体に迅速かつ一貫したインスツルメンテーションを行うには、こちらから始めます。SDK の動作と構成を詳細に制御する必要がある場合は、こちらに進みます。

スパンのカスタマイズ

自動インスツルメンテーションは、サポートされているフレームワークやライブラリに対してスパンを自動的に作成し、追加の作業なしで重要な監視可能性を提供します。カスタムコードパスの可視性が必要な場合や、アプリケーション固有のデータでトレースを強化したい場合は、Dynamic Instrumentation またはコードベースのカスタムインスツルメンテーションを使用してカスタムスパンを追加できます。

Dynamic Instrumentationコードベースのカスタムインスツルメンテーション
仕組みDatadog UI でインスツルメンテーションルールを設定します。ルールは実行時に適用されます。アプリケーションコードに明示的なトレース API 呼び出しを追加します。
コード変更不要必要
デプロイメントの必要性不要必要 (スパンを追加または変更するため)
使用するタイミングコードの変更や再デプロイなしでカスタムスパンを追加します。複雑なインスツルメンテーションロジックが必要な場合や、スパンをコードに永続的に定義したい場合に、こちらに進みます。

APM セットアップチュートリアル

次のチュートリアルでは、自動インスツルメンテーションおよびカスタムインスツルメンテーションの両方を使用して、さまざまなインフラストラクチャーシナリオでサンプルアプリケーションの分散トレーシングを設定する方法を説明します。

ご利用の言語と環境を選択してください。


参考資料