perfino est un agent de surveillance puissant qui vous donne un maximum d'informations avec un minimum de surcharge.
Fonctionnalités
- Voyez immédiatement ce qui ne va pas. Lorsque vous vous connectez à perfino, le tableau de bord vous montre si tout va bien - ou si quelque chose ne va pas. perfino vous donne un contrôle granulaire sur le niveau de performance acceptable pour votre application. Le tableau de bord est l'endroit où vous commencez à explorer les vues de données plus détaillées.
- Afficher les appels entre VMs. perfino peut surveiller les transactions commerciales qui s'étendent sur plusieurs VMs. Un appel dans la couche web qui se poursuit vers un serveur EJB et ensuite vers un service web - dans perfino, ces opérations sont connectées, même lorsque vous effectuez un échantillonnage au niveau des méthodes. Le graphique d'appels vous montre non seulement la vue d'ensemble de ce qui se passe en ce moment, mais aussi ce qui s'est passé dans le passé.
- Réagir aux conditions anormales. Lorsque quelque chose ne va pas sérieusement, vous voulez agir : Créez des alertes, envoyez des e-mails ou recueillez des données plus détaillées. Dans perfino, vous utilisez des déclencheurs et des actions pour configurer vos stratégies de réponse d'urgence. Réaliser un scénario comme "Lorsque une transaction commerciale se bloque, prenez un dump de thread et envoyez-le dans ma boîte de réception" est très facile dans l'interface utilisateur de perfino.
- Télémétries partout. Les télémétries dans perfino capturent des valeurs scalaires importantes dans les VMs surveillées, comme le nombre d'opérations de base de données par minute. En tant que sparklines dans le tableau de bord et la vue des VMs, elles vous donnent une appréciation instantanée des tendances actuelles, dans leur affichage complet, elles remontent dans le temps jusqu'au tout début. Les données de télémétrie ne sont jamais jetées, seulement converties en résolutions plus élevées.
- Transactions commerciales ultra-flexibles. perfino détecte automatiquement une large gamme de transactions commerciales provenant de sous-systèmes comme les conteneurs de servlets, EJBs ou appels RMI. De plus, il vous offre plusieurs façons de transformer tout appel de méthode en transactions commerciales. Que vous sélectionniez explicitement des méthodes POJO dans l'interface utilisateur de perfino, informiez perfino d'une annotation importante ou utilisiez l'API pour créer des transactions dans votre propre code dépend de ce qui est le plus pratique pour vous.
- Arbre d'appels des transactions commerciales. Les transactions dans perfino sont organisées en un arbre d'appels cumulé - tout comme vous le savez de votre profileur préféré. Le niveau de détail dépend de vous - cela dépend de ce que vous configurez comme transactions commerciales. Les violations de politique comme les transactions très lentes sont affichées séparément dans l'arbre d'appels, afin que vous puissiez les analyser isolément. perfino corrèle également les transactions commerciales sur le serveur avec les temps de chargement des pages dans le navigateur.
- Performance de la base de données et goulets d'étranglement. Les opérations de base de données comme les instructions JDBC, ou les requêtes vers mongoDB et d'autres bases de données NoSQL sont des citoyens de première classe dans perfino. Lorsque vous posez la question "Quelle requête SQL est la plus lente dans mon application ?", perfino fournit la réponse avec des traces de retour cumulées pointant vers les transactions commerciales responsables des requêtes.
- Échantillonnage au niveau des méthodes. Pour enquêter sur la structure d'appel interne et les points chauds au niveau des méthodes des transactions commerciales, perfino effectue un échantillonnage périodique au niveau des méthodes sur une base par transaction. Pour les transactions lentes et très lentes, vous pouvez configurer un échantillonnage automatique au niveau des méthodes. Dans de nombreux cas, ces échantillons vous donnent une explication immédiate des problèmes de performance qui ne sont pas liés aux bases de données.
- Comparaisons historiques. Être capable de comparer la performance entre deux points dans le temps est important, surtout pour les gestions de versions agiles. Avec perfino, vous pouvez remonter indéfiniment pour comparer des transactions commerciales sélectionnées ou des arbres d'appels entiers - vos données sont cumulées sur des intervalles de temps plus larges au fil du temps. Et la fonctionnalité de comparaison est intégrée directement dans les vues que vous utilisez pour visualiser les données.
- Passage au profilage. La défense en profondeur est une stratégie qui s'applique à de nombreuses situations dans la vie. Lorsque votre entreprise est en jeu, vous avez parfois besoin de tous les outils disponibles et c'est pourquoi perfino peut intégrer un échantillonnage JVMTI natif et finalement même préparer une VM pour une connexion JProfiler. Ainsi, lorsque vous avez besoin de toutes les capacités d'un profileur, elles sont à portée de main.