Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gRPC python service doesn't work without --proto #419

Open
abhics1002 opened this issue Jun 2, 2023 · 2 comments
Open

gRPC python service doesn't work without --proto #419

abhics1002 opened this issue Jun 2, 2023 · 2 comments

Comments

@abhics1002
Copy link

I am trying to load test python grpc service using this doc (https://grpc.io/docs/languages/python/quickstart/)
but the ghz doesn't work without --proto option. even if server reflection is enabled.

$ grpcurl -plaintext -d '{"name":"test"}' localhost:50051 helloworld.Greeter.SayHello
{
"message": "Hello, test!"
}

$ ghz --insecure -n 100 --call helloworld.Greeter.SayHello --data '{"name":"test"}' --rps 10 localhost:50051
Symbol not found: helloworld.Greeter.SayHello

error from debug logs:

{"level":"debug","time":"2023-06-01T18:31:52.8496-07:00","message":"Start Run","config":{"proto":"","protoset":"","call":"helloworld.Greeter.SayHello","cacert":"","cert":"","key":"","count-errors":false,"skipTLS":false,"skipFirst":0,"cname":"","authority":"","insecure":true,"total":100,"concurrency":50,"concurrency-schedule":"const","concurrency-start":0,"concurrency-end":0,"concurrency-step":1,"concurrency-step-duration":"0s","concurrency-max-duration":"0s","connections":1,"rps":10,"duration":"0s","duration-stop":"close","max-duration":"0s","timeout":"20s","data":{"name":"test"},"data-file":"","binary-file":"","metadata-file":"","stream-interval":"0s","stream-call-duration":"0s","stream-call-count":0,"stream-dynamic-messages":false,"output":"","format":"summary","connect-timeout":"10s","keepalive":"0s","cpus":10,"debug":"test.log","host":"localhost:50051","load-schedule":"const","load-start":0,"load-end":0,"load-step":0,"load-step-duration":"0s","load-max-duration":"0s","lb-strategy":"","max-recv-message-size":"","max-send-message-size":"","disable-template-functions":false,"disable-template-data":false}}
{"level":"debug","time":"2023-06-01T18:31:52.850537-07:00","message":"Creating client connection","options":[{},{}]}
{"level":"error","time":"2023-06-01T18:31:52.858972-07:00","message":"Error from run: Symbol not found: helloworld.Greeter.SayHello","stacktrace":"main.main\n\t./main.go:337\nruntime.main\n\truntime/proc.go:250"}

this works fine with --proto option.

$ ghz --insecure -n 100 --call helloworld.Greeter.SayHello --data '{"name":"test"}' --rps 10 --proto=/Users//Desktop/grpc/grpc/examples/protos/helloworld.proto localhost:50051

Summary:
Count: 100
Total: 10.00 s
Slowest: 12.25 ms
Fastest: 0.81 ms
Average: 2.38 ms
Requests/sec: 10.00

Response time histogram:
0.815 [1] |∎
1.959 [44] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
3.103 [39] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
4.247 [8] |∎∎∎∎∎∎∎
5.391 [4] |∎∎∎∎
6.534 [1] |∎
7.678 [1] |∎
8.822 [1] |∎
9.966 [0] |
11.110 [0] |
12.254 [1] |∎

Latency distribution:
10 % in 1.08 ms
25 % in 1.40 ms
50 % in 2.17 ms
75 % in 2.73 ms
90 % in 3.80 ms
95 % in 5.05 ms
99 % in 7.74 ms

Status code distribution:
[OK] 100 responses

For Java based gRPC service, ghz works without --proto option in CLI, if service reflection is enabled, so i am expecting that it should work for python gRPC service as well.

any idea what could be wrong here?

@phamngocquy
Copy link

I have same problem with u. Seem, grpc_reflection for python is not fully supported

@burigolucas
Copy link

burigolucas commented Jan 16, 2024

+1

Not working for own protobuf as well as for grpc.health.v1.Health

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants