All Projects → qunarcorp → Bistoury

qunarcorp / Bistoury

Licence: gpl-3.0
Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
perl
6916 projects
shell
77523 projects

Projects that are alternatives of or similar to Bistoury

Arthas
Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas
Stars: ✭ 27,984 (+775.05%)
Mutual labels:  agent, jvm, trouble-shooting
SmartDump
SmartDump - an exception and memory dump capture utility
Stars: ✭ 17 (-99.47%)
Mutual labels:  debugging, debug
audria
audria - A Utility for Detailed Ressource Inspection of Applications
Stars: ✭ 35 (-98.91%)
Mutual labels:  cpu, monitor
deno-debug
Debugging utility for deno. Ported from https://npmjs.com/debug
Stars: ✭ 15 (-99.53%)
Mutual labels:  debugging, debug
react-native-debug-console
A network and console debug component and modal for react native purely in JavaScript
Stars: ✭ 17 (-99.47%)
Mutual labels:  debugging, debug
metrics-agent
JVM agent based metrics with Prometheus and Dropwizard support (Java, Scala, Clojure, Kotlin, etc)
Stars: ✭ 25 (-99.22%)
Mutual labels:  agent, jvm
docker-pudb
Debug Python code within a Docker container remotely from your terminal using pudb
Stars: ✭ 18 (-99.44%)
Mutual labels:  debugging, debug
clrprint
Print colorful output in the terminal, idle, cmd, and Windows PowerShell using the same functions.
Stars: ✭ 22 (-99.31%)
Mutual labels:  debugging, debug
javametrics
Application Metrics for Java™ instruments the Java runtime for performance monitoring, providing the monitoring data visually with its built in dashboard
Stars: ✭ 19 (-99.41%)
Mutual labels:  agent, debug
pydbg
Python implementation of the Rust `dbg` macro
Stars: ✭ 85 (-97.34%)
Mutual labels:  debugging, debug
lambda-string
Lambda-string (LS) is a helping java agent that inject configurable toString method into lambdas with some useful meta-information.
Stars: ✭ 34 (-98.94%)
Mutual labels:  agent, jvm
debug
A small debugging library for C++
Stars: ✭ 30 (-99.06%)
Mutual labels:  debugging, debug
windbgtree
A command tree based on commands and extensions for Windows Kernel Debugging.
Stars: ✭ 94 (-97.06%)
Mutual labels:  debugging, debug
mix-agent
基于rust语言开发的一套运维监控探针,支持widnows、linux、macos系统
Stars: ✭ 14 (-99.56%)
Mutual labels:  agent, monitor
axios-curlirize
axios plugin converting requests to cURL commands, saving and logging them.
Stars: ✭ 152 (-95.25%)
Mutual labels:  debugging, debug
kokkos-tools
Kokkos C++ Performance Portability Programming EcoSystem: Profiling and Debugging Tools
Stars: ✭ 52 (-98.37%)
Mutual labels:  debugging, debug
Charles-Proxy-Mobile-Guide
The mobile hackers' guide to Charles Proxy 👍
Stars: ✭ 105 (-96.72%)
Mutual labels:  monitor, debug
ducky
Chrome extension to overlay a (super adorable) rubber duck, as a virtual companion during rubber duck debugging.
Stars: ✭ 80 (-97.5%)
Mutual labels:  debugging, debug
PowerPreference
💾 A Powerful library to control and simplify the usage of shared preference in Android.
Stars: ✭ 95 (-97.03%)
Mutual labels:  debugging, debug
CrashLogger
A dll injected into process to dump stack when crashing.
Stars: ✭ 19 (-99.41%)
Mutual labels:  debugging, debug

Bistoury

license release

Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力。

Bistoury 的目标是一站式java应用诊断解决方案,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。

Bistoury 在公司内部原有agent的基础上集成Alibaba开源的arthas和唯品会开源的vjtools,提供了更加丰富的功能,感谢他们做出的优秀工作。

简介

Arthas和vjtools已经是很优秀的工具,我们为什么还要开发Bistoury?

Arthas和vjtools通过命令行或类似的方式使用,不可否认命令行在很多时候具有比较高的效率;但图形化界面也有其自身的优点,特别是在参数复杂时使用起来更加简单,效率更高。Bistoury在保留命令行界面的基础上,还对很多命令提供了图形化界面,方面用户使用。

Arthas和vjtools针对单台机器,从机器的维度对系统进行诊断,没有提供全局的视角;而在线应用往往部署在多台机器,Bistoury可以和使用方应用中心整合,从应用的维度对系统进行诊断,提供了更多的可能。

Arthas和vjtools在使用上,要么登录机器,要么需要使用者提供相应的ip和端口;Bistoury去掉各种设置,提供统一的web入口,从页面上选择应用和机器即可使用。

除了这些针对性优化,Bistoury在保留arthas和vjtools的所有功能之外,还提供了更加丰富的功能。

Bistoury的在线debug功能去掉了各种复杂参数,模拟ide调试体验,通过web界面提供断点调试的功能,可以在不阻塞应用的情况下捕获断点处的信息(包括本地变量、成员变量、静态变量和方法调用栈)。

Bistoury提供了线程级cpu使用率监控,可以监控系统每个线程的分钟级cpu使用率,并提供最近几天的历史数据查询。

Bistoury可以动态对方法添加监控,监控方法的调用次数、异常次数和执行时间,同时也保留最近几天的监控数据。

Bistoury提供了日志查看功能,可以使用tail、grep等命令对单台或同时对多台机器的日志进行查看。

Bistoury提供可视化页面实时查看机器和应用的各种信息,包括主机内存和磁盘使用、cpu使用率和load、系统配置文件、jar包信息,jvm信息、内存使用和gc等等。

快速上手

也许你正面对一个难以捉摸的线上问题束手无策,不妨来试试Bistoury的快捷部署脚本,在一分钟内启动Bistoury然后插入断点开始调试吧!

使用文档

java版本要求

ui、proxy使用Java1.8+,agent使用java1.7+,由于agent会attach到应用中,所以应用也需要使用Java1.7+,最好保持应用和agent的版本一致。点击这里使用Java11运行bistoury

系统要求

目前只支持linux系统(支持mac os)

project

欢迎大家各种star,fork,提issue,pull request,感觉还可以就点个star吧!

Q & A

  • 前端有的地方似乎有点不那么好看,实现的似乎也不太棒

    所有的前端代码都是后端同学兼职完成,欢迎各位前端大牛贡献相关代码。

常见问题汇总

使用Bistoury出现各种问题请先点这里

技术支持

qq群:717242486

QQ

Screenshots

通过命令行界面查看日志,使用arthas和vjtools的各项功能 console

在线debug,在线应用调试神器 debug

线程级cpu监控,帮助你掌握线程级cpu使用率 jstack_dump

在web界面查看JVM运行信息,以及各种其它信息 jvm

动态给方法添加监控 monitor

线程dump thread_dump

文件下载 downlaod

火焰图 性能分析栈

java热点方法 性能分析方法

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].