APM-Tracer instanziieren
Führen Sie die folgenden Schritte aus, um der Anwendung Tracingunterstützung hinzuzufügen:
Bei der Helidon-Konfiguration müssen Sie diese Schritte überspringen und den Abschnitt APM-Tracer in Helidon verwenden lesen.
-
Importieren Sie die OpenTracing-Tracer- und APM-Tracer-Klassen wie folgt:
import io.opentracing.Tracer; import com.oracle.apm.tracer.ApmTracer;
-
Der APM-Tracer kann im Builder-Stil instanziiert werden. Der Konstruktor von ApmTracer.Builder hat zwei Parameter: tracerName und serviceName.
- tracerName: Name dieses Tracers. Dies kann eine beliebige Zeichenfolge mit Ausnahme von Null sein.
- serviceName: Von diesem Tracer gemeldeter Name des Service. Dies kann eine beliebige Zeichenfolge mit Ausnahme von Null sein.
Tracer tracer = new ApmTracer.Builder(String tracerName, String serviceName) .<configuration methods> .build();
Bevor Sie die build()-Methode zum Erstellen der APM-Tracerinstanz aufrufen, kann sie mit Konfigurationsmethoden konfiguriert werden. Einige Konfigurationsmethoden können auch durch Festlegen von Java-Systemeigenschaften und Umgebungsvariablen konfiguriert werden.
Konfigurationsmethoden
Methode | Standardwert | Beschreibung | Äquivalente Java-Systemeigenschaft | Äquivalente Umgebungsvariable |
---|---|---|---|---|
withDataUploadEndpoint(String endpoint) | Für die Kommunikation mit der Oracle APM-Cloud erforderlichen APM-Datenuploadendpunkt festlegen. | com.oracle.apm.agent.data.upload.endpoint | com_oracle_apm_agent_data_upload_endpoint | |
withDataUploadKey(String dataKey) | Für die Kommunikation mit der Oracle APM-Cloud erforderlichen APM-Datenuploadschlüssel festlegen. | com.oracle.apm.agent.private.data.key | com_oracle_apm_agent_private_data_key | |
withTag(String key, String value) withTag(String key, Boolean value) withTag(String key, Number value) withTags(Map<String, Object> tags) |
Statische Tags festlegen, die in allen Tracing-Spans enthalten sein sollen. | |||
withLogDirectory(String directory) | ./apm-tracer-log | Vollständigen Pfad des Logverzeichnisses angeben, in das alle APM-Tracer-Logs geschrieben werden. Wenn diese Option nicht festgelegt wird, wird das Standardlogverzeichnis apm-tracer-log im Arbeitsverzeichnis der JVM erstellt. | com.oracle.apm.agent.log.directory | com_oracle_apm_agent_log_directory |
withProperty(String key, String value) withProperties(Map<String, String> properties) |
Mindestens eine Eigenschaft des APM-Tracers festlegen. Dadurch können Eigenschaften beim Start des APM-Tracers programmgesteuert festgelegt werden. Alle Eigenschaften können auch über Java-Systemeigenschaften oder Umgebungsvariablen festgelegt werden. Eigenschaften werden ignoriert, wenn entweder der Schlüssel oder der Wert Null ist. |
|||
withMicrosecondAccurateTimestamp(boolean microsecondAccuracy) | false | Alle Zeitstempel auf die Genauigkeit von Mikrosekunden setzen, wenn dieser Wert "true" ist. Der Standardwert ist "Millisekunden". | ||
withCollectMetrics(boolean collectMetrics) | true |
APM-Tracer so einstellen, dass Servermetriken erfasst und an die OCI-APM-Cloud gemeldet werden. Der Standardwert ist "true". Benutzer können über die OCI-Telemetrie auf alle erfassten Servermetriken zugreifen. Einzelheiten zu erfassten Servermetriken finden Sie unter Metriken erfassen. |
||
withCollectResources(boolean collectResources) | true |
APM-Tracer so einstellen, dass Serverressourcen erfasst und an die OCI-APM-Cloud gemeldet werden. Alle erfassten Ressourcen werden als Dimension für die Datenabfrage verwendet. Einzelheiten zu erfassten Servermetriken finden Sie unter Metriken erfassen. |
||
withDaemonChannel(String channel) | Der APM-Daemon-Kanal ist eine Socket-Verbindung zwischen Tracer und Daemon. Das Format dieses Eigenschaftswerts lautet <host>:<port>. Wenn der Daemon gestartet wird und diese Eigenschaft festgelegt ist, akzeptiert der Daemon die Socket-Verbindung und horcht auf diesem angegebenen Kanal auf Daten. Wenn der Tracer gestartet wird und diese Eigenschaft festgelegt ist, wird der Datenuploadendpunkt ignoriert, und Daten werden nur über diesen Socket-Kanal an den Daemon gesendet. | com.oracle.apm.agent.daemon.channel | com_oracle_apm_agent_daemon_channel | |
build() | APM-Tracerinstanz instanziieren. |
Andere Eigenschaften
Eigenschaften können als Java-Systemeigenschaften, Umgebungsvariablen oder mit der Builder-Methode "Property()" festgelegt werden.
Java-Systemeigenschaft | Umgebungsvariable | Standardwert | Beschreibung |
---|---|---|---|
com.oracle.apm.agent.daemon.channel | com.oracle.apm.agent.daemon.channel | Der APM-Daemon-Kanal ist eine Socket-Verbindung zwischen Tracer und Daemon. Das Format dieses Eigenschaftswerts lautet <host>:<port>. Wenn der Daemon gestartet wird und diese Eigenschaft festgelegt ist, akzeptiert der Daemon die Socket-Verbindung und horcht auf diesem angegebenen Kanal auf Daten. Wenn der Tracer gestartet wird und diese Eigenschaft festgelegt ist, wird der Datenuploadendpunkt ignoriert, und Daten werden nur über diesen Socket-Kanal an den Daemon gesendet. | |
com.oracle.apm.agent.data.upload.proxy.url | com_oracle_apm_agent_data_upload_proxy_url | Proxyserver-URL für Oracle APM-Serververbindung. Nur HTTP-Proxy wird unterstützt. | |
com.oracle.apm.agent.log.filesize.mb | com_oracle_apm_agent_log_filesize_mb | 20 MB | Logdateigröße. Sie können die Logdateigröße mit dieser Eigenschaft angeben. Der Standardwert ist "20", d.h. eine Logdatei ist 20 MB groß. |
com.oracle.apm.agent.log.rotation.files.count | com_oracle_apm_agent_log_rotation_files_count | 2 | Anzahl der Dateien, die zum Speichern von Logs mit Rollover-Mechanismus erstellt werden können. Beispiel: Wenn "2" als Wert dieser Eigenschaft angegeben wird, werden die Logs in der ersten Datei gespeichert, bis der Grenzwert für die Dateigröße erreicht ist. Sobald der Grenzwert für die Dateigröße erreicht ist, wird eine neue Datei erstellt, und Logs werden weiterhin gespeichert. Nach Erreichen des Grenzwerts für die Dateigröße in der zweiten Datei wird die erste Datei gelöscht, und das Logging wird wieder in der ersten Datei gestartet. Die Dateien werden entsprechend mit einem numerischen Suffix benannt. Beispiel: ApmTracer.log und ApmTracer1.log. Der Standardwert ist "2", d.h., 2 Dateien werden zum Speichern von Logs verwendet. |
com.oracle.apm.agent.logging.level | com_oracle_apm_agent_logging_level | INFO | Die Logebene kann SEVERE, WARNING, INFO oder DEBUG sein (Reihenfolge von den wenigsten bis zu den meisten in ApmTracer.log geschriebenen Einträgen). |
com.oracle.apm.agent.tracer.propagation.type | com_oracle_apm_agent_tracer_propagation_type | B3 |
Der APM-Tracer fügt HTTP-Header hinzu und liest diese, um Spans über HTTP-Aufrufe hinweg zu verbinden. Es gibt verschiedene Arten von Propagierungsheaderformaten, die dazu verwendet werden können. Wenn Sie auch mit anderen Tracertypen wie Zipkin oder Jaeger arbeiten, muss diese Einstellung möglicherweise angepasst werden, damit sie zusammenarbeiten können.
|