首页 > 解决方案 > 我可以将 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 忽略引号字符串中的逗号?

标签: logparser

解决方案


oooo --- 没关系...原来我不应该在 JMeter 中使用文本行格式。应该通过“未指定警告输入格式”知道这一点

只需将文件保存为 *.csv 文件,(或指定 -i:csv),然后

logparser -o:csv "SELECT responseCode, count(*) INTO counts.TXT FROM JMeter_test3.txt GROUP BY responseCode"

推荐阅读