envoyproxy / envoyproxy/envoy

admin: new histogram rendering needs a few tweaks

Open
#28,205 2 comments 0 reactions 1 assignee Claimed by @jmarantz View on GitHub
area/admin area/stats no stalebot
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
428

Description

while the histograms looked data on test data, and sample data from relatively lightly loaded servers, there are a few tweaks that look useful for highly active systems I want to capture:

* there are a significant number of 'interval' buckets whose text overwrites one another. For dense histograms we need to drop the text and rely on the hover-popup to show the text for an interval bucket, as we do for the main data buckets.
* popups at the right edge of the screen get clipped; we just need to leave more margin instead of drawing the graphics to the right edge
* The bucket density may be more than is helpful and I think we should re-introduce bucket interpolation as a query-param-controlled option, so we can bound the number of buckets. That interpolation algorithm is in https://github.com/envoyproxy/envoy/pull/27094/commits/91896125b1e64578cb7e10fc494fb545e5317121 and was removed during the review of https://github.com/envoyproxy/envoy/pull/27094 . If we are going to render all histograms in a large system we probably need to bound the number of buckets in this fashion. An alternative is to render detailed histograms individually, and only render coarse-bucket histograms by default. Currently the rendering code only works in 'detail' mode.
* The json data for buckets is quite verbose. We should alter the json format to be denser (less repeated keywords). Alternatively we could gzip the whole thing.
* It would be good to stream out the individual histograms as much as possible, to the extent that's not already done.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.