`
Mojarra
  • 浏览: 128873 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

uProfiler使用指南

阅读更多

介:

uProfiler Community是面向主题的一种JVM监控工具,它通过JVMTIbytecode技术,在JVM运行期间把相关的bytecode精确的注入到当JVM所载入class字节合适的地方,不修改原class文件,从而达到监控JVM的目的。完整的uProfiler Community版本有两大部分组成,其整体结构如下图

其中,AgentclassJVM执行之前,通过JVMTI来拦截被载入的class,分析其bytecode指令,对符合我们感兴趣的bytecode指令附近,插入收集bytecode指令,并且启动一个MXBean,以JMX接口的形势,供外部调用。目前,uProfiler Community版本只支持JMX远程方式调用,因此,启动JVM的时候,需要启动JMX服务,才能让client收集到。未来的后续版本中会引入及时启动Agent的功能。

uProfiler Client通过调用JMX接口,定期收集主题元数据,经过一定的加工,以图形化、表格化的方式显示 出来。

Agent在启动的过程中,会读取Agent Config文件,这个文件中指定了Agent感兴趣的内容所在的class范围。

 

配置:

Agent Config文件主要有6个配置项,但目前使用的只有前4项,默认情况下,只要配置qualified.name这项即可,详细的配置如下,发行版本的example工程里有agent.properties这个文件,供参考。

 

### uAgent在扫瞄类名的过程中,发现类名以qualified.name开头,才注入字节码,
### qualified.name既可以是一个package的名字,也可以是一个类的全名,
### 若有多个qualified.name,逗号分割
qualified.name=net.sf.fastupload.multipart.resolver.mvc

### 打印每次收集信息,默认不打印,打印收集信息对线上的APP有一定的性能影响
verbose=false

### 调试模式,打印出扫瞄类和字节码注入的信息,并且把注入了字节码的类写入文件系统,
### 这些文件位于启动java进程的目录下的dump文件夹内
debug=false

### 当一个方法中调用了其他类的函数时,是否收集这些函数的执行时间。默认情况下,是不收集的,
### 如果此项配置为true, 仍然检查被调用的函数名是否以qualified.name开头
drill.through.method=true

启动:

 

使用uProfiler Agent时,需要为JVM增加几个启动参数,指定agentJMX服务配置,对于对立的java app而言,其命令如下,

java -javaagent:/path/to/uAgent-1.0.0.jar -Dagent.config=/path/to/agent.properties \
-Dcom.sun.management.jmxremote.port=9999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.local.only=false \
 -Dcom.sun.management.jmxremote.ssl=false  your.main.class

 

对于web app而言,以tomcat为例,则首先要设置JAVA_OPTS这个shell环境变量,

$ export JAVA_OPTS=”-javaagent:/path/to/uAgent-1.0.0.jar -Dagent.config=/path/to/agent.properties -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false 
 -Dcom.sun.management.jmxremote.ssl=false”

### in tomcat home directory
$ bin/startup.sh

 

启动uProfiler Agent后,使用uProfiler Client连接到9999 JMX远程端口,观察结果。client的使用方法清参考http://www.oschina.net/p/uprofiler

 

@仪山湖

 

分享到:
评论

相关推荐

    uprofiler:[不再进行维护] PHP的轻量级探查器(基于facebookxhprof)-改用Blackfire

    它报告功能级别的调用计数以及包含性和排他性指标,例如挂墙(经过)时间,CPU时间和内存使用情况。 调用者或被调用者可以细分功能的配置文件。 原始数据收集组件在C中作为名为uprofilerPHP Zend扩展uprofiler 。 ...

    xhgui-branch:uprofiler UI,xhprof UI,tideways UI,PHP非侵入式性能监控平台

    最新 新版本已开发完成,做了如下改进: :rainbow:支持本地Sqlite存储,也支持MySQL和MongoDB存储。 :globe_showing_Europe-Africa:国际化,支持英语/简体中文...获取大量信息PHP扩展很多,可以使用uprofiler,tide

    xhgui, 在MongoDB上,构建XHProf数据的图形界面.zip

    xhgui, 在MongoDB上,构建XHProf数据的图形界面 xhgui基于MongoDB的XHProf数据...这里工具需要安装 XHProf 或者它的一个 fork Uprofiler 。 Tideways 。 XHProf是一个用于记录和提供分析数据的PHP扩展。 XHGui ( 这里

    yii2-debug-profiler:yii2 调试工具栏中添加了基于 xhprofuprofiler 的分析

    yii2-debug-profiler yii2 调试工具栏中添加了基于 xhprof/uprofiler 的分析

    node-v0.11.6-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v0.10.46-linux-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    计二 王顺.zip

    计二 王顺.zip

    qbittorrent_4.6.4_lt20_qt6_x64_setup.exe

    qbittorrent_4.6.4_lt20_qt6_x64_setup

    课设毕设基于SSM的美食推荐管理系统-LW+PPT+源码可运行.zip

    课设毕设基于SSM的美食推荐管理系统--LW+PPT+源码可运行

    node-v0.11.13-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于yolov5+SlowFast+pyqt5的人体动作识别项目源码+使用说明(毕业设计).zip

    基于yolov5+SlowFast+pyqt5的人体动作识别项目源码+使用说明(毕业设计).zip该项目是个人毕设项目源码,评审分达到97分,都经过严格调试,确保可以运行!放心下载使用。该项目资源主要针对计算机相关专业的学生或从业者下载使用,也可作为期末课程设计、课程大作业、毕业设计等。 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 基于yolov5+SlowFast+pyqt5的人体动作识别项目源码+使用说明(毕业设计).zip该项目是个人毕设项目源码,评审分达到97分,都经过严格调试,确保可以运行!放心下载使用。该项目资源主要针对计算机相关专业的学生或从业者下载使用,也可作为期末课程设计、课程大作业、毕业设计等。基于yolov5+SlowFast+pyqt5的人体动作识别项目源码

    【毕业设计】基于yolov9 ncnn模型部署到android源码+模型+项目说明.zip

    高分毕业设计源码 基于YOLO的毕业选题设计的程序源码,适用与计算机与软件工程毕业设计选题

    node-v0.12.17-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于Qt的简单学生管理系统

    简单的学生管理系统,主要使用的Qt框架,数据库使用的Mysql,包含增删改查,排序等功能

    nodejs-ia32-0.10.13.tgz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    wx078上门维修系统-springboot+vue+uniapp-小程序.zip(可运行源码+sql文件+文档)

    根据本系统的基本设计思路,本系统在设计方面前台采用了java技术等进行基本的页面设计,后台数据库采用MySQL。本系统的实现为上门维修系统的运行打下了基础,为上门维修提供良好的条件。 最后我们通过需求分析、测试调整,与上门维修的实际需求相结合,设计实现了基于微信小程序的上门维修系统。 本课题要求实现优质的上门维修系统,就一定要包含有前台页面和后端数据库、服务器相联系,从而实现系统的功能运转。系统分为前台用户模块、维修员模块和管理员模块三部分;(1)、用户进入系统可以实现首页,广告信息,新闻资讯,我的,在我的页面可以对维修信息,维修记录,评价信息,我的收藏管理进行管理。(2)、维修员进入系统可以实现首页,广告信息,新闻资讯,我的,在我的页面可以对维修信息,维修记录,评价信息等进行管理。(3)、管理员主要包括系统首页,个人中心,用户管理,维修员管理,维修信息管理,维修记录管理,评价信息管理,广告信息管理,系统管理等有关功能进行管理。 关键词:上门维修;java;MySQL数据库

    node-v0.1.94.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Optimizer-16.4.exe

    Optimizer-16.4

    毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip

    毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业,项目都经过严格调试,确保可以运行! 毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学习安全聚合系统python源码.zip毕设项目基于同态加密的联邦学

    【课程设计】基于python实现三维重建算法SFM源码.zip

    【课程设计】基于python实现三维重建算法SFM源码.zip

Global site tag (gtag.js) - Google Analytics