Je voudrais vérifier la fréquence d'occurrence du GC et le taux d'utilisation de la mémoire sur la JVM. Vous pouvez l'obtenir avec jstat etc., mais vous pouvez également l'obtenir avec Application Insights avec une petite modification.
--Incluez com.microsoft.azure: applicationinsights-web
comme dépendance dans pom.xml
--Appeler TelemetryConfiguration.getActive (). SetInstrumentationKey (telemetryKey);
à l'initialisation, etc. pour définir
--ʻAjouter ApplicationInsights.xml` comme ressource
Par exemple, pour Spring Boot, ajoutez Change like this.
J'ai beaucoup écrit dans ʻApplicationInsights.xml`, mais il y a des articles que j'ai écrits dans le passé à ce sujet. Si vous regardez les endroits où vous ne l'aimez pas du tout, les applications Java ne sont pas populaires. solitaire. Nous en prenons autant que possible, y compris les inutiles, veuillez donc commenter si nécessaire.
Ainsi, après avoir donné la clé d'instrumentation et l'avoir exécutée, après un certain temps, cela ressemblera à ceci. La valeur par défaut est de collecter les compteurs toutes les 60 secondes.
Metaspace utilisé, Non Heap utilisé, Heap utilisé empilé (Metaspace utilisé et Non Heap utilisé ont des doublons, vous devez donc supprimer l'un ou l'autre ...)
Il devrait y avoir des cas où deux unités ou plus sont utilisées ou mises à l'échelle automatiquement, et que se passe-t-il dans ce cas?
Il existe une colonne appelée cloud_RoleInstance
, qui contient le nom d'hôte de l'environnement d'exécution. En le divisant avec ceci, vous pouvez le voir pour chaque environnement. Ce qui suit est un cas où le nombre a été augmenté à 2 ou 3 en cours de route.
Log Analytics est derrière Application Insights, vous pouvez donc l'obtenir de la même manière.
//MEM Heap Used est affiché sous forme de graphique linéaire à intervalles d'une minute
performanceCounters
| where name == 'MEM Heap Used'
| summarize avg(value) by cloud_RoleInstance, bin(timestamp, 1m)
| render timechart
Le résultat de l'exécution ressemble à ceci.
Je ne l'écrirai pas car c'est ennuyeux, mais cela ressemble à une métrique pour Application Insights, donc je peux le faire correctement.