Proposal: Request Durations in Load Stats Reporting
#11,599 opened on Jun 16, 2020
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
I'm pretty new to Envoy, so apologies in advance if this is a silly question.
Envoy's load stats reporting currently reports useful metrics like total_successful_requests and total_requests_in_progress. I'm looking to implement a server that can estimate the long term average number of requests in our system via Little's Law. For that, I think we'd need total_requests_in_progress, and some notion of the average processing time of each request, broken down by cluster.
Envoy currently reports statistics that include the histogram upstream_rq_time, which is precisely what we'd need.
I wonder if this metric, or simply an "average request time" per cluster, should be threaded through to the load reporting stats. If yes, any pointers on a good way to implement it would be appreciated, and I can send a PR. Otherwise, the alternate path I see is that we need our server to be a full fledged gRPC metrics sink, which would work, but seems like a hack.
I also noticed some work around Orca and I wonder if the recommendation is to wait until that work is complete.