`
ayufox
  • 浏览: 276986 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

BlackStar功能预览

阅读更多

1.什么是BlackStar
     BlackStar将是一个高性能的JVM监控、性能监控和剖析的程序,目前BlackStar 具备如下功能:

  • 自动发现JVM:通过定期扫描,自动识别同一台服务器上的所有JVM实例
  • JMX Proxy/JConsole接入的功能:支持在不重启应用JVM、并且只有一个JMX端口,访问同一台服务器上多个JVM的JMX服务,同时支持JConsole的接入,计划在后期阶段使用web界面实现JConsole的所有功能
  • JVM数据定时采集功能:支持对同一服务器上的多个JVM定期进行数据采集,初期阶段提供包括CPU、PermSpace、TenuredSpace、Thread的采集数据,数据采集将使用可扩展的结构,后续将加上Tomcat数据采集,包括线程信息、请求排队等等。
  • JVM实时数据功能:通过Web界面提供JConsole没有提供的JVM实时数据,譬如一个JVM所有线程占用CPU情况
  • 高性能的性能数据采集和分析功能:使用Java Instrutment技术,在不对应用做任何修改的情况下,通过正则表达式配置,采集感兴趣的应用代码(譬如DAO、服务、调用外部服务等)的执行情况。将使用各种手段优化以保证采集器本身的高性能,以保证采集器可以在生产环境下与应用代码一起工作(目前的性能情况是200万次采集,平均每次采集大概5微妙左右,即20万次采集大概需要1秒时间)。后续将增加web访问的性能采集。

2.第一版本的结构和主要技术
2.1结构
 
     如上,

  • MonitorAgent是一个独立运行的程序,其自动识别同服务器上的业务JVM,PerfromanceAgent以JavaAgent的方式运行,如果需要进行数据采集和性能分析,则需要修改业务JVM的启动参数,PerformanceAgent将收集的性能数据记录到文件中
  • PerformanceStat是运行在MonitorAgent之上的一个插件,每天定时统计PerformanceAgent产生的性能数据
  • JVMMonitor是运行在MonitorAgent之上的一个插件,每分钟采集业务JVM的JVM数据
  • JMX Proxy提供了对本机所有JVM的JMX代理功能,JConsole可以通过该Proxy访问业务JVM的JMX服务
  • UI提供了对相应功能的界面,包括性能统计结果、JVM定期采集结果、JVM实时采集结果等

       此结构的缺点是当我们有多个业务服务器的时候,数据和功能比较分散,后续将支持统一的Portal对所有MonitorAgent进行统一管理,同时支持统一的采集数据中心汇集各应用服务器上的采集数据
2.2主要技术说明
2.2.1性能采集部分

2.2.2JVM监控部分

  • Java Management API:我们将使用JVM提供的Java Management API对业务JVM进行性能数据的采集,具体参见<<[Java性能剖析]JVM Management API >>
  • Sun Attach API:我们将使用Sun Attach API来自动识别业务JVM及动态启动业务JVM的JMX Service,具体参见<<[Java性能剖析]Sun JVM Attach API >>
  • JMX和MX4J JMX Proxy:JVM使用JMX的方式提供Java Management API,此外,我们可以使用JMX技术扩展管理页面提供更多的数据被采集,譬如采集Tomcat相关的数据等。此外,我们这里使用MX4J的JMX Proxy支持将业务JVM被远程性能分析器连接

3.功能预览
3.1JMX Proxy功能预览
3.1.1JConsole使用hessian协议访问远程服务JVM
 
3.1.2远程服务器两个JVM实例,注意连接使用同一个端口
 
3.2 定期采集数据功能预览
3.2.1UI功能首页,注意看,与JMXProxy使用的端口也是一样的,一个端口多个用途
 
3.2.2进入jforum JVM的Monitor功能,可以看到多天的采集数据

3.2.3进入20100627,我们看到采集了cpu,thread,PermSpace,TenuredSpace
 
3.2.4看看cpu情况,会与前一天做对比(忽略如下图中cpu为负值的情况,报表js本身功能的问题)
 
3.3实时采集数据功能预览
3.3.1我们看看jforum的线程情况,包括每个线程占该JVM的总CPU的百分比(如果应用CPU居高不下,可以通过这个看可能是哪个线程有问题),还提供Stack和DeadLock Detect,由于这是JConsole也有的功能,就不多介绍
 
3.3.2看看线程的CPU情况(注意,是实时采集的,因此没有历史数据可以看)

3.4.性能采集数据功能预览
3.4.1我们看看jforum的运行性能数据情况

3.4.2看看simple-20100627(哪些类的哪些方法数据会被采集是可以配置的)

4.BlackStar项目情况介绍
4.1开发人员:raywoo(ayufox@gmail.com)
4.2Code license: Apache License 2.0
4.3近期发布计划:

  • V0.5版本:包括如上的所有功能,目前主体已经开发完成,预计7月底可以发布
  • V0.6-V0.8的版本:提供Tomcat相关数据采集集成(譬如线程数据、Session数据、请求数据等)、Web请求数据集成(譬如基于URI的访问次数、访问时间、失败次数等等),预计9月底发布

 

2
0
分享到:
评论

相关推荐

    Black_Star_Premium_pr1frfav.zip_Black Star_Dax Tools_scalp_sichu

    【标题】"Black_Star_Premium_pr1frfav.zip_Black Star Dax Tools scalp_sichu" 提供的信息是关于一个名为 "Black Star Dax Tools" 的交易工具包,特别适用于"scalp"策略,即短期高频交易,针对的是德国30指数(DE30...

    Blackstar EM-MWD在煤层气水平井中的应用

    常规的电磁波无线随钻仪能够传送的信号参数有井斜、方位、工具面、磁场强度、重力和温度等,而美国BlackStar EM-MWD电磁波无线随钻仪除了可以测量上述参数之外,还可以测得高边伽马、低边伽马,这两个值对于判断煤层顶...

    LBS^2 blackstar

    【描述】虽然描述内容"LB^2 blackstar"与标题相同,但我们可以推测这可能是一个专为基于位置的应用或网站设计的网页模板,它可能包含了响应式布局、地图集成、定位功能、数据可视化等特性,旨在帮助开发者快速创建出...

    BLACK STAR.apk.1

    BLACK STAR.apk.1

    BlackStar电磁波无线随钻测斜仪应用分析.pdf

    BlackStar电磁波无线随钻测斜仪是一种先进的钻井测量技术,由美国NOV公司研发。该技术在中石化胜利油田钻井工程技术公司的应用中取得了显著成果,尤其在墨西哥EBAN O区块的欠平衡水平井施工中表现出色。相较于传统的...

    C#实现打印和打印预览功能

    在C#编程中,实现打印和打印预览功能是常见的需求,尤其是在开发桌面应用程序时。这一功能使得用户能够将程序中的数据或者报表输出到物理打印机或者进行预览,以检查打印效果。以下将详细介绍如何使用C#来实现这些...

    C#实现打印与打印预览功能

    ### C# 实现打印与打印预览功能详解 #### 一、引言 在Windows应用程序开发中,文档的打印功能是非常重要的一项需求。以往,这项工作往往比较复杂且难以实现。随着.NET Framework的发展,Microsoft提供了丰富的打印...

    C# 代码打印和预览功能的实现

    在C#编程中,实现打印和预览功能是常见的需求,尤其在开发桌面应用程序时,如报表、文档处理等场景。下面将详细讲解如何利用C#来实现这一功能。 首先,我们要了解C#中用于打印的基本类:`System.Drawing.Printing`...

    打印及打印预览 c#Window

    在C#编程环境中,打印和打印预览是两个重要的功能,尤其在开发Windows应用程序时,它们经常被用于处理文档输出。下面将详细讲解这两个概念及其在C#中的实现。 一、打印预览 打印预览是用户在实际打印之前查看文档...

    VB打印预览实例.rar

    在VB(Visual Basic)编程环境中,打印预览是一项重要的功能,它允许用户在实际打印之前查看文档的布局和样式。这个“VB打印预览实例.rar”压缩包提供了一个方便、简洁的打印预览界面,可以帮助开发者更好地实现这一...

    Blackstar:BlackStar是Roblox所有标志和检查的一系列绕过。 计划进行绕过的步骤包括memcheck,retcheck,hookcheck,FindWindowA,禁用日志,心跳和VEH

    黑星BlackStar是Roblox的所有标志和检查的一系列绕过步骤,以及详细而严格的解释,以帮助学习而不是用勺子喂食。 计划进行绕过的步骤包括memcheck,retcheck,hookcheck,FindWindowA,禁用日志,心跳和VEH。 Black...

    C#打印预览和打印datagridview

    根据给定的信息,本文将详细解释如何在C#中实现DataGridView的打印预览与实际打印功能。这包括了创建一个自定义的`GridPrinter`类来处理打印逻辑、设置打印文档以及显示打印对话框等内容。 ### 一、理解打印过程 ...

    c# 教你打印和预览

    在C#编程中,打印和预览功能是应用程序开发中不可或缺的部分,特别是在处理报表、文档或任何需要物理输出的场景。本教程将深入探讨如何利用C#实现这一目标,主要涉及Windows Forms应用程序。 首先,我们需要了解...

    blackstar-baba#how-2-use-thingsboard#规则引擎1

    (修改消息中key为temp的值为15.36),点击勾进行保存节点修改后,必须点击右下角勾进行规则链的保存节点删除点击面板中的节点消息变换,点击节点右上角x按钮

    vb.net 打印及打印预览

    在VB.NET中,打印和打印预览是程序开发中常见的功能,特别是在开发企业级应用或者报表系统时。本文将深入探讨这两个概念,并提供相关的源码示例。 首先,让我们了解VB.NET中的打印基础。在.NET Framework中,`...

    实例:c#实现打印预览

    在C#编程中,打印和打印预览是常见的功能需求,尤其在开发桌面应用程序时。本文将详细讲解如何使用C#实现打印预览,并通过实际的源代码示例进行解析。 首先,我们要引入.NET框架中的System.Drawing和System.Windows...

    C#使用控件调用打印机实现打印预览、打印

    总之,C#提供了强大的打印支持,通过合理使用PrintDocument、PrintPreviewDialog和PrintDialog等控件,开发者可以轻松实现打印预览和打印功能。对于更复杂的打印需求,如多页、多文档的打印,可以进一步研究.NET ...

    net使用printpreviewcontrol打印预览

    在.NET框架中,`PrintPreviewControl`是Windows Forms应用程序中用于提供打印预览功能的关键组件。这个控件允许用户在实际打印之前查看文档的外观,提供了丰富的自定义选项和灵活性,使得开发者能够根据具体需求调整...

Global site tag (gtag.js) - Google Analytics