The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.
このページを編集

Observability Dev Services

Dev Service の概念には慣れていますが、Observability の場合、単一の Dev Service だけでなく、通常はそれらのスタック全体をオーケストレーションして接続する方法が必要です。たとえば、メトリクスエージェントが定期的にアプリケーションからメトリクスをスクレイピングし、それをタイムシリーズデータベースに送信し、Grafana がそのタイムシリーズデータのグラフを表示する、といった具合です。

これを念頭に置いて、Dev Service コンセプトと Testcontainers 間のアダプターである Dev Resource という新しいコンセプトを追加しました。また、コンテナーごとに Dev Resource が用意されたきめ細かいサービスが利用できるようになったため、これをさらに進めて、ユーザーがこの新しい Dev Resource 概念の使用方法を選択できるようにします。

Dev Resource の実装は @QuarkusTestResourceLifecycleManager の実装でもあります
  • Dev Services に、クラスパスからさまざまな Dev Resource を取得させ、Dev Service の概念をそれに適用する

  • 明示的に Dev Service を無効にして Dev Resource を有効にし、Dev Resource の開始と停止のより簡単な概念を使用する

  • Dev Service と Dev Resource の両方を明示的に無効にし、Quarkus の @QuarkusTestResource テストコンセプトを使用する (注記を参照)

必要な Dev Resource の依存関係とともに Observability エクステンションの依存関係を追加するか、既存の sinks - pom.xml ファイルを使用して、特定のテクノロジースタックに必要な他の依存関係とともに Observability エクステンションの依存関係を追加することができます。たとえば、 victoriametrics シンクには、 pom.xml にすでに含まれている quarkus-observability-devresource-victoriametrics および quarkus-victoriametrics-client 依存関係があります。

これらのシンク依存関係の scopeprovided に設定していることを確認します。そうしないと、Testcontainers などのライブラリーがアプリケーションの製品ライブラリーに含まれてしまいます。

        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-observability-devservices-...</artifactId>
            <scope>provided</scope> <!-- !! -->
        </dependency>

OTel-LGTM Docker イメージの形式で、通常の all-in-one Grafana の使用方法を使用して、これらすべてが実際にどのように見えるかを確認しましょう。

関連コンテンツ