Bistoury

Java 应用诊断工具
授权协议 GPL-3.0
开发语言 Java Perl JavaScript HTML/CSS SHELL
所属分类 开发工具、 程序调试工具
软件类型 开源软件
地区 国产
投 递 者 庾勇军
操作系统 跨平台
开源组织 去哪儿网
适用人群 未知
 软件概览

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等等。

 

  • 有了前面几篇文章介绍的ffmpeg抓帧与opengl显示,就可以播放视频了,本篇主要介绍视频帧的播放与调度。 帧缓存队列 在播发器的开发过程中,虽然ffmpeg抓出来的不管是音频还是视频,都是统一用avframe来存储数据,并且播放顺序上也是按顺序的,但如果直接用一个线程既播放音频又播放视频,效果会很不好,会出现明显的卡顿,所以需要分发,将音频和视频分别放在各自的队列中使用各自单独的线程进行播放,

  • 第一步:创建MySQL数据库bistoury,并导入script/schema.sql script/data.sql 两个脚本。在导入data.sql之前,需要先配置一下如下三个变量 set @local_ip="127.0.0.1"; set @local_host="localhost"; set @log_dir="/D/CACHE/ruoyi/logs"; 第二步:执行构建脚本 scr

  • gzzd 故障诊断介绍 java应用故障诊断工具预研 demo ,基于开源项目bistoury修改,99.999%代码保持一致,原项目明显是为多节点大集群设计,对于小集群来说配置和调试略复杂。 改动的目的是简化少量节点和服务时开发和部署,支持kubernetes集群部署。 故障诊断工具的使用场景是定位解决一些极端情况下的问题,作为传统策略无法分析故障时的诊断工具,我们并不追求日常场景下的高频使用,

  • 安装文档 https://github.com/qunarcorp/bistoury 应用重启后,进程id变了怎么办? 1.取到进程号输入到一个文件中,并加入crontab定时任务 netstat -lpn |grep 9503 |grep -v grep|grep -v kill|awk '{print $7}' |cut -d/ -f1 > /opt/note.txt 2. 检测这个文件内容有

  • IDE快速启动Bistoury Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案,本文介绍如何通过IDE里面直接启动各个组件,github地址:https://github.com/qunarcorp/bistoury 前提准备 JDK1.7或1.8 MySQL数据库 ZooKeeper 在以上各项条件满足之后,需要在MySQL中创建名为bistoury的数据库

  • 编码推流 Created with Raphaël 2.1.0 Start 相机采集/文件采集 YUV 编码(openh264/x264/ffmpeg) h.264 NALU 增加 flv header flv 封装成RTMP流 发送给服务器 h.264分为VCL和NAL,对每个NAL单元(NALU)增加 flv Header 解码收流 ffmpeg 自带RTMP网络流解析,与播放器用法一致 直播

  • bistoury   DROP TABLE IF EXISTS bistoury_app; CREATE TABLE bistoury_app ( id INT UNSIGNED auto_increment PRIMARY KEY, code VARCHAR(50) DEFAULT '' NOT NULL COMMENT '应用代号', name VARCHAR(50) DEFAULT '' N

  • 本人从事视频处理相关方面的研发工作,在这一领域探索的过程中是极富有乐趣的。video bistoury(视频手刀) 是一款基于ffmpeg、opengl、qt开发的跨平台桌面软件,我对此寄予了很高的期待,它是我对视频处理相关技术的集大成者,更是一款供专业人士分析音视频、图像的工具,包括ffmpeg播放器、opengl特效渲染、网络直播、WebRTC视频通话等。 VideoBistoury这一套技术

  • 网上大多数文章介绍使用SDL或者系统窗口显示ffmpeg抓取的帧,忽略了opengl在视频特效处理的重要性,本篇介绍用opengl做最简单的图片显示,为后期视频特效渲染提供支持。 VideoBistoury使用QT中的opengl来开发 ,由于Opengl API 无论在android、qt还是ios上都相差无几,本篇对于在QT如何配置使用opengl及相关资源管理不做主要介绍,读者有兴趣可以自行

  • ffmpeg作为视频编解码的基石,其重要性不言而喻,本篇介绍ffmpeg在VideoBistoury中的封装结构。 ffmpeg_frame 通过ffmpeg_frame 统一管理解码后的音频帧、视频帧 class FFrame{ public: BYTE *data; bool hasVideo = false; bool hasAudio = false; i

 相关资料
  • 介绍 ping的工作原理很简单,一台网络设备发送请求等待另一网络设备的回复,并记录下发送时间。接收到回复之后,就可以计算报文传输时间了。只要接收到回复就表示连接是正常的。耗费的时间喻示了路径长度。重复请求响应的一致性也表明了连接质量的可靠性。因此,ping回答了两个基本的问题:是否有连接?连接的质量如何?本文主要讨论这两个问题。 更多信息 正常的ping操作主要是两个特定的ICMP消息,ECHO_

  • 如何识别 Photoshop 增效工具问题并进行故障诊断。 注意:在下面的内容中,位于文本旁边的 图标表示 Photoshop CC 2015.5 版本的新信息。 由于增效工具存在缺陷或不兼容而导致的问题概述 如果您遇到以下任何问题,原因可能是增效工具存在缺陷或不兼容: 错误:“无法载入 [增效工具名称] 模块,因为它不能与此版本的 Photoshop 一起使用。” “保存”或“另存为”对话框中缺

  • 如果 Flarum 无法安装或者是没有按照预期运行,第一件需要做的事情就是再次检查你的环境是否达到了系统要求。如果你缺失部分 Flarum 的依赖项(例如 PHP 的 fileinfo 扩展),你将需要先处理这些问题。 接下来,你应该花上几分钟在支持论坛和问题追踪器内检索。有可能有人已经汇报了这个问题,或者解决方案正在讨论,或者已经有解决方案。在检索过后,如果你仍然没有发现关于这个问题的信息的话,

  • Composer默认使用Winston日志记录模块,并使用Config模块查找任何配置信息。如果没有找到,那么将使用一组默认值。 如果没有设置配置文件,配置模块会写出警告。例如。WARNING: No configurations found in configuration directory。如果您对默认值感到满意,并且不希望在应用程序中使用配置,则可以使用环境变量来抑制这种情况。在这里查看更

  • 什么是抓取诊断 抓取诊断工具,可以让站长从百度蜘蛛的视角查看抓取内容,自助诊断百度蜘蛛看到的内容,和预期是否一致。每个站点每周可使用70次,抓取结果只展现百度蜘蛛可见的前200KB内容。 抓取诊断工具能做什么 目前抓取诊断工具有如下作用: 1、诊断抓取内容是否符合预期,譬如很多商品详情页面,价格信息是通过JavaScript输出的,对百度蜘蛛不友好,价格信息较难在搜索中应用。问题修正后,可用诊断工

  • 嗨,这里有一个概要用例。我有一个在JavaFX Scene Builder中开发的看似有效的FXML文件。到目前为止,它是一个非常重要的XML块,并且在FXML文件的某个地方存在运行时加载错误。场景构建器与预览选项工作良好。我有一个'simple.FXML'文件,用来验证控制器是否按照预期工作,即相同的控件和事件,但没有额外的FXML布局。我已经并且我正在执行cut-out-code And te

  • 本文对 TiDB 集群在使用中遇到的常见问题及故障提供诊断及处理说明。 各类故障诊断 参阅 TiDB 集群故障诊断常见问题及其他内容。

  • 我们的产品有几个复杂的存储过程,它们利用(MSSQLS2008R2/2012)CTE和/或临时表/表变量来计算菜单或级联权限结构,以便使用系统。 我们通过SQL事件探查器注意到,有时过程可能需要比正常情况多几个数量级的时间才能返回。我们想知道采取行动的最佳原因,以便收集信息来确定什么是阻塞/争用。一个很好的例子是一个存储过程,如果我在query analyser中手动运行它,它需要222毫秒来运行