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

je suis à la recherche d'un profileur Java pour une utilisation dans un environnement de production à très forte demande, commercial ou libre, qui répond à toutes les exigences suivantes:

  • intégration légère avec le code (pas de recompiler avec des options spéciales, pas de crochets de code, etc). Laisser tomber certains profileurs spécifiques .jars à côté du code d'application est ok.
  • devrait pouvoir se connecter / déconnecter à la JVM sans redémarrer l'application.
  • Quand le profilage est pas actif, pas d'impact sur la performance
  • lorsque le profilage est actif, l'impact sur le rendement est négligeable. Très légère dégradation est acceptable.
  • doit faire toutes les choses "attendues" qu'un profileur fait - le temps passé dans chaque méthode pour trouver les points chauds, l'allocation d'objet/le profilage de mémoire, etc.

essentiellement j'ai besoin de quelque chose qui peut rester inactif dans la production quand tout va bien sans que personne ne sache ou ne se soucie qu'il est là, mais ensuite être en mesure de connecter pour lui hassle (et la dégradation de la performance) libre de pointer les problèmes difficiles à trouver comme les points chauds et les problèmes de synchronisation.

43
demandé sur Peter 2010-08-26 04:04:43

10 réponses

Avez-vous essayé YourKit? Il a presque toutes les caractéristiques que vous recherchez.

18
répondu Behrang 2010-08-26 01:40:56

Java VisualVM est un outil qui fournit une interface visuelle pour visualiser des informations détaillées sur les applications basées sur la technologie Java (applications Java) alors qu'elles fonctionnent sur une machine virtuelle Java (JVM). Java VisualVM organise les données JVM qui sont récupérées par les outils Java Development Kit (JDK) et présente les informations d'une manière qui vous permet de visualiser rapidement les données sur plusieurs applications Java. Vous pouvez voir les données sur les applications locales et les applications qui fonctionnent à distance hôte. Vous pouvez également saisir des données sur le logiciel JVM et les sauvegarder dans votre système local, et les visualiser ultérieurement ou les partager avec d'autres. Ça vient avec Oracle JDK it self...

$ jvisualvm 
14
répondu Prabath Siriwardena 2011-09-05 17:26:29

j'ai été heureux avec jProfiler.

11
répondu brettw 2010-08-26 02:22:30

je préfère Enregistreur De Vol Java. Il provoque presque aucune performance aérienne et a une interface graphique agréable. Ajouter des paramètres JVM

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

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

4
répondu jun 2015-08-26 08:44:53
2
répondu Kumar225 2010-08-26 02:52:24

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

http://www.eclipse.org/tptp/

1
répondu eee 2010-08-26 00:33:48