logparser - 我可以将 logparser extract_token 与在带引号的字符串中忽略该分隔符的分隔符一起使用吗
问题描述
我正在尝试使用 logparser 快速获取 JMeter 测试结果的数字。当我对此运行 logparser 时,我看到一条警告“警告:未指定输入格式 - 使用 TEXTLINE 输入格式。 ”
这是该文件的开头(请注意,第一个 responseMessage 结果在引用的字符串中:“WEB TEST health-check, security, profile”,标签也有很多次):
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1602685052336,190,Authenticatie,200,OK,"WEB TEST health-check, security, profile",text,true,,10477,2486,2,4,https://test.tst.com/wui/test?637382890526559730,147,0,42
我命令按“responseCode”对它们进行分组,并通过 responseCode 得到一个计数,我认为我需要使用 extract_token 函数:EXTRACT_TOKEN( argument <STRING>, index <INTEGER> [ , separator <STRING> ] )
目前我尝试这样的事情:
logparser -o:csv "SELECT extract_token(text, 3, ',') as responseCode, count(*) INTO counts.TXT FROM JMeter_test3.txt GROUP BY responseCode"
我在 extract_token 中使用逗号分隔符,但这也打破了逗号,例如“WEB TEST 健康检查,安全性,配置文件”有什么方法可以让 Logparser 忽略引号字符串中的逗号?
解决方案
oooo --- 没关系...原来我不应该在 JMeter 中使用文本行格式。应该通过“未指定警告输入格式”知道这一点
只需将文件保存为 *.csv 文件,(或指定 -i:csv),然后
logparser -o:csv "SELECT responseCode, count(*) INTO counts.TXT FROM JMeter_test3.txt GROUP BY responseCode"
推荐阅读
- python - python不连接mysql。pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")
- python - Spyder,在 python 2 和 3 之间切换
- java - setCellFactory 覆盖 updateItem 并换行
- javascript - 在网页中运行 Python 脚本
- python - 如何在 Sublime Text 3 中运行 Python 时删除输出缓冲
- c# - 使用静态仅获取属性线程安全?
- django - Django/Python:如何遍历字典中的列表以进行迁移/迁移数据
- c++ - 如何在构造函数之后设置引用?
- javascript - 发送前检查 Axios 请求 url
- c++ - 基于范围的忽略元素的for循环