You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jmeter should be able to run the gRPC request sampler inside the image
Actual behavior
Getting a below error:
2025-01-08 10:33:25,530 ERROR v.z.b.GRPCSampler: java.lang.RuntimeException: Unable to resolve service by invoking protoc:
Unable to execute protoc binary
at vn.zalopay.benchmark.core.ClientCaller.init(ClientCaller.java:88)
at vn.zalopay.benchmark.core.ClientCaller.(ClientCaller.java:53)
at vn.zalopay.benchmark.GRPCSampler.initGrpcClient(GRPCSampler.java:81)
at vn.zalopay.benchmark.GRPCSampler.initGrpcInCurrentThread(GRPCSampler.java:203)
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(Thread.java:750)
Steps to reproduce the problem
Create a Docker file:
FROM alpine/jmeter:5.6.3
// Copied the below library from my local jmeter 5.6.3
COPY ./lib/jmeter-grpc-request.jar /opt/apache-jmeter-5.6.3/lib/ext/jmeter-grpc-request.jar
COPY ./lib/jmeter-plugins-manager-1.10.jar /opt/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-manager-1.10.jar
RUN apk add protobuf
COPY ./scripts/GRPC_Request.jmx /opt/apache-jmeter-5.6.3/scripts/GRPC_Request.jmx
I created a Jmeter GRPC request sampler using the UI and copied the Jmeter script to an image and used the below command to run the Docker image:
docker run -it --entrypoint bash --rm --user root load-testing:manager-load-testing_v1
Expected behavior
Jmeter should be able to run the gRPC request sampler inside the image
Actual behavior
Getting a below error:
2025-01-08 10:33:25,530 ERROR v.z.b.GRPCSampler: java.lang.RuntimeException: Unable to resolve service by invoking protoc:
Unable to execute protoc binary
at vn.zalopay.benchmark.core.ClientCaller.init(ClientCaller.java:88)
at vn.zalopay.benchmark.core.ClientCaller.(ClientCaller.java:53)
at vn.zalopay.benchmark.GRPCSampler.initGrpcClient(GRPCSampler.java:81)
at vn.zalopay.benchmark.GRPCSampler.initGrpcInCurrentThread(GRPCSampler.java:203)
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(Thread.java:750)
Steps to reproduce the problem
Create a Docker file:
FROM alpine/jmeter:5.6.3
// Copied the below library from my local jmeter 5.6.3
COPY ./lib/jmeter-grpc-request.jar /opt/apache-jmeter-5.6.3/lib/ext/jmeter-grpc-request.jar
COPY ./lib/jmeter-plugins-manager-1.10.jar /opt/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-manager-1.10.jar
RUN apk add protobuf
COPY ./scripts/GRPC_Request.jmx /opt/apache-jmeter-5.6.3/scripts/GRPC_Request.jmx
Docker build command:
docker build . -t load-testing:manager-load-testing_v1 --no-cache
Create a proto file:
syntax = "proto3";
package com.grpc.spring;
option java_package = "com.grpc.spring.service";
option java_outer_classname = "Solutions";
option java_generic_services = true;
option java_multiple_files = true;
service SolutionService {
rpc getSolution (SolutionRequest) returns (SolutionResponse) {};
}
message SolutionRequest {
string name = 1;
}
message SolutionResponse {
string message = 1;
}
I created a Jmeter GRPC request sampler using the UI and copied the Jmeter script to an image and used the below command to run the Docker image:
docker run -it --entrypoint bash --rm --user root load-testing:manager-load-testing_v1
jmeter -n -t scripts/GRPC_Request.jmx -l result.jtl -JThreads=1 -JRamup=1 -JLoopCount=1 -JprotoFilePath=/opt/apache-jmeter-5.6.3/scripts/test_data -Jhost=host.docker.internal -Jport=9092 -e -o ./dashboard_directory
Note: Same script works in my local JMeter GUI. which has protoc version as local: libprotoc 28.3 but in the Image: libprotoc 24.4
JMeter Version
5.6.3
Java Version
openjdk version "1.8.0_432"
OS Version
Alpine Linux v3.21
The text was updated successfully, but these errors were encountered: