JMeter源码解析之JMeter命令行新增命令
JMeter源码解析之JMeter命令行新增命令
需求描述
- 需要新增一条命令,能够在JMeter命令行中能够展示
- 输入对应的JMeter命令,能够展示对应的命令信息
查看命令效果如下:
apache-jmeter-5.1\bin>jmeter --?
Copyright © 1999-2024 The Apache Software Foundation
–?
print command line options and exit
-z, --aboutme
print developer and exit
运行命令效果如下:
apache-jmeter-5.1\bin>jmeter -z
[INFO ] 2024-09-27 16:12:36,029 JMeter.displayAboutOrg() - **********************************************
[INFO ] 2024-09-27 16:12:36,032 JMeter.displayAboutOrg() - xxxxx有限公司
[INFO ] 2024-09-27 16:12:36,034 JMeter.displayAboutOrg() - xxx中心
[INFO ] 2024-09-27 16:12:36,036 JMeter.displayAboutOrg() - xxx中心
[INFO ] 2024-09-27 16:12:36,037 JMeter.displayAboutOrg() - xxx部
[INFO ] 2024-09-27 16:12:36,038 JMeter.displayAboutOrg() - **********************************************
应用实现
第一步:找到文件\apache-jmeter-5.1\src\core\org\apache\jmeter\JMeter.java,新增一个变量如下
private static final int ABOUT_ME = 'z';private static final CLOptionDescriptor D_ABOUTME_OPT =new CLOptionDescriptor("aboutme", CLOptionDescriptor.ARGUMENT_DISALLOWED, ABOUT_ME,"print developer and exit");
第二步:在options中新增上述D_ABOUTME_OPT参数
private static final CLOptionDescriptor[] options = new CLOptionDescriptor[] {//省略中间代码D_ABOUTME_OPT,//省略中间代码};
第三步:新增一个displayAboutOrg方法
private void displayAboutOrg() {log.info("**********************************************");log.info("***********浙江大华技术股份有限公司***********");log.info("*******************研发中心*******************");log.info("*******************测试中心*******************");log.info("******************测试架构部******************");log.info("**********************************************");}
第四步:再找到如下方法,然后新增代码如下
public void start(String[] args){
//省略中间代码if (parser.getArgumentById(VERSION_OPT) != null) {displayAsciiArt();} else if (parser.getArgumentById(HELP_OPT) != null) {displayAsciiArt();System.out.println(JMeterUtils.getResourceFileAsText("org/apache/jmeter/help.txt"));//NOSONAR $NON-NLS-1$} else if (parser.getArgumentById(ABOUT_ME) != null) {displayAboutOrg();//NOSONAR $NON-NLS-1$} else if (parser.getArgumentById(OPTIONS_OPT) != null) {displayAsciiArt();System.out.println(CLUtil.describeOptions(options).toString());//NOSONAR} else if (parser.getArgumentById(SERVER_OPT) != null) {//省略中间代码
}
至此我们已经开发完成新增有一个命令
相关文章:
JMeter源码解析之JMeter命令行新增命令
JMeter源码解析之JMeter命令行新增命令 需求描述 需要新增一条命令,能够在JMeter命令行中能够展示输入对应的JMeter命令,能够展示对应的命令信息 查看命令效果如下: apache-jmeter-5.1\bin>jmeter --? Copyright © 1999-2024 The …...
YOLOv8 Windows c++推理
#添加一个**yolov8\_。onx **和/或**yolov5\_。Onnx **模型(s)到ultralytics文件夹。 #编辑**main.cpp**来改变**projectBasePath**来匹配你的用户。#请注意,默认情况下,CMake文件将尝试导入CUDA库以与opencv dnn (cuDNN) GPU推理一起使用。 #如果你的Op…...
一文读懂Python中的Popen函数
目录 1. 基本知识2. Demo 1. 基本知识 在Python中,Popen 是 subprocess 模块中的一个函数,它用于创建一个子进程并与其进行通信 subprocess.Popen():Popen 类用于创建和管理子进程 与 os.system() 或 os.popen() 相比,Popen 提供…...
07-阿里云镜像仓库
07-阿里云镜像仓库 注册阿里云 先注册一个阿里云账号:https://www.aliyun.com/ 进入容器镜像服务控制台 工作台》容器》容器服务》容器镜像服务 实例列表》个人实例 仓库管理》镜像仓库》命名空间》创建命名空间 仓库管理》镜像仓库》镜像仓库》创建镜像仓库 使…...
net core mvc 数据绑定 《2》
mvc core 模型绑定 控制绑定名称 》》》Bind 属性可以用来指定 模型应该 绑定的前缀 public class MyController : Controller {[HttpPost]public ActionResult Create([Bind(Prefix "MyModel")] Ilist<MyModel> model){// 模型绑定将尝试从请求的表单数据中…...
文件服务器FastDFS 消息队列中间件RabbitMQ
新标签页 (chinaunix.net) FastDFS - Browse Files at SourceForge.net 一、FastDFS Tracker和Storage: tracker用来管理所有的storage,只是管理服务器,负责负载均衡。 storage是存储服务器,每一个storage服务器都是一个单独的个…...
工作纪实58-Idea打jar包
有时候需要配合算法使用spark定时DP,调用java相关的jar包做数据处理 idea打jar包有以下三种场景 SpringBoot的Maven项目【Maven打包即可】非SpringBoot的Maven项目【添加maven打包参数,使用Maven打包】 借助maven的配置进行打包,新增以下配置…...
ELK-03-skywalking监控linux系统
文章目录 前言一、下载node_exporter二、启动node_exporter三、下载OpenTelemetry Collector四、启动OpenTelemetry Collector4.1 将配置文件下载到同级目录4.2 启动 五、查看总结 前言 skywalking安装完成后,开始我们的第一个监控-监控linux系统。 参考官方文档&a…...
HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13
HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13...
开源图像降噪算法与项目介绍【持续更新】
Intel Open Image Denoise 介绍:Intel Open Image Denoise(OIDN)是一个开源库,它提供了一系列高性能、高质量的去噪滤镜,专门用于光线追踪渲染的图像。这个库是Intel Rendering Toolkit的一部分,并且是在宽…...
RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用
以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比,包括参数、性能以及二次开发等支持,附带代码示例。 详细信息对比和二次开发示例 1. 英特尔 RealSense (例如 D435/D455) 深度技术:立体视觉 红外投影分辨率&a…...
启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍
启动Ntopng服务之前需要先启动redis服务,因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数: -d 将 Ntopng 进程放入后台执行。默认情况下,Ntop 在前台运行。 -u 指定启动Ntopng执行的用户,默认为…...
vector的模拟实现以及oj题(2)
前言 上篇博客介绍了大部分vector的接口,其中包括begin()、end()、const begin()、 const end()、size、capacity、reserve、empty、push_back、pop_back、insert、operator[],这篇博客将介绍剩下的部分接口,以及一些oj题解法和思路。 vect…...
数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程
随着大数据时代的到来,数据已经成为企业的核心资产之一。在过去几十年间,数据技术也随之不断演进,从早期的数据仓库到近年来热门的数据中台,再到正在快速发展的数据飞轮概念,每一步都是技术革新的体现。 一、数据仓库&…...
JAVA JDK华为云镜像下载,速度很快
直达下载地址 https://repo.huaweicloud.com/java/jdk/ https://repo.huaweicloud.com/java/jdk/欢迎各位收藏享用!!!...
【RKNN系列】官方函数:querystring
querystring 函数 功能 查询获取当前芯片平台RGA硬件版本与功能支持信息,以字符串的形式返回。 语法 std::string querystring(int query_type);参数 query_type: 要查询的 RGA 信息类型(整数) 描述 这个函数用于获取特定类型的 RGA 信…...
Stable Diffusion零基础学习
Stable Diffusion学习笔记TOP14 _插件篇之ControlNet功能篇 ControlNet目前支持的10多种预处理器,根据数据检测种类可分为两种类型: 1、功能型:拥有着不同的能力 2、构图型:控制着SD扩散图形的构图规则 部分未编写预处理器的功…...
C#基于SkiaSharp实现印章管理(9)
将印章设计模块设计的印章保存为图片并集中存放在指定文件夹内。新建印章应用项目,主要实现对图片及PDF文件加盖印章功能。本文实现给图片加盖印章功能。 给图片加盖印章的逻辑比较简单,就是将印章图片绘制到图片指定位置,使用SKControl控…...
研究生如何利用ChatGPT帮助开展日常科研工作?
小白可做!全自动AI影视解说一键成片剪辑工具https://docs.qq.com/doc/DYnl6d0FLdHp0V2ll 作为当代研究生,科研工作三部曲----读文献、开组会、数据分析。无论哪一个,都令研究生们倍感头疼,简直就是梦魇。每当看到导师发来的消息&a…...
汽车零部件开发流程关键阶段
目录 1、定点阶段 1.1、定点前的准备工作 1.2、定点决策过程 1.3、定点后的工作交接 2、A样阶段:设计验证与基本功能实现 2.1、样件制作:从设计图纸到实物转化 2.2、功能测试:初步验证与性能评估 2.3、评估与优化:A样阶段…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
