Bistoury
est un outil de diagnostic d'application Java transparent et non intrusif, open source par Qunar.com, qui est utilisé pour améliorer l'efficacité et les capacités de diagnostic des développeurs.
L'objectif de Bistoury
est une solution de diagnostic d'application Java unique qui permet aux développeurs de diagnostiquer les applications sous divers aspects tels que les journaux, la mémoire, les threads, les informations de classe, le débogage, les propriétés de la machine et du système, etc., sans se connecter à la machine ni modifier le système et améliorer les performances de l’application et la capacité du développeur à diagnostiquer les problèmes.
Bistoury
a intégré les arthas open source d'Alibaba et les vjtools open source de Vipshop sur la base de l'agent d'origine de l'entreprise pour fournir des fonctions plus riches. Nous les remercions pour leur excellent travail.
Arthas et vjtools sont déjà d'excellents outils, pourquoi devons-nous développer Bistoury ?
Arthas et vjtools s'utilisent via la ligne de commande ou des méthodes similaires. Il est indéniable que la ligne de commande est plus efficace dans de nombreux cas ; mais l'interface graphique a aussi ses propres avantages, surtout lorsque les paramètres sont complexes, elle est plus simple à utiliser et plus efficace. En conservant l'interface de ligne de commande, Bistoury fournit également une interface graphique pour de nombreuses commandes que les utilisateurs peuvent utiliser.
Arthas et vjtools ciblent une seule machine et diagnostiquent le système du point de vue de la machine, sans fournir une perspective globale ; alors que les applications en ligne sont souvent déployées sur plusieurs machines, Bistoury peut être intégré au centre d'applications de l'utilisateur pour diagnostiquer le système du point de vue de l'application. , offrant plus de possibilités.
Lorsque vous utilisez Arthas et vjtools, vous devez soit vous connecter à la machine, soit l'utilisateur doit fournir l'adresse IP et le port correspondants ; Bistoury supprime divers paramètres et fournit une entrée Web unifiée, et vous pouvez sélectionner l'application et la machine à partir de la page. à utiliser.
En plus de ces optimisations ciblées, Bistoury conserve toutes les fonctions d'arthas et de vjtools, et propose également des fonctions plus riches.
La fonction de débogage en ligne de Bistoury supprime divers paramètres complexes, simule l'expérience de débogage de l'IDE et fournit des fonctions de débogage de points d'arrêt via l'interface Web. Elle peut capturer des informations aux points d'arrêt (y compris les variables locales, les variables membres, les variables statiques, etc.) sans bloquer l'application. variables et piles d’appels de méthodes).
Bistoury fournit une surveillance de l'utilisation du processeur au niveau des threads, qui peut surveiller l'utilisation du processeur à la minute près par chaque thread du système et fournir des requêtes de données historiques au cours des derniers jours.
Bistoury peut ajouter dynamiquement une surveillance aux méthodes, surveiller le nombre d'appels de méthode, le nombre d'exceptions et le temps d'exécution, et également conserver les données de surveillance des derniers jours.
Bistoury fournit une fonction d'affichage des journaux. Vous pouvez utiliser tail, grep et d'autres commandes pour afficher les journaux d'une seule machine ou de plusieurs machines en même temps.
Bistoury fournit une page visuelle pour afficher diverses informations sur les machines et les applications en temps réel, y compris l'utilisation de la mémoire hôte et du disque, l'utilisation et la charge du processeur, les fichiers de configuration système, les informations sur le package jar, les informations jvm, l'utilisation de la mémoire et gc, etc.
Peut-être êtes-vous confronté à un problème en ligne insaisissable et êtes-vous perdu. Vous pourriez aussi bien essayer le script de déploiement rapide de Bistoury en une minute et insérer des points d'arrêt pour démarrer le débogage !
L'interface utilisateur et le proxy utilisent Java1.8+ et l'agent utilise Java1.7+. Étant donné que l'agent sera attaché à l'application, l'application doit également utiliser Java1.7+. Il est préférable de conserver les versions de l'application et. l'agent est cohérent. Cliquez ici pour exécuter bistoury en utilisant Java11
Actuellement, ne prend en charge que le système Linux (prend en charge Mac OS)
Tout le monde est invité à répondre, à bifurquer, à émettre et à tirer des demandes. Si vous pensez que tout va bien, donnez-lui simplement une étoile !
Certaines parties du front-end semblent un peu peu attrayantes, et la mise en œuvre ne semble pas non plus géniale.
Tous les codes front-end sont complétés à temps partiel par les étudiants back-end sont invités à contribuer aux codes pertinents.
Si vous rencontrez des problèmes lors de l'utilisation de Bistroury, veuillez d'abord cliquer ici.
Groupe QQ : 717242486
Affichez les journaux via l'interface de ligne de commande et utilisez diverses fonctions d'arthas et de vjtools
Débogage en ligne, artefact de débogage d'application en ligne
La surveillance du processeur au niveau du thread vous aide à comprendre l'utilisation du processeur au niveau du thread
Afficher les informations d'exécution de la JVM et diverses autres informations dans l'interface Web
Ajouter dynamiquement une surveillance aux méthodes
Vidage de thread
Téléchargement de fichier
Graphique de flamme
méthode de point d'accès Java