Jmeter GRPC 请求中出现错误。无法调试

问题描述 投票:0回答:1

我发送 GRPC 请求并抛出 Jmeter(使用此库 - https://github.com/zalopay-oss/jmeter-grpc-request)。当我发送请求正文时抛出邮递员 - al 工作正常 当我使用 Jmeter 发送请求时 - 我收到错误:

2024-05-03 13:10:54,009 ERROR v.z.b.GRPCSampler: java.lang.RuntimeException: Caught exception while parsing request for rpc
    at vn.zalopay.benchmark.core.ClientCaller.buildRequestAndMetadata(ClientCaller.java:187)
    at vn.zalopay.benchmark.GRPCSampler.initGrpcInCurrentThread(GRPCSampler.java:204)
    at vn.zalopay.benchmark.GRPCSampler.initGrpcRequestSampler(GRPCSampler.java:133)
    at vn.zalopay.benchmark.GRPCSampler.sample(GRPCSampler.java:90)
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268)
    at java.lang.Thread.run(null:-1)

在查看结果树中我有:

Thread Name:Thread Group 1-1
Sample Start:1970-01-01 03:00:00 MSK
Load time:0
Connect Time:0
Latency:0
Size in bytes:744
Sent bytes:0
Headers size in bytes:0
Body size in bytes:744
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code: 400
Response message: GRPCSampler parsing exception: An unknown exception occurred before the GRPC request was initiated, See response body for the stack trace.


SampleResult fields:
ContentType: 
DataEncoding: UTF-8

在树中的响应数据中我有:

java.lang.RuntimeException: Caught exception while parsing request for rpc
    at vn.zalopay.benchmark.core.ClientCaller.buildRequestAndMetadata(ClientCaller.java:187)
    at vn.zalopay.benchmark.GRPCSampler.initGrpcInCurrentThread(GRPCSampler.java:204)
    at vn.zalopay.benchmark.GRPCSampler.initGrpcRequestSampler(GRPCSampler.java:133)
    at vn.zalopay.benchmark.GRPCSampler.sample(GRPCSampler.java:90)
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268)
    at java.lang.Thread.run(null:-1)

我不明白原因,那我该如何调试呢?

jmeter grpc
1个回答
0
投票
  1. 获取 Java IDE

  2. https://github.com/zalopay-oss/jmeter-grpc-request 获取您正在使用的插件的源代码

  3. 将项目导入IDE

  4. 添加运行/调试配置,以便在本地机器上进行远程调试

  5. 运行您的 JMeter 实例

    java -jar --agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 ApacheJMeter.jar
    
  6. ClientCaller.buildRequestAndMetadata()函数开头添加断点

  7. 浏览该函数(单步执行)并查看其失败的具体位置和原因

更多信息:如何调试 JMeter 测试脚本

© www.soinside.com 2019 - 2024. All rights reserved.