在做项目过程中,发现性能存在很大问题,想到了TPTP。
tptp官网:http://www.eclipse.org/tptp
=================下载,安装======================
++++++++++++++++++++++++++++++++++++++++++++++++
注意tptp的版本及eclipse的版本,JDK的版本,官网及介绍文档中均有提到
++++++++++++++++++++++++++++++++++++++++++++++++
TPTP All-in-One
建议下载这个,但是我是分别安装plugin及agentControl,所以重点讲独立安装。
TPTP Plugins for Eclipse
这个是eclipse的插件,下载完后,将包里的features和plugin中的文件分别放到你的eclipse中,然后重启就装好了
具体安装过程网上有很多,虽然tptp版本很多但是这个基本没有变化
这个插件装好以后,运行一般J2SE的项目已经没有任何问题,可以记录线程,运行时间,内存等。
Agent Controller
如果只装了tptp插件,你会发现没有办法对tomcat等服务器进行监控
当你尝试想profile时,会弹出一个dialog,让你选择monitor,但可惜是没有任何monitor!
写道
TPTP运行有两种模式, 一种是在TPTP的workbench里,一种是通过JVMPI(类似JVMDI, 远程调试的模式), 第一种需要你的项目导入到TPTP里, 第二种模式,你就可以很随意的在命令行运行你的程序,通过JVMPI(或者JVMTI)将你的JVM attach 到TPTP, 来进行调试
我其实无法准确解释AgentControl,大家可以去看文档,下载后文件夹中有一个html,介绍了具体使用,非常详细,接下去我就我的使用做个记录(相当于翻译吧)
================Agent Controller安装,配置=======================
1 从官网上下载,是个压缩包,也就是无需安装
2 设置环境路径
Set TPTP_AC_HOME=<<Agent Controller Home>>
Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%\plugins\org.eclipse.tptp.javaprofiler
Set PATH=%JAVA_PROFILER_HOME%;%TPTP_AC_HOME%\bin;%PATH%
教程上有提到在tptp4.6以上可以简单配置,但是建议这样配置,避免麻烦。
我的路径:
*JAVA_PROFILER_HOME:%TPTP_AC_HOME%plugins\org.eclipse.tptp.javaprofiler
*TPTP_AC_HOME:C:\test\agentTPTP\(我的安装路径,接下去都以这个问安装目录)
*Path:...;%JAVA_PROFILER_HOME%;%TPTP_AC_HOME%\bin;
3 运行ACServer.exe
*在C:\test\agentTPTP\bin下
*注意在教程上提到过windows vista 7下可能存在权限问题,最好就是右击,run as admin,如果出现一个cmd
窗口,什么都没有但没有消失那就是说明成功了,如果出现诸如
[java] Error occurred during initialization of VM
[java] Could not find agent library on the library path or in the local dir
ectory: JPIBootLoader
那就是路径配置错误,一闪消失,应该是权限的问题
教程上有提到如何测试是否连通,就不说了
==================AC命令,模式==============================
这部分是关键,但是由于教程实在讲得很细了,我就直接粘贴,做点注解好了
tptp对于jdk1.5之前与之后再agentControl上还是很有区别的,重点说JDK1.5后
1.agentlib:JPIBootLoader=JPIAgent[:[help]|[<option>=<value>,...]];<profiler>[:<option>=<value>,...]
这个是启动jvm时的参数,具体意义教程均有说明
server=[standalone | enabled | controlled]
standalone 独立模式,在这个模式下,eclipse是没有用的,所有参数均在命令行中,检测结束后,会有一个trace.trcxml文件,导入eclipse(file-import-profiling and logging-profiling file)后即可分析,查看(也就是说他是静态的)
The profiling agent runs in a headless mode, which means it is not possible to interact with it from the workbench. Configuration information is provided as part of the command lineand profiling data is stored in a file directly by the profiling agent. The profiling file can then be imported into the workbench at a later date.
The Java Profiling Agent is manually attached to a JVM instance and generates profiling data to an output file. The default output file is called trace.trcxml, but you can specify a different file name using the file= filename parameter. When this option is selected, the Java Profiling Agent produces an enclosing traceRoot element to form a complete and valid XML document.
enabled (This is the default.)
这个最常用,在命令行中执行后,立马到eclipse中,在profiling configuration选项卡中找到 Attach to Agent,在agent control选项卡中便可以看到正在运行的agent了。
注意,此时可以在EDIT OPTIONS中设置监控的类型等参数!
另外,需要注意的是,很多人说tptp监控tomcat等很慢,这个问题,一方面的确是tptp的 原因,但是最重要的是,他们没有设置过滤,监控了所有的包,尤其是在standalone模 式下,如果没有配置filters.txt那么所有的包都监控,机子的内存很快就会不行!
所以,一定要合适配置要监控的包,其他的全部exclude掉!
The profiling agent runs in the background of the JVM without consuming resources until it is connected to by the workbench and asked to start monitoring. Data is then streamed over the agent's data channel and consumed by the workbench. This mode allows the application to run normally, but produces no profiling data until a client attaches to the agent to give it instructions. When this option is selected, the Java Profiling Agent produces only XML fragments instead of a complete XML document.
controlled 这个和enable差不多
The profiling agent preempts the JVM from initialization (the agent is loaded but it blocks the application from running) until it is attached to from the workbench and given instructions to start monitoring by a client. That is, when the profiling agent is launched in controlled mode, it will appear to hang the JVM until asked to start monitoring and it will produce only XML fragments instead of a complete XML document.
以下是我的启动脚本,注意Xmx Xms XX:MaxPermSize这些参数试具体情况而定
写道
java -Xmx1G -Xms512M -XX:MaxPermSize=512M -agentlib:JPIBootLoader=JPIAgent:server=standalone,filters=filters.txt;CGProf -classpath C:\test\liferay-portal-6.0.5\tomcat-6.0.26\bin\bootstrap.jar -Dcatalina.home=C:\test\liferay-portal-6.0.5\tomcat-6.0.26 -Dcatalina.base=C:\test\liferay-portal-6.0.5\tomcat-6.0.26 org.apache.catalina.startup.Bootstrap -config C:\test\liferay-portal-6.0.5\tomcat-6.0.26\conf\server.xml start
filters.txt
com.company.* * INCLUDE
org.springframework.* * EXCLUDE
* * EXCLUDE
分享到:
相关推荐
通过以上步骤,我们便可以在Eclipse环境中搭建起一个具备完整性能监控能力的开发平台,利用TPTP对运行在Tomcat上的Java应用程序进行全面的性能测试和调优。这对于提升应用的运行效率、减少资源消耗、提高用户体验等...
在学习这个教程时,你将逐步掌握如何在Eclipse中安装TPTP插件,创建和运行测试用例,监控程序性能,以及如何利用其丰富的调试和故障诊断工具。此外,你还将了解到如何使用TPTP进行性能测试,如何解读测试结果,以及...
TPTP涵盖了从软件开发的早期测试到生产环境中的应用程序监控的整个生命周期,确保了高质量的软件开发流程。以下是TPTP的详细介绍: 1. **TPTP简介** TPTP的核心目标是提供一个统一的平台,支持测试、性能监控、...
eclipse tptp THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE ...
在TPTP Web TEST中,用户可以创建四种类型的断言: 1. **文本断言**:检查页面上是否存在特定的文本字符串。这适用于简单的文本匹配场景,例如确认按钮上的文字或页面标题。 2. **正则表达式断言**:允许更复杂的...
可以进行程序执行时间的统计分析、内存的监控、对象调用的分析等。环境本次用的tptp版本是4.4.0.2是当时比较稳定的版本,再多说一句,本想下载tptp的4.4.1但是下载所有eclipse官方所有依赖的插件运行后一直都启动不了...
3. **监控工具**:除了静态分析之外,TPTP还支持实时监控应用程序的运行状态,这对于快速定位问题和维护系统稳定性非常重要。 #### 三、TPTP的组成部分 - **TPTP Core**:这是整个TPTP的基础,包含了用于UI开发、...
TPTP平台作为一款集测试、性能分析和监控于一体的综合性工具平台,对于提高软件质量和稳定性具有重要作用。通过对上述内容的详细介绍,我们可以了解到TPTP不仅提供了一系列实用的功能模块,而且具备良好的可扩展性,...
tftp安装包,下载了即可安装!!!!!!!!!!!!!!!!!!!!!!!!!!
理论验证 ======================================== Java的一阶定理证明者在Java中的实现,而没有符号通过给定子句la Otter和àla E的基于循环的有序解析来解释。 用户可以选择几种类型的排序和分辨率。...
2. **Profiling and Logging Perspective**:这是一种专门针对性能分析和日志记录的工作视图,它提供了一个集中的环境,开发者可以在这个环境中观察应用程序的性能数据和日志信息。 3. **Launch and Attach**:用户...
- 性能分析:TPTP插件结合emf-sdo-xsd-SDK,可以对SDO数据流进行性能监控和调优。 总结,"emf-sdo-xsd-SDK-2.3.2.zip"是Eclipse插件开发中的重要工具,它为TPTP提供了SDO支持,增强了Eclipse在模型驱动开发和性能...
在计算机科学和信息技术领域,十六进制(Hexadecimal)是一种常用的数字表示法,它使用16个符号来表示数值,这些符号包括0-9的阿拉伯数字和A-F的字母(A代表10,B代表11,C代表12,D代表13,E代表14,F代表15)。...
这个项目致力于整合来自其他Eclipse项目的通用Linux工具,比如CDT项目将被用于编译和调试,TPTP(Test & Performance Tools Platform)项目将用于跟踪和监控框架,DSDP(Device Software Development Platform)/TM...