Profilage de la sortie de JIT sous Linux avec des événements perf / oprofile?


Je veux profiler le code, généré par JIT sous Linux, avec l'utilisation de compteurs de performance matérielle. Comme je le sais, les profileurs les plus courants sont oprofile et perf.

Comment puis-je intégrer JIT et oprofile/perf?

Mon JIT n'est pas JAVA qui est déjà pris en charge dans oprofile. (perf?)

Par exemple, nous pouvons considérer le JIT de LLVM. Je veux

  1. Voir les fonctions les plus chaudes (leurs noms) du code JIT-ted
  2. Voir le démontage de la fonction la plus chaude, avec performance statistiques de compteur attribuées à chaque instruction
Author: osgx, 2012-10-02

1 answers

Pour profiler du code jité en utilisant perf, téléchargez, compilez et installez la bibliothèque perf-map-agent, puis (pour le code java de toute façon) ajoutez le -agentpath:<path>/libperfmap.so à la ligne de commande.

Pour le code non-java, tant que les fichiers de carte de symboles /tmp/perf-$pid.map sont générés, perf utilisera ceux-ci quand il produit des rapports perf.

Brendan Gregg a un blog, ce qui a des références.

 3
Author: seacoder, 2014-10-07 15:58:23