[JAVA] J'ai essayé le nouveau profileur de fonctionnalités d'IntelliJ IDEA 2019.2.

Nouvelles fonctionnalités d'IntelliJ IDEA 2019 \ .2 \ | Samuraism Co., Ltd.

Cette nouvelle fonctionnalité est magnifique!

J'améliore souvent les performances, mais IntelliJ IDEA dispose également d'un outil de profilage, j'ai donc essayé de l'utiliser. Cela semblait pratique, il semble donc que ce sera l'arme principale à l'avenir.

Hypothèse: Ubuntu 19.04, Scala (peut également être Java)

Méthode de réglage

Appuyez sur + comme indiqué ci-dessous pour ajouter un ensemble de profileurs et appuyez sur OK Screenshot from 2019-07-27 10-01-05.png

Ensuite, il y a quelque chose dans le menu lors de l'exécution, donc pour le moment, essayez d'appuyer sur Run'somehow 'with'Profiler' Screenshot from 2019-07-27 10-34-46.png

↓ modal sortira, donc Screenshot from 2019-07-27 10-00-11.png Comme indiqué

sudo sh -c 'echo 1 > /proc/sys/kernel/perf_event_paranoid'
sudo sh -c 'echo 0 > /proc/sys/kernel/kptr_restrict'

Exécuter. Après examen, ce paramètre semble être nécessaire pour collecter et analyser les informations sur les performances du noyau. Si ce n'est pas Linux, cela peut ne pas être nécessaire ou une autre méthode de configuration peut sortir.

↓ Article connexe Chapitre 52 Compilateurs et outils \ -Portail client Red Hat Activer l'analyse du noyau Linux \ *

J'ai essayé de profiler

Onglet Graphique du cadre

Hmmm, peut-être que je ne l'utilise pas beaucoup Screenshot from 2019-07-27 10-08-52.png

Call Tree Il est devenu un arbre et est sorti avec% chacun. Si vous créez un profil avec VisualVM, vous obtiendrez quelque chose comme ça. Le nombre bleu à droite de% semble être le nombre de caisses pliées. Screenshot from 2019-07-27 10-11-19.png Method List Il est maintenant trié dans l'ordre dans lequel il a été échantillonné. Vous pouvez sélectionner l'onglet Trace arrière et l'onglet Appelés fusionnés à partir de la méthode sélectionnée. L'onglet Trace arrière vous permet de suivre où il a été appelé. Screenshot from 2019-07-27 10-52-35.png

L'onglet Merged Callees ressemble à une méthode appelée dans cette méthode. Screenshot from 2019-07-27 10-53-19.png

J'ai également essayé d'utiliser Java Flight Recorder

Il existe diverses choses telles que les journaux GC et le nombre de références faibles. Screenshot from 2019-07-27 10-25-58.png

Recommended Posts

J'ai essayé le nouveau profileur de fonctionnalités d'IntelliJ IDEA 2019.2.
J'ai essayé d'utiliser le profileur d'IntelliJ IDEA
J'ai essayé le nouveau yuan à Java
J'ai essayé la bibliothèque AutoValue avec Intellij
L'idée du tri rapide
L'idée de jQuery
J'ai essayé d'utiliser la fonction Server Push de Servlet 4.0
05. J'ai essayé de supprimer la source de Spring Boot
J'ai essayé de réduire la capacité de Spring Boot
J'ai essayé d'installer le plug-in d'intégration Docker dans IntelliJ
Notez que j'étais accro aux paramètres du projet Android d'IntelliJ IDEA
J'ai essayé le problème FizzBuzz
J'ai essayé JAX-RS et pris note de la procédure
J'ai brièvement résumé la grammaire de base de Ruby
J'ai essayé de créer un environnement de WSL2 + Docker + VSCode
J'ai essayé de convertir l'exemple d'application en microservice selon l'idée du livre "Microservice Architecture".
J'ai essayé de résoudre le problème de la "sélection multi-étapes" avec Ruby
J'ai lu la source de ArrayList que j'ai lu
J'ai essayé de créer un environnement de serveur UML Plant avec Docker
J'ai essayé le type d'entrée / sortie de Java Lambda ~ Map edition ~
J'ai essayé d'utiliser la fonction de cache d'Application Container Cloud Service
J'ai lu la source d'Integer
J'ai essayé d'expliquer la méthode
J'ai lu la source de Long
J'ai essayé le framework Java "Quarkus"
[Rails] J'ai essayé de supprimer l'application
J'ai essayé de vérifier le fonctionnement du serveur gRPC avec grpcurl
J'ai essayé de résumer les méthodes de Java String et StringBuilder
J'ai lu la source de Short
J'ai lu la source de Byte
J'ai lu la source de String
J'ai essayé de résoudre le problème de Google Tech Dev Guide
J'ai essayé d'utiliser Google HttpClient de Java
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
J'ai essayé légèrement le cache de résultat de la méthode de JCache (Ehcache 3) feat. Guice
J'ai essayé d'utiliser pleinement le cœur du processeur avec Ruby
J'ai essayé de visualiser l'accès de Lambda → Athena avec AWS X-Ray
J'ai essayé de mesurer et de comparer la vitesse de Graal VM avec JMH
J'ai étudié le traitement interne de Retrofit
[jour: 5] J'ai résumé les bases de Java
C'est nouveau, mais j'ai essayé d'utiliser Groonga
J'ai essayé d'implémenter le modèle Iterator
J'ai créé un plug-in pour IntelliJ IDEA
J'ai essayé de résumer l'API Stream
Ce que j'ai essayé quand je voulais obtenir tous les champs d'un haricot
J'ai essayé de comparer la technologie d'infrastructure des ingénieurs ces jours-ci avec la cuisine.
J'ai vérifié la partie de java.net.URL # getPath
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé d'organiser la session en Rails
J'ai compris les bases de la saisie de caractères
J'ai comparé les caractéristiques de Java et .NET
C # (base de l'encapsulation)
Je veux var_dump le contenu de l'intention