MicronautでAPMトレーサを使用

MicronautでAPMトレーサを使用するには、次を行います:

  1. バージョンの確認: MicronautのAPMトレーサはAPMエージェント・バージョン1.7以上でサポートされています。
  2. APMトレーサをMavenプロジェクトに追加します。詳細は、MavenプロジェクトへのAPMトレーサの追加を参照してください。
  3. 依存関係をpom.xmlに追加します。
    • Micronaut 3.xの場合は、次を追加します。
      <dependency>
      <groupId>com.oracle.apm.agent.java</groupId>
      <artifactId>apm-java-agent-micronaut</artifactId>
      <version>[1.14.0.455,)</version>
      </dependency>
    • Micronaut 4.xの場合は、次を追加します。
      <dependency>
       <groupId>com.oracle.apm.agent.java</groupId>
          <artifactId>apm-java-agent-micronaut4</artifactId>
          <version>[1.14.0.455,)</version>
      </dependency>
  4. Micronautのトレース統合は、Open Tracing APIを公開するio.opentracing.tracer Beanを登録します。前述の依存関係を使用して、APMトレーサをデフォルト(グローバル)トレーサとして構成します。
  5. Micronautのトレース構成。

    APMトレーサは、Micronautのapplication.ymlファイルで次のプロパティを使用します:

    プロパティ デフォルト 必須 説明

    有効

    false APMトレーサを有効にするためのプロパティ。デフォルト値はfalseです。これはnullにできません。

    データ・アップロード・キー

      Oracle APMサービス・クラウド通信に必要なAPMデータ・アップロード・キー。
    data-upload-endpoint   Oracle APMサービス・クラウド通信に必要なAPMデータ・アップロード・エンドポイント。
    collect-metrics true いいえ

    サーバー・メトリックを収集し、OCI APMサービス・クラウドにレポートします。

    デフォルトはtrueです。

    ユーザーは、OCI Telemetryからすべての収集済サーバー・メトリックにアクセスできます。
    collect-resources true いいえ

    サーバー・リソースを収集し、OCI APMサービス・クラウドにレポートします。

    収集されたすべてのリソースは、データ問合せのディメンションとして使用されます。
    log-directory JVM作業ディレクトリ内のapm-tracer-log いいえ すべてのAPMトレーサ・ログが書き込まれるログ・ディレクトリのフル・パス。これが設定されていない場合、デフォルトのログ・ディレクトリ(apm-tracer-log)がJVMの作業ディレクトリ内に作成されます。
    tags   いいえ すべてのトレース・スパンに含める静的タグ。
    properties   いいえ

    追加のAPMトレーサ・プロパティ。これにより、APMトレーサの起動時にプログラムによってプロパティを設定できます。

    キーまたは値がnullの場合、プロパティは無視されます。

    次の構成は、application.ymlファイルの tracingセクションの子ノード(oracleapm)として追加する必要があります。
    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        …
    例:
    • YAML形式で指定する必要があります。デフォルトのファイル名はapplication.ymlです。次の例を参照してください:
      
      tracing:
        oracleapm:
          enabled: true
          data-upload-key: <data upload endpoint of your OCI domain>
          data-upload-endpoint: <privatedata key of your OCI domain>
          collect-resources: true
          collect-metrics: true
          log-directory: "/user/apm/log "
          tags:
            tag1: false
            tag2: 123
            tag3: "stringWithQuotes"
            tag4: 1e4
            tag5: 0.32
            tag6: stringWoQuotes
          properties:
            com.oracle.apm.agent.logging.level : DEBUG
            com.oracle.apm.agent.key1 : value1
  6. スレッド・スナップショット: OracleApmトレーサは、スレッド・スナップショット機能をサポートしています。

    スレッド・スナップショットを使用すると、詳細なダイブ分析に使用できるスレッド・スタック・スナップショットを収集できます。スレッド・スナップショットの詳細は、APMトレーサでのスレッド・スナップショットの構成を参照してください。

    Micronautのスレッドスナップショットを構成するには、次を実行します。
    • application.yml構成ファイルを開き、トレース・セクションに移動して、次を追加します:
      collect-deep-dive-trace-snapshot: true
    • 新しいdeep- dive- propertiesセクションを、tracingの下にスレッド・スナップショット・プロパティとともに追加します:

      deep-dive-properties:     
              com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute: 100     
              com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute: 200     
              com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS: 250     
              com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace: 16     
              com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot: 256
              com.oracle.apm.agent.deepdive.logLevel: INFO     
              com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent: 90     
              com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold: 3     
              com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold: 5     
              com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold: 50     
              com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold: 60000

    例:

    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        enabled: true
        data-upload-key: <data upload endpoint of your OCI domain>
        data-upload-endpoint: <privatedata key of your OCI domain>
        collect-resources: true
        collect-metrics: true
        log-directory: "/user/apm/log "
        collect-deep-dive-trace-snapshot: true
        deep-dive-properties:         
          com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute: 100         
          com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute: 200         
          com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS: 250         
          com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace: 16         
          com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot: 256         
          com.oracle.apm.agent.deepdive.logLevel: INFO         
          com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent: 90         
          com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold: 3         
          com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold: 5         
          com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold: 50         
          com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold: 60000