共计 1324 个字符,预计需要花费 4 分钟才能阅读完成。
前言
在本系列专题之前的文章中,咱们曾经介绍了 JMeter 扩大开发的一些办法。然而在开发过程中还有一个须要解决的环节,是对编写的代码进行调试。一种形式是将开发的扩大与 JMeter 源码放在一起进行调试。然而这种办法的毛病是须要将整个 JMeter 的源码都放在工作空间,如果新开发的扩大只是一个小插件的话,这样做就会有点过于重量级。
本文将介绍另一种比拟轻量级的形式:利用 Java 近程调试(Remote Java Application)来实现对本人开发的 JMeter 扩大的调试。
过程
咱们首先回顾一下开发好的 JMeter 扩大是如何部署到 JMeter 中的:首先将扩大代码编译生成 jar 包,拷贝到 JMeter 扩大目录 $JMETER_HOME/lib/ext 上面,而后重新启动 JMeter,就会发现新退出的扩大插件。
为了反对 JMeter 的 Java 近程调试,先要批改下 JMeter 启动时的 JVM 参数。
- 用文本编辑器关上 $JMETER_HOME/bin/jmeter.sh(如果是 Windows 操作系统的话,关上 jmeter.bat);
- 在 jmeter.sh 中定位到 JMeter 启动的地位(该地位通常在最初),并在该地位之前退出一行,在指定的端口上开启近程调试性能。上面的参考配置就是在端口 12345 上开启:
JVM_ARGS="$JVM_ARGS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345"
重启 JMeter,如果配置正确的话,在 JMeter 启动的管制台上会打印出相似于上面的语句:
Listening for transport dt_socket at address: 12345
切换到开发 JMeter 扩大的 IDE 工作空间,以 Eclipse 为例,选中该扩大的我的项目,而后右键关上“调试配置(Debug Configurations)”,选中“Remote Java Application”,新建一个近程调试配置,并配置好 JMeter 运行所在的机器的 Host 和端口号,如下图所示,配置的是本地运行的 12345 端口
创立好配置后,点击上图对话框中的 Debug 按钮,而后在 Debug 透视图中能看到相似于如下截图的内容,示意曾经胜利通过端口连贯到本地 JMeter 的 JVM 上。
在代码中须要调试的地位打好断点,在 JMeter 上进行相应操作后,即可在 Eclipse 中看到相干的调试内容,如下所示:
总结
利用 Java 提供的近程调试的性能对 JMeter 扩大插件进行调试,能够比拟不便地掌控 JMeter 插件在理论运行过程中的情况,更好地帮助开发人员实现扩大的开发。不过也须要留神的是,这种形式有个毛病:每次开发中改了代码后再次调试,须要将更新后的 JMeter 扩大从新编译、打包、部署,并重启 JMeter。如果调试过程中频繁改变代码的话,这种调试形式稍显麻烦。读者可依据本人的理论状况抉择更适合的调试形式。
版权申明:本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.com/zh/blog/custom-jmeter-plug-in