当前位置: 首页 > news >正文

JMeter源码解析之JMeter命令行新增命令

JMeter源码解析之JMeter命令行新增命令

需求描述

  1. 需要新增一条命令,能够在JMeter命令行中能够展示
  2. 输入对应的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&#xff1a; tracker用来管理所有的storage&#xff0c;只是管理服务器&#xff0c;负责负载均衡。 storage是存储服务器&#xff0c;每一个storage服务器都是一个单独的个…...

工作纪实58-Idea打jar包

有时候需要配合算法使用spark定时DP&#xff0c;调用java相关的jar包做数据处理 idea打jar包有以下三种场景 SpringBoot的Maven项目【Maven打包即可】非SpringBoot的Maven项目【添加maven打包参数&#xff0c;使用Maven打包】 借助maven的配置进行打包&#xff0c;新增以下配置…...

ELK-03-skywalking监控linux系统

文章目录 前言一、下载node_exporter二、启动node_exporter三、下载OpenTelemetry Collector四、启动OpenTelemetry Collector4.1 将配置文件下载到同级目录4.2 启动 五、查看总结 前言 skywalking安装完成后&#xff0c;开始我们的第一个监控-监控linux系统。 参考官方文档&a…...

HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13

HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13...

开源图像降噪算法与项目介绍【持续更新】

Intel Open Image Denoise 介绍&#xff1a;Intel Open Image Denoise&#xff08;OIDN&#xff09;是一个开源库&#xff0c;它提供了一系列高性能、高质量的去噪滤镜&#xff0c;专门用于光线追踪渲染的图像。这个库是Intel Rendering Toolkit的一部分&#xff0c;并且是在宽…...

RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用

以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比&#xff0c;包括参数、性能以及二次开发等支持&#xff0c;附带代码示例。 详细信息对比和二次开发示例 1. 英特尔 RealSense (例如 D435/D455) 深度技术&#xff1a;立体视觉 红外投影分辨率&a…...

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍

启动Ntopng服务之前需要先启动redis服务&#xff0c;因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数&#xff1a; -d 将 Ntopng 进程放入后台执行。默认情况下&#xff0c;Ntop 在前台运行。 -u 指定启动Ntopng执行的用户&#xff0c;默认为…...

vector的模拟实现以及oj题(2)

前言 上篇博客介绍了大部分vector的接口&#xff0c;其中包括begin()、end()、const begin()、 const end()、size、capacity、reserve、empty、push_back、pop_back、insert、operator[]&#xff0c;这篇博客将介绍剩下的部分接口&#xff0c;以及一些oj题解法和思路。 vect…...

数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程

随着大数据时代的到来&#xff0c;数据已经成为企业的核心资产之一。在过去几十年间&#xff0c;数据技术也随之不断演进&#xff0c;从早期的数据仓库到近年来热门的数据中台&#xff0c;再到正在快速发展的数据飞轮概念&#xff0c;每一步都是技术革新的体现。 一、数据仓库&…...

JAVA JDK华为云镜像下载,速度很快

直达下载地址 https://repo.huaweicloud.com/java/jdk/ https://repo.huaweicloud.com/java/jdk/欢迎各位收藏享用&#xff01;&#xff01;&#xff01;...

【RKNN系列】官方函数:querystring

querystring 函数 功能 查询获取当前芯片平台RGA硬件版本与功能支持信息&#xff0c;以字符串的形式返回。 语法 std::string querystring(int query_type);参数 query_type: 要查询的 RGA 信息类型&#xff08;整数&#xff09; 描述 这个函数用于获取特定类型的 RGA 信…...

Stable Diffusion零基础学习

Stable Diffusion学习笔记TOP14 _插件篇之ControlNet功能篇 ControlNet目前支持的10多种预处理器&#xff0c;根据数据检测种类可分为两种类型&#xff1a; 1、功能型&#xff1a;拥有着不同的能力 2、构图型&#xff1a;控制着SD扩散图形的构图规则 部分未编写预处理器的功…...

C#基于SkiaSharp实现印章管理(9)

将印章设计模块设计的印章保存为图片并集中存放在指定文件夹内。新建印章应用项目&#xff0c;主要实现对图片及PDF文件加盖印章功能。本文实现给图片加盖印章功能。   给图片加盖印章的逻辑比较简单&#xff0c;就是将印章图片绘制到图片指定位置&#xff0c;使用SKControl控…...

研究生如何利用ChatGPT帮助开展日常科研工作?

小白可做&#xff01;全自动AI影视解说一键成片剪辑工具https://docs.qq.com/doc/DYnl6d0FLdHp0V2ll 作为当代研究生&#xff0c;科研工作三部曲----读文献、开组会、数据分析。无论哪一个&#xff0c;都令研究生们倍感头疼&#xff0c;简直就是梦魇。每当看到导师发来的消息&a…...

汽车零部件开发流程关键阶段

目录 1、定点阶段 1.1、定点前的准备工作 1.2、定点决策过程 1.3、定点后的工作交接 2、A样阶段&#xff1a;设计验证与基本功能实现 2.1、样件制作&#xff1a;从设计图纸到实物转化 2.2、功能测试&#xff1a;初步验证与性能评估 2.3、评估与优化&#xff1a;A样阶段…...

Python实战:从时序数据到ARIMA预测的完整建模指南

1. 时间序列分析与ARIMA模型入门 时间序列分析就像是一位经验丰富的老中医把脉——通过观察数据随时间变化的"脉搏"&#xff0c;我们能诊断出背后的规律并预测未来走势。ARIMA模型正是其中最经典的"听诊器"之一&#xff0c;我在处理销售预测、库存管理等项…...

基于大语言模型的强化学习奖励函数自动生成:text2reward项目实践指南

1. 项目概述&#xff1a;从文本指令到强化学习奖励的桥梁最近在折腾强化学习项目时&#xff0c;一个老问题又冒出来了&#xff1a;怎么设计一个既精确又高效的奖励函数&#xff1f;传统方法要么是工程师凭经验手写一堆规则&#xff0c;复杂场景下容易顾此失彼&#xff1b;要么依…...

终极指南:如何用开源缠论量化工具实现专业级交易可视化

终极指南&#xff1a;如何用开源缠论量化工具实现专业级交易可视化 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码&#xff0c;适用于缠论量化研究&#xff0c;和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SDK 项目…...

在Windows上安装安卓应用的终极指南:APK安装器完整使用教程

在Windows上安装安卓应用的终极指南&#xff1a;APK安装器完整使用教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想要在Windows电脑上直接运行安卓应用吗&#x…...

YOLOv8植物病害识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)

摘要 植物病害是威胁全球农业产量与质量的主要因素之一&#xff0c;传统的人工识别方法依赖专家经验&#xff0c;效率低、主观性强。本文基于YOLOv8目标检测算法&#xff0c;构建了一套涵盖30类植物及其叶片病害的检测系统&#xff0c;包括苹果、玉米、马铃薯、番茄、葡萄等主…...

md-wechat:让Markdown完美兼容微信公众号排版的工具实战

1. 项目概述&#xff1a;一个让Markdown在微信生态里“活”起来的工具如果你和我一样&#xff0c;是个重度Markdown爱好者&#xff0c;同时又需要在微信生态里频繁地分享技术文档、产品说明或者个人笔记&#xff0c;那你一定体会过那种割裂感。在Typora或VS Code里写得行云流水…...

别再手动输数据了!手把手教你用Fluent的Profile功能导入实验数据(附CSV文件模板)

别再手动输数据了&#xff01;手把手教你用Fluent的Profile功能导入实验数据&#xff08;附CSV文件模板&#xff09; 在计算流体力学&#xff08;CFD&#xff09;分析中&#xff0c;准确导入实验数据或第三方软件的计算结果作为边界条件&#xff0c;往往是确保仿真可靠性的关键…...

开源智能告警聚合路由引擎:从原理到实战部署

1. 项目概述&#xff1a;一个开源的智能告警聚合与路由引擎如果你和我一样&#xff0c;长期负责线上系统的稳定性&#xff0c;那你一定对“告警风暴”和“告警疲劳”这两个词深恶痛绝。想象一下这样的场景&#xff1a;凌晨三点&#xff0c;一个核心服务的某个实例因为网络抖动重…...

别再傻傻分不清了!数字IC面试必问的Latch与Flip-Flop,我用Verilog代码给你讲明白

数字IC面试突围&#xff1a;Latch与Flip-Flop的Verilog避坑指南 1. 从门电路到时序逻辑&#xff1a;存储单元的本质差异 在数字电路设计中&#xff0c;存储单元如同城市交通的信号灯系统。锁存器&#xff08;Latch&#xff09;就像持续亮着的红灯——只要信号有效&#xff08;电…...

基于ESP32-S3与CircuitPython的NASA小行星追踪器项目实践

1. 项目概述&#xff1a;一个会“说话”的太空瞭望台如果你对头顶那片星空既充满好奇又带有一丝敬畏&#xff0c;想知道是否有“天外来客”正悄无声息地接近我们&#xff0c;那么这个项目就是为你准备的。这不是一个简单的数据看板&#xff0c;而是一个亲手搭建的、能实时“对话…...