-
Notifications
You must be signed in to change notification settings - Fork 476
Measure GRPC server metrics at the HTTP level and client metrics at the service level #5786
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
base: main
Are you sure you want to change the base?
Conversation
TODO:
|
|
||
let rpc_name = extract_rpc_name_from_path(request.uri().path()).to_string(); | ||
|
||
let request_size = get_content_length(request.headers()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm... What happens in gRPC streaming?
Memo on what should be done hereWe monitor calls to internal services for two reasons:
Current behavior
Proposed behavior (before this PR)First of all, we want to have a measure at the network level. The question is how to compose that with current client/server metrics. Note: it’s a bit tricky to get a handle to the network layer on the client side On the server side, we want to:
Technically, this requires for each service to setup a separate metric layer when the service is mounted on the network or not. In particular, we would generally face the risk of mounting a service level metric layer on a stack that is then mounted to the network, hence double counting some service calls. On the client side:
|
Description
Currently, we have metrics called grpc_xxx that actually take measurement at the service level:
This PR attemps to steamline the metrics:
How was this PR tested?
TODO