ローカル マシンで Datadog をセットアップすることを気にする必要がある場合は、「理由」から始めましょう。設定する動機を共有できます 私の強い「理由」:不安定なテストを理解しようとしている: カバレッジの高い広範なエンド ツー エンドのテスト スイートがありました。しかし悲しいことに、テストは時間の経過とともにますます不安定になりました。残念なことに、テストが単独で実行された場合、テストはパスしました。テスト スイート全体を実行すると、多くのテストが失敗し始めました。テストに対応するアプリケーション ログは、デバッグに役立つはずです。しかし、特定のテストのログがどこで開始され、どこで終了したのかさえ理解できませんでした。 Datadog が助けてくれます 🦸! 私たちは使用しています 私たちのプロジェクトでは、生産ログを視覚化するために使用しましたが、非常に便利であることがわかりました。そんな時、ひらめきました!これらのログを分析するために Datadog をローカルでセットアップするとどうなりますか?そして、それがこのブログ投稿の内容を引き起こしたものです。 データドッグ 私たちのアプリケーションは Java で書かれており、私のローカル マシンは MacOS で動作しています。必要に応じて、以下の手順を微調整できます。 設定する必要があるもの: Datadog にサインアップする .ここでのスコープはローカル デバッグのみです。 十分なはずです。 ここ 無料トライアル Datadog Agent は サービス名、環境などの設定はエージェントで行うことができます。 、それが実行されるホストを監視するソフトウェアです。 、Datadog の APM (App Performance Monitoring) クライアント Java ライブラリ。 自動または手動で実行する API を含む jar です。 と Java アプリケーション。 dd トレース Java dd-trace-java 痕跡 プロフィール ステップ 1 — サインアップ プロセス: メール ID とその他の詳細を入力すると、次のページで技術スタックを選択するよう求められます。 「次へ」をクリックすると、最も重要な部分が表示されます。 「エージェントのセットアップ」の指示が表示されます。私のローカル マシンは MacOSX なので、適切に選択しました。 と 値を書き留めておいてください。これらは後続の手順で使用されます。 DD_API_KEY DD_SITE の ステップ 2 — Datadog エージェントのインストール: MacOSの場合、次の方法でインストールできます (MacOS のパッケージ マネージャー)。使用 . ¹ 醸造する ここでインストール用に指定されたコマンド 以下に示すように、 カスタマイズします。 datadog-agent 上記の手順が完了すると、Datadog-web-UI で「終了」するよう求められます。 追加するように求められます。 、 などを追加できます(プロジェクトのニーズに応じて)。 integrations Java Docker ステップ 3 — Datadog トレーサーをインストールします。 から jar をダウンロードします。 ² dd-java-agent ここ Java アプリケーションの場合、組み込みの が付属しているバージョンの Java を使用していることを確認してください。これはトレースに必要です。 OpenJdK8 には組み込みの が付属しています。 Oracle Java を使用している場合、**FlightRecorder** を使用するには商用ライセンスが必要です。**³ FlightRecorder FlightRecorder アプリケーションの実行: Java アプリケーションの VM オプションを追加します。 -javaagent:"/Users/home/Downloads/dd-java-agent.jar" -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.agent.port=8126 -Ddd.service=ecommerce-service -Ddd.env=local -XX:FlightRecorderOptions=stackdepth=256 タスクを使用している場合は、次のように を含めることができます。 gradle jvmArgs jvmArgs = ["-javaagent:/Users/home/Downloads/dd-java-agent.jar", "-XX:FlightRecorderOptions=stackdepth=256", "-Ddd.profiling.enabled=true", "-Ddd.logs.injection=true", "-Ddd.agent.port=8126", "-Ddd.service=ecommerce-service", "-Ddd.env=local"] ここで、Java アプリケーションを開始します。トレースが正しく行われている場合は、次のログが表示されます。 Datadog へのログイン: ログを Datadog にストリーミングできるようにするには、Datadog Web UI の指示に従います。 ⁴ の場合 — 構成ディレクトリは で、ファイルは にあります。 macOS ~/.datadog-agent/conf.d/java.d ~/.datadog-agent/conf.d/java.d/conf.yaml これで、 Datadog に流れ始めます。 logs いくつかのヒント: アプリケーションの各メソッドの最初と最後に適切な ログを追加します。デバッグ中に非常に便利です。 debug と を注入するメカニズムを追加します。これは驚くべき命の恩人であり、ログを適切なコンテキストに置きます.⁵ span id trace id 結論: Datadog エージェントをローカルで起動して実行すると、すべてのリクエストを状況に応じて表示できるようになりました。 そして出来上がり!エンド ツー エンドのすべてのテストに合格しました 🙂 Happy logging! 追加情報: ¹または、ダウンロードすることもできます そしてそれをインストールします。このリンクは、上記の「エージェントのセットアップ」ステップでも取得できます (スクリーンショットを参照)。 dmg パッケージ ²直接ダウンロード 瓶。 dd トレース Java ³ JDK 11 以降では、何もアクティブ化せずに 使用できます。詳細はこちら . FlightRecorder ここ ⁴詳細はこちら . ここ ⁵アプリケーションが Java の場合、このライブラリを使用できます と リクエストに追加します。 春雲探偵 span_id trace_id