Skip to content

Conversation

davinci26
Copy link
Contributor

@davinci26 davinci26 commented Oct 13, 2025

Implements gRFC A91: https://github.com/grpc/proposal/blob/master/A91-outlier-detection-metrics.md

Notable implementation detals

  • grpc.lb.backend_service is not implemented yet (marked as optional in the gRFC)
  • modifies the tests to make sure we can cover all the cases for enforced/unenforced without repeating the test setup.

RELEASE NOTES:

  • outlierdetection: add metrics for enforced (grpc.lb.outlier_detection.ejections_enforced) and unenforced (grpc.lb.outlier_detection.ejections_unenforced) outlier ejections.

Copy link

codecov bot commented Oct 13, 2025

Codecov Report

❌ Patch coverage is 78.12500% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.81%. Comparing base (8110884) to head (4335462).
⚠️ Report is 10 commits behind head on master.

Files with missing lines Patch % Lines
internal/xds/balancer/outlierdetection/balancer.go 78.12% 5 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8644      +/-   ##
==========================================
+ Coverage   79.45%   81.81%   +2.36%     
==========================================
  Files         415      417       +2     
  Lines       41339    40801     -538     
==========================================
+ Hits        32844    33383     +539     
+ Misses       6621     6045     -576     
+ Partials     1874     1373     -501     
Files with missing lines Coverage Δ
internal/xds/balancer/outlierdetection/balancer.go 87.63% <78.12%> (-0.08%) ⬇️

... and 40 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@easwars easwars self-assigned this Oct 13, 2025
@easwars easwars added Type: Feature New features or improvements in behavior Area: Observability Includes Stats, Tracing, Channelz, Healthz, Binlog, Reflection, Admin, GCP Observability labels Oct 13, 2025
@easwars easwars added this to the 1.77 Release milestone Oct 13, 2025
@easwars
Copy link
Contributor

easwars commented Oct 13, 2025

@davinci26

Thank you for your contribution.

Since PR titles and descriptions become part of our git commit history, please follow these recommendations: https://github.com/grpc/grpc-go/blob/master/CONTRIBUTING.md#pr-descriptions

Copy link
Contributor

@easwars easwars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't reviewed the tests yet.

Signed-off-by: sotiris <[email protected]>
@easwars
Copy link
Contributor

easwars commented Oct 15, 2025

@davinci26 : Please do not mark comments as resolved. The process that we follow involves the reviewer marking them as resolved. When the author does that, the reviewer will have to click on each of those resolved comments to see what the original comment was and whether it was sufficiently addressed. Thanks for understanding.

@davinci26
Copy link
Contributor Author

@easwars sorry, habit from a different process. Will keep them open and let the reviewer close them

Copy link
Contributor

@easwars easwars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still looking at the test. Thanks.

@easwars easwars changed the title xds: client outlier detection metrics [A91] / Attempt 2 outlierdetection: add metrics specified in gRFC A91 Oct 15, 2025
Signed-off-by: sotiris <[email protected]>
Copy link
Contributor

@easwars easwars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM modulo minor nits in the test

Signed-off-by: sotiris <[email protected]>
@easwars easwars assigned mbissa and unassigned easwars Oct 17, 2025
@easwars
Copy link
Contributor

easwars commented Oct 17, 2025

Assigning to @mbissa for second set of eyes.

@easwars
Copy link
Contributor

easwars commented Oct 17, 2025

@davinci26 : Thank you for your contribution!

@davinci26
Copy link
Contributor Author

thank you and I will try to follow with adding the optional label. Do we want to open an issue for that since we are not 100% compliant right now?

@easwars
Copy link
Contributor

easwars commented Oct 17, 2025

thank you and I will try to follow with adding the optional label. Do we want to open an issue for that since we are not 100% compliant right now?

Thank you for offering. We have to wait for #8637 to be merged and I believe @mbissa is going to be out for a little while. We usually wait till we get two approvals on PRs from contributors who are not on the grpc team. And @mbissa is marked as the second reviewer. We might be able to get a different reviewer to approve this and have this merged. So, if that happens, you could just wait for the backend_service PR to get merged and add that optional label in a separate PR. We don't technically need an issue, but feel free to file one if you feel like it.

@arjan-bal arjan-bal assigned arjan-bal and unassigned mbissa Oct 21, 2025
@arjan-bal arjan-bal assigned davinci26 and unassigned arjan-bal Oct 21, 2025
Signed-off-by: sotiris <[email protected]>
Copy link
Contributor

@arjan-bal arjan-bal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the contribution!

@arjan-bal arjan-bal assigned arjan-bal and unassigned davinci26 Oct 21, 2025
@arjan-bal arjan-bal merged commit 58d4b2b into grpc:master Oct 21, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Observability Includes Stats, Tracing, Channelz, Healthz, Binlog, Reflection, Admin, GCP Observability Type: Feature New features or improvements in behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants