1 dépôt
Inspecting runtime state through the dynamic modification of bytecode in active environments.
Distinct from Runtime Application Debugging: Uses bytecode modification and dynamic instrumentation specifically, rather than just attaching a standard debugger.
Explore 1 awesome GitHub repository matching mobile development · Dynamic Instrumentation Debugging. Refine with filters or upvote what's useful.
Bistoury est un outil de diagnostic de production pour les applications Java qui fournit une console de débogage distribuée, un profileur de performance et un manipulateur de bytecode runtime. Il permet le débogage d'applications en temps réel et le diagnostic de production en analysant les applications Java en cours d'exécution via l'instrumentation dynamique et l'inspection d'état. Le système se distingue par un gestionnaire d'agent distant qui coordonne les connexions de diagnostic et un manipulateur de bytecode runtime capable de redéfinir des classes en mémoire sans nécessiter de redémarrage de processus. Il dispose d'une interface web pour capturer des dumps de tas (heap dumps), des piles de threads et des variables locales à travers plusieurs instances de serveur, pris en charge par une couche de communication médiée par proxy pour router les commandes vers des cibles distantes. Le projet couvre un large éventail de capacités d'observabilité, incluant le profilage des performances CPU via l'échantillonnage de pile asynchrone et les graphiques en flamme (flame graphs), la gestion distribuée des logs sur plusieurs machines et la capture d'état non bloquante utilisant des points d'arrêt conditionnels. Il inclut également des utilitaires de récupération de source qui lient le bytecode runtime au code source original via la décompilation ou l'intégration avec des dépôts Git et Maven. L'outil fournit une console web et des interfaces de ligne de commande pour gérer les logs, récupérer les fichiers système et inspecter la configuration système et les variables d'environnement.
Inspects variable values and captures runtime state in active environments using dynamic instrumentation.