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
server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter #32106
Conversation
19ddfb2
to
e0b7519
Compare
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.
This looks like a good start!
Please let me know if you have any questions. Thanks!
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.
This is moving in the right direction!
Please let me know if you have any questions. Thanks!
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.
This is getting closer!
Please let me know if you have any questions. Thanks!
It looks like you did the merge with master wrong. All of the unrelated PRs that you merged in were somehow merged from the original commits in their branches, not from master, so they're showing up as part of the changes in this PR. To fix this, please do something like this:
|
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.
Just one significant comment remaining, which is the one about the synchronization and caching approach in ServerMetricRecorder
. The other comments are more minor things.
Please let me know if you have any questions. Thanks!
…er-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" PR grpc#32106 caused msan errors in some tests while de-referencing the server object where async calls are active after the server is destroyed. Instead cache the ServerMetricRecorder pointer. This reverts commit deb1e25.
…er-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" This reverts commit deb1e25.
PR grpc#32106 caused msan errors in some tests while de-referencing the server object where async calls are active after the server is destroyed. Instead cache the ServerMetricRecorder pointer.
…er-call reporting from a C++ interceptor to a C-core filter (#32106)" (#32272)" (#32279) * Revert "Revert "server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter (#32106)" (#32272)" This reverts commit deb1e25. * Fix by caching call metric recording stuff in async request PR #32106 caused msan errors in some tests while de-referencing the server object where async calls are active after the server is destroyed. Instead cache the ServerMetricRecorder pointer. * copyright headers fixed * clang fixes.
…r API and move per-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" (grpc#32279)" (grpc#32293)" This reverts commit 1f96069.
…g from a C++ interceptor to a C-core filter (grpc#32106) * backend metric sampling * Comments addressed. * More comments addressed. * Pushing changes left behind locally. * Removed empty lines * Update OrcaService to use ServerMetricRecorder (no named metrics yet) * Comments addressed. * More comments addressed * More comments addressed. * Comments fixed * Comments addressed. * Test fixed * make seq returned always up-to-date * skip atomic load when not cached * Fixed ABSL_GUARDED_BY * Comments addressed except client_lb_end2end_test * test updated * Comments addressed * BUILD fix. * BackendMetricDataState moved to a separate header * comments addressed * Fixed clang and buildifier errors * More sanity check errors fixed. * Fixed xds tests * Ran generate_projects.sh * Comments addressed * comments addressed. * generate project * Build fixed * generate project * sanity check errors fixed * test fixed * Backup poller period override moved to main() * Also move cfstream override * Clang fixes, sanitize * generate_projects.sh * portable print format fix * Removed outdated comment
…reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272) This reverts commit c7f641d.
…er-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" (grpc#32279) * Revert "Revert "server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" This reverts commit deb1e25. * Fix by caching call metric recording stuff in async request PR grpc#32106 caused msan errors in some tests while de-referencing the server object where async calls are active after the server is destroyed. Instead cache the ServerMetricRecorder pointer. * copyright headers fixed * clang fixes.
…d move per-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" (grpc#32279)" (grpc#32293) This reverts commit 4475e74.
grpc#32301) * Revert "Revert "Revert "Revert "server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter (grpc#32106)" (grpc#32272)" (grpc#32279)" (grpc#32293)" This reverts commit 1f96069. * Do not create CallMetricRecorder if call is null.
…g from a C++ interceptor to a C-core filter (#32106) * backend metric sampling * Comments addressed. * More comments addressed. * Pushing changes left behind locally. * Removed empty lines * Update OrcaService to use ServerMetricRecorder (no named metrics yet) * Comments addressed. * More comments addressed * More comments addressed. * Comments fixed * Comments addressed. * Test fixed * make seq returned always up-to-date * skip atomic load when not cached * Fixed ABSL_GUARDED_BY * Comments addressed except client_lb_end2end_test * test updated * Comments addressed * BUILD fix. * BackendMetricDataState moved to a separate header * comments addressed * Fixed clang and buildifier errors * More sanity check errors fixed. * Fixed xds tests * Ran generate_projects.sh * Comments addressed * comments addressed. * generate project * Build fixed * generate project * sanity check errors fixed * test fixed * Backup poller period override moved to main() * Also move cfstream override * Clang fixes, sanitize * generate_projects.sh * portable print format fix * Removed outdated comment
…er-call reporting from a C++ interceptor to a C-core filter (#32106)" (#32272)" (#32279) * Revert "Revert "server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter (#32106)" (#32272)" This reverts commit deb1e25. * Fix by caching call metric recording stuff in async request PR #32106 caused msan errors in some tests while de-referencing the server object where async calls are active after the server is destroyed. Instead cache the ServerMetricRecorder pointer. * copyright headers fixed * clang fixes.
Support backend metric sampling and make orca intereptor a channel filter