-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[observability] Add gRPC client call and additional functional metrics #5726
Conversation
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.
My first walk through the code...
I really liked the decision of using go-grpc-middleware to expose client-side gRPC metrics! When you announced this in the all-hands I thought you were going to implement this in common-go alone 😅.
components/gitpod-protocol/src/messaging/client-call-metrics.ts
Outdated
Show resolved
Hide resolved
components/ws-manager-bridge/src/prometheus-metrics-exporter.ts
Outdated
Show resolved
Hide resolved
ababd14
to
34c0801
Compare
I've addressed the comments. @ArthurSens, @aledbf and @geropl please have another look. |
Codecov Report
@@ Coverage Diff @@
## main #5726 +/- ##
==========================================
- Coverage 19.04% 11.67% -7.37%
==========================================
Files 2 6 +4
Lines 168 1310 +1142
==========================================
+ Hits 32 153 +121
- Misses 134 1137 +1003
- Partials 2 20 +18
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
/lgtm |
LGTM label has been added. Git tree hash: 6ff787bc06800936c3677f0c554ed15998326d7b
|
/approve cancel Looking at our logs, there seems to be a severe problem with ws-manager in core-dev workspaces with this change |
The error you see in the logs was fixed here #5696, i.e., is not related to this PR |
Thanks for the clarification @aledbf. I just wanted to make sure we don't commit anything that sets our logging on fire /approve |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED Approval requirements bypassed by manually added approval. This pull-request has been approved by: aledbf, JanKoehnlein Associated issue: #5706 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Description
Adds client call metrics to gRPC calls form TS and Go, and makes the server -> image-builder connection use the default gRPC unary options. The lack of the latter probably was the cause of the recent image-builder related outage.
Also adds cluster registration metrics to ws-manager-bridge, and image-build counts to image-builder-mk3
Thanks @JanKoehnlein for figuring out the nitty gritty of the grpc-js interceptor business.
Related Issue(s)
Fixes #5706, #5707
How to test
server
,image-builder-mk3
,ws-manager-bridge
,ws-manager
,ws-proxy
,ws-scheduler
. You should seegrpc_client_calls_total
metrics on all those services.Release Notes