• Stars
    star
    4,023
  • Rank 10,827 (Top 0.3 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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热点方法 性能分析方法

More Repositories

1

qmq

QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
Java
2,803
star
2

open_dnsdb

OpenDnsdb 是去哪儿网OPS团队开源的基于Python语言的DNS管理系统
Python
416
star
3

qconfig

Qconfig中心式配置中心,提供高可用的配置托管/动态热更新服务。 具备丰富的格式支持和简单易用的API
Java
280
star
4

ic

去哪儿公司内部CI、CD以及devops体系建设过程中使用的消息系统和数据中心。由于其基于HTTP协议的特性,具有跨平台、跨语言的优点。而devops体系搭建中,会引入各种开源工具,这些工具的语言差异也很大。基于IC,我们不仅快速实现了流程自动化,而且系统解耦,自动化进程大大提高。
Java
86
star
5

imsdk-android

Startalk is a high-performace IM software for business. It has been stably used in Qunar for more than 4 years, providing services as well as consultation after and before sales to business. Startalk is applicable to multiple scenarios, such as office automation, business services, and first-party SDKs for IM scenes
Java
65
star
6

qrn-remax-unir

JavaScript
44
star
7

qapm_ios

QAPM是去哪儿使用的APP监控系统。已在内部稳定运行3年。
Objective-C
34
star
8

startalk_web

JavaScript
33
star
9

startalk_pc_v2

提供IM通讯能力的PC客户端服务( 包含Windows、Linux、MacOS )
C
31
star
10

open_source_startalk

提供IM通讯能力的Window客户端服务
C++
31
star
11

chaika

chaika 是去哪儿网小程序工程化中的拆库合并工具, 合并之后的代码可用nanachi直接转译为各平台小程序代码
JavaScript
30
star
12

imsdk-ios

Startalk is a high-performace IM software for business. It has been stably used in Qunar for more than 4 years, providing services as well as consultation after and before sales to business. Startalk is applicable to multiple scenarios, such as office automation, business services, and first-party SDKs for IM scenes
Objective-C
30
star
13

superoa

QOA系统后端服务,通过动化管理各项审批,QOA实现高效办公以及提升审批效率。
Java
17
star
14

schnee-ui

运用于nanachi的H5,快应用的补丁组件
JavaScript
14
star
15

m_adr_qapm_open_source

Java
10
star
16

qscan

QScan 是一个高度可定制的扫码工具,基于 Appium 的扫码方案,可灵活配置
HTML
10
star
17

qrn-remax-unir-demo

JavaScript
8
star
18

libqimkit-ios-cook

Ruby
6
star
19

ourimg_open

图片素材库系统
PHP
5
star
20

qimrn

JavaScript
5
star
21

qtalk_oa_qzz

QOA系统前端页面,通过动化管理各项审批,QOA实现高效办公以及提升审批效率。
JavaScript
4
star
22

startalk_web_sdk

JavaScript
4
star
23

libqimuikit-ios

Objective-C
4
star
24

m_adr_qapm_plugin

Groovy
3
star
25

libqimcommon-ios

Objective-C
3
star
26

libqimgeneralmodule-ios

Objective-C
2
star
27

fe_qunarchat_web

提供IM咨询服务web端能力。支持发送文本、图片、表情、文件等。消息实现 客人->店铺->客服 之间的通信
JavaScript
2
star
28

fe_qwebchat_admin

webchat 前端
JavaScript
1
star
29

libqimdatabase-ios

Objective-C
1
star