corner imagecorner image FeaturesPluginsDocs & SupportCommunityPartners

设置包含现有 Ant 脚本且要进行性能分析的项目

设置包含现有 Ant 脚本且要进行性能分析的项目(自由格式的项目)

目录:

  1. 基础
  2. 基本 "profile" 和 "profile-single" 目标示例(JDK 5.0 或更高版本)
  3. 自由格式的企业应用程序项目
  4. 高级
  5. 引用

1. 基础

对于一个自由格式的项目,您必须编写自己的 Ant 目标才能对项目进行性能分析。在自由格式项目的生成脚本中,应该编写以下两个目标:

  • 用于分析项目的目标
  • 用于分析各个文件的目标

如果将自由格式项目设置为主项目,则第一次调用“分析主项目”或“分析文件”时,系统将要求您指定要使用的现有 Ant 目标。

通常,这些目标类似于现有 "run" 目标,并包含一些其他参数。创建 Ant 目标的一种方法是:复制 "run" 目标,然后将副本重命名为 "profile" 并根据以下说明对其进行修改。

在复制 run 目标使其成为新的 profile 目标时,您需要对 profile 目标进行两处更改:

  1. 在开始位置添加对 nbprofiledirect 任务的调用。
  2. 将一个额外 JVM 参数添加到用于启动 VM 以运行应用程序的任务中。通常,可通过将类似于以下内容的子元素添加到 java 任务中来执行此操作:
    <jvmarg value="${profiler.info.jvmargs.agent}"/>

2. 基本 "profile" 和 "profile-single" 目标示例(JDK 5.0 或更高版本)

                    <target name="profile" depends="jar" description="Profile Project">
                    <fail unless="netbeans.home">此目标只能在 NetBeans IDE 内部运行。</fail>
                    
                    <nbprofiledirect>
                    <classpath> <pathelement location="... 指定 ..."/> </classpath>
                    </nbprofiledirect>
                    
                    <java ... 使用与 run 目标相同的属性...>
                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
                    </java>
                    </target>
                

要启动 Profiler 并在资源管理器中选定某个类,可以添加相同的目标并使用 classname="${profile.class}",如下所示:

                    <target name="profile" depends="jar" description="Profile File">
                    <fail unless="netbeans.home">此目标只能在 NetBeans IDE 内部运行。</fail>
                    
                    <nbprofiledirect>
                    <classpath> <pathelement location="... 指定 ..."/> </classpath>
                    </nbprofiledirect>
                    
                    <java classname="${profile.class}" ... 使用与 run 目标相同的属性 ...>
                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
                    </java>
                    </target>
                

3. 自由格式的企业应用程序项目

对于一个自由格式的企业应用程序项目,通常使用启动脚本来启动服务器,而不是直接使用 java 命令。因此,无法按上述方法使用 <jvmarg .../> 元素为其传递其他参数。要进行性能分析,您必须修改服务器的启动脚本以对其进行配置。

建议的方法是,创建新的脚本以启动服务器来进行性能分析,并在 profile 目标中使用新脚本。Profiler 连接向导可以为您创建修改的启动脚本。如果服务器不支持自动集成,则可以按照向导中提供的手动集成步骤手动创建脚本。对于以上两种情况,都需要将集成设置为“本地/直接”连接。

用于分析自由格式的企业应用程序项目的其余步骤与分析标准 J2SE 项目的步骤相同。

4. 高级

以下部分参数的使用虽然是可选的,但它们可以提高您从 IDE 中控制 Profiler 设置的能力:

  • 添加 jvm="${profiler.info.jvm}" 属性,以使用在 IDE“选项”窗口(“工具”>“选项”> "Profiler")中选择的 JDK 来启动性能分析。
  • 添加 dir="${profiler.info.dir}" 属性,以使用在 NetBeans Profiler 对话框中指定的工作目录来启动分析的应用程序。
  • 添加 <jvmarg line="${profiler.session.jvm.args}"/>,以便在 NetBeans Profiler 配置中指定定制的 JVM 参数和工作目录。如果准备使用额外的参数来优化 VM 并需要在 NetBeans Profiler 中观察这些差异,这可能会特别有用。

以下是一个完整的性能分析目标示例,您可以从 Profiler 的用户界面中控制工作目录、JVM 和 JVM 参数:

                    <target name="profile" depends="jar" description="Profile Project">
                    <fail unless="netbeans.home">此目标只能在 NetBeans IDE 内部运行。</fail>
                    
                    <nbprofiledirect>
                    <classpath> <pathelement location=" ... 指定 ..."/> </classpath>
                    </nbprofiledirect>
                    
                    <java fork="true" classname="... 指定 ..." dir="${profiler.session.working.dir}" jvm="${profiler.info.jvm}">
                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
                    <jvmarg line="${profiler.info.jvmargs}"/>
                    <classpath> <pathelement location="... 指定 ..."/> </classpath>
                    </java>
                    </target>
                

5. 引用

以下是从“分析项目”或“分析文件”菜单项中调用性能分析时设置的属性:

  • profile.class - 如果调用“分析文件”,则包含要分析的类的名称(Java 样式)
  • profiler.info.single.file - 如果使用“分析文件”,则包含要分析的类的文件名
  • profiler.info.jvm - 选定进行性能分析的 JVM 的 Java 可执行文件的路径
  • profiler.info.jvmargs - 在 IDE 中选定的 JVM 参数 - 在项目定制器中选定或在定制性能分析配置中覆盖
  • profiler.info.jvmargs.agent - 用于在 VM 中启动 Profiler 代理的 JVM 参数
  • profiler.info.agentpath - Profiler 代理的路径
  • profiler.info.project.dir - 进行性能分析的项目的项目目录
  • profiler.info.dir - NetBeans Profiler 应用程序的工作目录

 

 

 
 
loading
Please Confirm