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样阶段…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
echarts使用graphic强行给图增加一个边框(边框根据自己的图形大小设置)- 适用于无法使用dom的样式
pdf-lib https://blog.csdn.net/Shi_haoliu/article/details/148157624?spm1001.2014.3001.5501 为了完成在pdf中导出echarts图,如果边框加在dom上面,pdf-lib导出svg的时候并不会导出边框,所以只能在echarts图上面加边框 grid的边框是在图里…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...
GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...
渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...
