APM-Tracer in Micronaut verwenden

So verwenden Sie den APM-Tracer mit Micronaut:

  1. Version bestätigen: APM-Tracer in Micronaut wird mit APM-Agent Version 1.7 oder höher unterstützt.
  2. Fügen Sie den APM-Tracer zum Maven-Projekt hinzu. Weitere Einzelheiten finden Sie unter APM-Tracer zum Maven-Projekt hinzufügen.
  3. Fügen Sie die Abhängigkeit in pom.xml hinzu.
    • Fügen Sie für Micronaut 3.x Folgendes hinzu:
      <dependency>
      <groupId>com.oracle.apm.agent.java</groupId>
      <artifactId>apm-java-agent-micronaut</artifactId>
      <version>[1.14.0.455,)</version>
      </dependency>
    • Fügen Sie für Micronaut 4.x Folgendes hinzu:
      <dependency>
       <groupId>com.oracle.apm.agent.java</groupId>
          <artifactId>apm-java-agent-micronaut4</artifactId>
          <version>[1.14.0.455,)</version>
      </dependency>
  4. Die Tracing-Integration von Micronaut registriert ein Bean io.opentracing.tracer, das die Open Tracing-API bereitstellt. Die obige Abhängigkeit wird verwendet, um den APM-Tracer als standardmäßigen (globalen) Tracer zu konfigurieren.
  5. Tracingkonfiguration für Micronaut.

    Der APM-Tracer verwendet die folgenden Eigenschaften in der Datei application.yml von Micronaut:

    Eigenschaft Standardwert Erforderlich Beschreibung

    aktiviert

    false Ja Eigenschaft zur Aktivierung des APM-Tracers. Der Standardwert ist "false". Dieser muss angegeben werden.

    Daten-Upload-Schlüssel

      Ja Für die Kommunikation mit der Oracle APM-Cloud erforderlicher APM-Datenuploadschlüssel.
    data-upload-endpoint   Ja Für die Kommunikation mit der Oracle APM-Cloud erforderlicher APM-Datenuploadendpunkt.
    collect-metrics true Nein

    Erfasst Servermetriken und meldet sie an die OCI-APM-Service-Cloud.

    Der Standardwert ist "true".

    Benutzer können über die OCI-Telemetrie auf alle erfassten Servermetriken zugreifen.
    collect-resources true Nein

    Erfasst Serverressourcen und meldet sie an die OCI-APM-Service-Cloud.

    Alle erfassten Ressourcen werden als Dimension für die Datenabfrage verwendet.
    log-directory apm-tracer-log im JVM-Arbeitsverzeichnis Nein Vollständiger Pfad des Logverzeichnisses, in das alle APM-Tracer-Logs geschrieben werden. Wenn diese Option nicht festgelegt ist, wird das Standardlogverzeichnis (apm-tracer-log) im Arbeitsverzeichnis der JVM erstellt.
    tags   Nein Statische Tags, die in allen Tracing-Spans enthalten sein sollen.
    properties   Nein

    Zusätzliche Eigenschaften des APM-Tracers. Dadurch können Eigenschaften beim Start des APM-Tracers programmgesteuert festgelegt werden.

    Eigenschaften werden ignoriert, wenn entweder der Schlüssel oder der Wert Null ist.

    Die folgende Konfiguration muss als untergeordneter Knoten (oracleapm) des Tracing-Abschnitts der application.yml-Datei hinzugefügt werden:
    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        …
    Beispiel:
    • Sie müssen sie im YAML-Format angeben. Der standardmäßige Dateiname ist application.yml. Siehe folgendes Beispiel:
      
      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. Thread-Snapshots: OracleApm-Tracer unterstützen die Thread-Snapshot-Funktion.

    Thread-Snapshots ermöglichen die Erfassung von Thread-Stack-Snapshots, die für die Tiefenanalyse verwendet werden können. Weitere Informationen zu Thread-Snapshots finden Sie unter Thread-Snapshots in APM-Tracer konfigurieren.

    So konfigurieren Sie Thread-Snapshots für Micronaut:
    • Öffnen Sie die Konfigurationsdatei application.yml, gehen Sie zum Abschnitt Tracing, und fügen Sie Folgendes hinzu:
      collect-deep-dive-trace-snapshot: true
    • Fügen Sie den neuen Abschnitt deep-dive-properties mit den Thread-Snapshot-Eigenschaften unter Tracing hinzu:

      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

    Beispiel:

    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