Le meilleur et le plus sûr Profileur Java pour une utilisation en production? [fermé]


Je recherche un profileur Java pour une utilisation dans un environnement de production à très forte demande, commercial ou gratuit, qui répond à toutes les exigences suivantes:

  • Intégration légère avec le code (pas de recompilation avec des options spéciales, pas de crochets de code, etc.). Déposant quelques générateur de profils spécifiques .jars à côté du code de l'application est ok.
  • Devrait pouvoir se connecter/déconnecter à la JVM sans redémarrer l'application.
  • Lorsque le profilage n'est pas actif, aucun impact à la performance
  • Lorsque le profilage est actif, impact négligeable sur les performances. Une très légère dégradation est acceptable.
  • Doit faire toutes les choses "attendues" qu'un profileur fait - temps passé dans chaque méthode pour trouver des points chauds, allocation d'objets/profilage de mémoire, etc.

Essentiellement, j'ai besoin de quelque chose qui puisse rester en sommeil dans la production quand tout va bien sans que personne ne sache ou ne se soucie qu'il est là, mais puisse ensuite s'y connecter sans tracas (et dégradation des performances) gratuit pour identifier les problèmes difficiles à trouver comme les hotspots et les problèmes de synchronisation.

Author: Peter, 2010-08-26

10 answers

Avez-vous essayé YourKit? Il a presque toutes les fonctionnalités que vous recherchez.

 18
Author: Behrang, 2010-08-26 01:40:56

Java VisualVM est un outil qui fournit une interface visuelle pour afficher des informations détaillées sur les applications basées sur la technologie Java (applications Java) lorsqu'elles s'exécutent sur une machine virtuelle Java (JVM). Java VisualVM organise les données JVM récupérées par les outils Java Development Kit (JDK) et présente les informations de manière à vous permettre d'afficher rapidement les données sur plusieurs applications Java. Vous pouvez afficher les données sur les applications locales et les applications qui s'exécutent sur la télécommande hôte. Vous pouvez également capturer des données sur le logiciel JVM et les enregistrer sur votre système local, puis les afficher ultérieurement ou les partager avec d'autres. Cela vient avec Oracle JDK de soi...

$ jvisualvm 
 14
Author: Prabath Siriwardena, 2011-09-05 17:26:29

J'ai été heureux avec jProfiler.

 11
Author: brettw, 2010-08-26 02:22:30

Je préfère Java Enregistreur de Vol. Il ne provoque presque aucune surcharge de performance et a une belle interface graphique. Ajouter des paramètres JVM

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true

Et ouvrez l'enregistrement avec JMC.

 4
Author: jun, 2015-08-26 08:44:53
 2
Author: Kumar225, 2010-08-26 02:52:24

J'utilise Eclipse TPTP - Eclipse Test & Performance Tools Platform Project. Qu'il soit adapté à une utilisation en production ou non, cela dépend de l'utilisateur. Pour moi, c'est très bien et cela répond à vos besoins.

Http://www.eclipse.org/tptp/

 1
Author: eee, 2010-08-26 00:33:48

Une autre option est http://www.newrelic.com / . Nous l'utilisons en production depuis un certain temps, et il semble être assez fiable et performant. Simple à installer (un .jar et option de ligne de commande a-agent).

 1
Author: magbyr, 2010-10-22 08:18:56

Il y a une autre nouvelle option appelée javosize

Quand j'ai cherché "meilleur profileur java" sur google, j'ai vu sur le premier lien non payant (c'est un blog), le même outil sur les commentaires au post:

Https://blog.oio.de/2014/03/07/java-profilers-a-short-comparison-between-jprofiler-yourkit-and-javas-visualvm/

J'espère que ça aide!

Edit: Comme le disent les commentaires, le lien linkedin est vers un forum privé. Désolé pour elle. Voici le lien vers main site:

Http://www.javosize.com/gettingStarted.html

 1
Author: Jorge Zazo, 2015-06-30 14:00:10

FusionReactor Java Application Performance Monitor, comprend également un profileur Java à très faible surcharge dans le cadre de son portefeuille de fonctionnalités. http://www.fusion-reactor.com/production-java-profiler / FusionReactor peut être installé en quelques minutes et ils ont un essai gratuit de 14 jours pour le tester.

 1
Author: David Tattersall, 2016-05-12 07:54:49

Prendre un coup d'oeil à Java Mission de Contrôle conjointement avec Enregistreur de Vol. À partir de la sortie d'Oracle JDK 7 Update 40 (7u40), Java Mission Control est fourni avec la JVM HotSpot, il est donc hautement intégré et prétend avoir de petits effets sur les performances d'exécution. Il a une fonctionnalité d'arbre d'appel comme Callgrind.

 1
Author: Muxiang Yang, 2016-07-08 13:40:28