JMeter Websockets测试报告生成器显示起始日期为1970年求助
解决JMeter Websocket测试仪表盘起始日期显示为1970/01/01的思路
仅Websocket场景出现起始日期异常、HTTP测试正常,说明问题和Websocket采样器的时间戳处理逻辑相关,而非通用配置问题,可从以下方向排查:
1. 检查Websocket采样的时间戳输出
- 打开测试生成的CSV结果文件,确认Websocket采样行的
timeStamp列是否为有效毫秒级时间戳(如1722451200000这类数值)。如果该字段值为0或空,仪表盘会默认显示Unix纪元起始时间(1970年)。 - 对比HTTP采样和Websocket采样的CSV行,看
timeStamp字段的格式、数值是否一致,定位是否是Websocket采样器未正确写入时间戳。
2. 修正配置文件的错误与不合理项
- 你的配置中
jmeter.reportgenerator.start_date=${STARTETIME)}存在语法错误:变量闭合符号应为},而非)},正确写法是${STARTETIME}(若该变量确实存在)。更推荐让仪表盘自动从结果文件读取起始时间,建议直接注释掉这行手动指定的配置。 - 仪表盘要求时间戳以毫秒格式存储,你当前启用的
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS是可读文本格式,会导致仪表盘无法解析时间戳。需调整为:
jmeter.save.saveservice.time=true # 注释可读格式,启用仪表盘要求的毫秒格式 # jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS jmeter.save.saveservice.timestamp_format=ms # 注释手动指定起始日期的配置,由仪表盘自动计算 # jmeter.reportgenerator.start_date=${STARTETIME} jmeter.save.saveservice.output_format=csv jmeter.save.saveservice.sample_count=true jmeter.save.saveservice.thread_counts=true
3. 验证Websocket插件版本兼容性
- 检查Peter Doornbosch的Websocket采样器版本与当前JMeter版本是否兼容。旧版本插件可能存在时间戳写入的bug,可通过JMeter插件管理器将Websocket Samplers by Peter Doornbosch升级到最新兼容版本。
4. 检查测试计划中的时间变量有效性
- 若尝试使用
${TESTSTART.MS}这类变量指定起始日期,需确认变量是否在测试启动时正确生成。可添加Debug Sampler查看变量值,若变量为空或非有效毫秒时间戳,手动指定的起始日期自然无效。
5. 确认结果文件完整性
- 检查CSV结果文件是否损坏,Websocket采样的行是否完整包含
timeStamp字段。如果结果文件中Websocket采样的时间戳字段缺失,仪表盘无法计算正确的起始时间。
内容的提问来源于stack exchange,提问作者user31396093
相关产品推荐
相关产品推荐

