server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter#32106
Conversation
19ddfb2 to
e0b7519
Compare
markdroth
left a comment
There was a problem hiding this comment.
This looks like a good start!
Please let me know if you have any questions. Thanks!
markdroth
left a comment
There was a problem hiding this comment.
This is moving in the right direction!
Please let me know if you have any questions. Thanks!
markdroth
left a comment
There was a problem hiding this comment.
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: |
markdroth
left a comment
There was a problem hiding this comment.
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