APM-Tracer instanziieren

Führen Sie die folgenden Schritte aus, um der Anwendung Tracingunterstützung hinzuzufügen:

Hinweis

Bei der Helidon-Konfiguration müssen Sie diese Schritte überspringen und den Abschnitt APM-Tracer in Helidon verwenden lesen.
  1. Importieren Sie die OpenTracing-Tracer- und APM-Tracer-Klassen wie folgt:

    import io.opentracing.Tracer;
    import com.oracle.apm.tracer.ApmTracer;
  2. 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.

  • B3: Vom Zipkin-Tracer verwendetes Standardformat. Dies wird standardmäßig vom APM-Tracer verwendet.

  • Header names: X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId, X-B3-Sampled.

    Beachten Sie, dass der Einzelfall (b3) derzeit nicht unterstützt wird.

  • Jaeger: Vom Jaeger-Tracer verwendetes Standardformat. Headernamen: uber-trace-id

  • APM: Vom APM-Tracer verwendetes altes Format. Headernamen: X-ORACLE-APM-SPAN-ID, X-ORACLE-APM-TRACE-ID

  • W3C: Tracekontextformat aus W3C. Headernamen: traceparent, tracestate