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

Contour should expose more metrics about gRPC serving #1678

Open
youngnick opened this issue Oct 10, 2019 · 3 comments
Open

Contour should expose more metrics about gRPC serving #1678

youngnick opened this issue Oct 10, 2019 · 3 comments
Labels
area/metrics Issues or PRs related to exposing time series metrics. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.

Comments

@youngnick
Copy link
Member

As part of troubleshooting #1523, @FournierAlexandre and @bgagnon have been working on observing their Contour and Envoy installation, and have found that it would be really useful to have more metrics around Contour's gRPC serving.

This issue covers adding some more metrics to Contour to expose more information about what's happening with the connections to Envoy via gRPC.

Specifically, the main deliverables are:

  • being able to see how many clients are connected (ideally with labels to identify the clients somehow)
  • being able to see how many updates are being sent to clients (ideally per-client).
@youngnick youngnick added this to the 1.0.0-rc.2 milestone Oct 10, 2019
@youngnick youngnick self-assigned this Oct 10, 2019
@youngnick youngnick added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Oct 10, 2019
@bgagnon
Copy link
Contributor

bgagnon commented Oct 10, 2019

Thanks @youngnick!

The first low-hanging fruit I see is to integrate the grpc-ecosystem/go-grpc-prometheus middleware into Contour.

There is very little code to write to instrument the server:
https://github.com/grpc-ecosystem/go-grpc-prometheus#server-side. The list of standard timeseries is pretty good out of the box.

One important thing that is missing, however, is a Gauge to represent the number of connected clients (ie. number of Envoys). There is an open issue for exactly that: grpc-ecosystem/go-grpc-prometheus#78, but it could be done in Contour instead (or in addition to). Doing it in Contour gives extra flexibility in terms of labels.

bgagnon added a commit to bgagnon/contour that referenced this issue Oct 11, 2019
…tour#1678)

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>
@youngnick
Copy link
Member Author

Thanks again for the PR, @bgagnon! I'm checking that one out, and once we've landed it, I'll have a look at adding the number of connected clients.

youngnick pushed a commit that referenced this issue Oct 16, 2019
Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>
@youngnick
Copy link
Member Author

With the merging of #1692, we have basic stats about the connected clients. I don't think we're going to be able to land the number of connected clients in rc2, sadly, and we don't want to add any new functionality in the final 1.0.0. So, I'm moving this to the backlog for now. Please note that 'backlog' currently means 'after 1.0', not 'will never get done'. I think this is a really important and not that large feature, so I will make sure it doesn't disappear.

@youngnick youngnick modified the milestones: 1.0.0-rc.2, Backlog Oct 17, 2019
@youngnick youngnick removed their assignment Oct 18, 2019
@davecheney davecheney added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Feb 17, 2020
@youngnick youngnick added the area/metrics Issues or PRs related to exposing time series metrics. label Feb 19, 2020
@skriss skriss removed this from the Backlog milestone Jul 25, 2022
@sunjayBhatia sunjayBhatia added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels Sep 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/metrics Issues or PRs related to exposing time series metrics. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
None yet
Development

No branches or pull requests

5 participants