APM-Tracer in Micronaut verwenden
So verwenden Sie den APM-Tracer mit Micronaut:
- Version bestätigen: APM-Tracer in Micronaut wird mit APM-Agent Version 1.7 oder höher unterstützt.
- Fügen Sie den APM-Tracer zum Maven-Projekt hinzu. Weitere Einzelheiten finden Sie unter APM-Tracer zum Maven-Projekt hinzufügen.
- 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>
- Fügen Sie für Micronaut 3.x Folgendes hinzu:
- 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.
- 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
- Sie müssen sie im YAML-Format angeben. Der standardmäßige Dateiname ist
- 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
-