Ich möchte die Häufigkeit des Auftretens von GC und die Speichernutzungsrate auf der JVM überprüfen. Sie können es mit jstat usw. erhalten, aber Sie können es auch mit Application Insights mit einer kleinen Modifikation erhalten.
com.microsoft.azure: applicationinsights-web
als Abhängigkeit in pom.xml einTelemetryConfiguration.getActive (). SetInstrumentationKey (telemetryKey);
bei der Initialisierung usw. an, um festzulegenFügen Sie beispielsweise für Spring Boot [Änderung wie folgt] hinzu (https://github.com/fukasawah/example-hellospringboot/commit/ee121c3e4354c101438ea371e2861bc1c7767710).
Ich habe viel in ApplicationInsights.xml
geschrieben, aber es gibt Artikel, die ich in der Vergangenheit geschrieben habe darüber. Wenn Sie sich die Orte ansehen, an denen Sie es überhaupt nicht mögen, sind Java-Apps nicht beliebt. einsam.
Wir nehmen so viel wie möglich, auch unnötige. Bitte kommentieren Sie dies gegebenenfalls aus.
Nachdem Sie den Instrumentierungsschlüssel gegeben und nach einer Weile ausgeführt haben, sieht er folgendermaßen aus. Standardmäßig werden alle 60 Sekunden Zähler erfasst.
Metaspace verwendet, Non Heap verwendet, Heap verwendet gestapelt (Metaspace verwendet und Non Heap verwendet haben Duplikate, daher sollten Sie eines entfernen ...)
Es sollte Fälle geben, in denen zwei oder mehr Einheiten betrieben oder automatisch skaliert werden, und was passiert in diesem Fall?
Es gibt eine Spalte namens "cloud_RoleInstance", die den Hostnamen der Ausführungsumgebung enthält. Wenn Sie es damit teilen, können Sie es für jede Umgebung sehen. Das Folgende ist ein Fall, in dem die Anzahl auf dem Weg auf 2 oder 3 erhöht wurde.
Log Analytics steht hinter Application Insights, sodass Sie es auf die gleiche Weise erhalten können.
//Der verwendete MEM-Heap wird in Abständen von 1 Minute als Liniendiagramm angezeigt.
performanceCounters
| where name == 'MEM Heap Used'
| summarize avg(value) by cloud_RoleInstance, bin(timestamp, 1m)
| render timechart
Das Ausführungsergebnis sieht so aus.
Ich werde es nicht schreiben, weil es ärgerlich ist, aber es sieht aus wie eine Metrik für Application Insights, damit ich es richtig machen kann.