SIGN IN SIGN UP

xds/extproc: adds ClientInterceptor and ClientStream implementation for observability mode for gRFC A93 (#9180)

This PR does the following :
- Abstract out common struct fields and functions for normal and
observability mode into `commonStream` and methods on `commonStream`
- Add implementation of NewStream and ClientStream for observability
mode for [A93:
xds-ext-proc](https://github.com/grpc/proposal/blob/master/A93-xds-ext-proc.md).
- Add metrics for observability mode
- Move the storing of true for `HeaderSent` and `trailerSent` to just
before calling the send on proc stream to avoid races where the message
is sent on the stream and received by other goroutine but the flag is
not flipped to true , this fails the stream , even when it should not.

#ext-proc-a93

RELEASE NOTES: None
E
eshitachandwani committed
6f508fa56defb27c00e5d67d8b7533528c987780
Parent: ff0b87f
Committed by GitHub <noreply@github.com> on 7/30/2026, 7:24:52 AM