Konfigurierbare APM-Java-Agent-Optionen
Für den APM-Java-Agent können die folgenden Optionen für die Datenerfassung konfiguriert werden:
Abgelöste Traces
Dieses Feature wurde entwickelt, um Fälle von übermäßigem Spannenanzahl pro Trace zu beseitigen. Wenn zu viele Spans in einem einzelnen Aufruf erstellt werden, kann der Agent einen höheren als den gewünschten Overhead verursachen. Außerdem kann er die Stundenanzahl erhöhen, was zu einer höheren als erwarteten Gebühr führt. Fälle, in denen dies ein Problem darstellen kann, umfassen rekursive Aufrufe (absichtlich oder nicht), generierter Code, der zu einer hohen Anzahl von pro Transaktion ausgeführten SQLs und anderen führt.
- Mit der Funktion "Betrug" können Benutzer die maximale Anzahl von Spans pro Aufruf begrenzen. Es bietet auch eine Möglichkeit, Spans auszuschließen, die als "nicht wert" betrachtet werden können (z. B. eine große Menge an sehr schnellen SQLs).
- Die spezifischen Grenzwerte für Stichproben, die auf einem Span-Namen basierende Inklusion/Ausschluss und die JDBC-Schwellenwerte können pro Thread pro Aufruf konfiguriert werden. Einzelheiten zu Konfigurationsoptionen finden Sie in der Datei
ProbeConfig.acml
im Verzeichnisoracle-apm-agent\config
. - Standardmäßig wird jeder Aufruf auf 100 Spans beschränkt.
- Basisstatistiken über gelöschte Spans können pro Thread pro Aufruf erfasst werden.
Im Folgenden finden Sie ein Beispiel für eine Einstellung, mit der die maximale Anzahl von JDBC-Spans pro Threadaufruf auf 50 begrenzt, ein bekanntes mundanes SQL ausgeschlossen und SQLs ausgeschlossen werden, die in weniger als 2 ms ausgeführt werden. Beachten Sie, dass der Agent durch Aktivieren der Option summarize
dem übergeordneten Span die folgenden Metriken hinzufügt: Anzahl gelöschter Span, durchschnittliche Dauer gelöschter Span, minimale Zeit für gelöschte Span, maximale Zeit für gelöschte Span, Anzahl gelöschte Span-Fehler sowie Logdatensätze mit den 5 längsten gelöschten Spans und den ersten 5 gelöschten Fehlern.
abridged_probes:
summarize: true
settings_by_probe:
- probe: "JDBC"
span_limit: 50
excluded_patterns:
- contains: "select sysdate from dual"
excluded: true
threshold:
duration: 2
start_thresholding_after: 10
Stromunterbrecher
- Der Circuit Breaker reduziert automatisch die Nutzung von JVM-Ressourcen durch den Agent, wenn ein starker Ressourcendruck erkannt wird. Der Circuit Breaker nimmt automatisch die normale Agent-Funktion wieder auf, wenn der Ressourcendruck ausreichend verringert wurde.
- Standardmäßig wird der Circuit Breaker inkrementell gestoppt, und die Agent-Ausführung wird basierend auf der Heap-Speicherauslastung und der Garbage-Collection-Zeit automatisch angehalten und wiederaufgenommen.
Performancefaktor Anhalten Wiederaufnehmen Intervall Zielkomponenten Heap-Speicherauslastung 95 % 85 % 2 Minuten Probes 5 Minuten Vollständiger Agent Garbage-Collection-Zeit 10 % 5 % 2 Minuten Probes 5 Minuten Vollständiger Agent - Performancefaktoren, Schwellenwerte für Anhalten/Wiederaufnehmen, Intervalle und Zielkomponenten können konfiguriert werden. Weitere Einzelheiten finden Sie in der Datei
CircuitBreakerConfig.acml
im Verzeichnisoracle-apm-agent\config\<version>
. - Der Leistungsschalter ist standardmäßig aktiviert. Sie kann mit der Eigenschaft
com.oracle.apm.agent.circuit.breaker.enable
aus der DateiAgentConfig.properties
unter dem Verzeichnisoracle-apm-agent\config
deaktiviert und erneut aktiviert werden.Um Circuit Breaker zu deaktivieren und erneut zu aktivieren, muss der APM-Java-Agent nicht neu gestartet werden.
Stichprobe
- Standardmäßig werden alle Spans erfasst. Um die Samplingkonfiguration zu ändern, müssen Sie das benutzerdefinierte Sampling konfigurieren.
- Sie können die Menge der Tracedaten reduzieren, indem Sie die Sampling-Konfiguration angeben. Weitere Einzelheiten finden Sie unter APM-Sampling konfigurieren.
- Der Samplingvorgang unterliegt dem Grenzwert der abgekürzten Traces und des Circuit Breakers für die Datenerfassung.
Logbibliothekseinfügung
Die aktiven spanId
und traceId
können in Logmeldungen injiziert werden. Dies ermöglicht eine Korrelation zwischen Logmeldungen und APM-Traces, um die Loganalyse und Fehlerbehebung zu vereinfachen.
-
Aktivieren Sie die Probe
LOG_LIB
in der DateiProbeConfig.acml
. -
Aktivieren Sie die gewünschte Log-Injection im detaillierten
LOG_LIB
-Abschnitt inProbeConfig.acml
.
Die Aktivierung von Log Library Injection führt folgende Schritte aus:
- Die automatische Injection ermöglicht die Injection von
spanId
undtraceId
ohne Änderung der vorhandenen Anwendungsloggingkonfiguration.Log4j 1.2, log4j 2, logback und java.util.logging werden unterstützt.
- WebLogic Mit Injection des Serverzugriffslogs können die aktiven
spanId
undtraceId
für eine bestimmte HTTP-Anforderung injiziert werden. Beachten Sie, dass statischer Inhalt wiefavicon.ico
in der Regel nicht mitspanId
odertraceId
verknüpft ist. -
Mapped Diagnostic Context-(MDC-)Injection nutzt die integrierten Funktionen log4j, log4j2 und Logback, um die aktiven
spanId
undtraceId
für Logging-Frameworks verfügbar zu machen.Sie können die folgenden Schlüssel in der entsprechenden MDC-Loggingkonfiguration für das Logging-Framework der Anwendung angeben:- oracle.apm.spanId
- oracle.apm.traceId