envoyproxy/envoy

Proposal: Request Durations in Load Stats Reporting

Open

#11,599 创建于 2020年6月16日

在 GitHub 查看
 (13 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
enhancementhelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

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.

贡献者指南