-
Notifications
You must be signed in to change notification settings - Fork 59
Add otel trace instrumentation on gRPC calls #139
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
Comments
/cc |
@jsafrane here is an example of the information gathered on a trace by the gRPC interceptor. |
Thanks for the example, it looks good - it has just the method name and not secrets that are in method arguments. |
/cc |
I'm proposing to add some basic tracing instrumentation of the gRPC calls made by the CSI clients using the code in connection.go to connect to the CSI driver.
The feature simply consists in adding the otelgrpc.UnaryClientInterceptor() to the existing ChainUnaryInterceptor. This is enough to create traces for all gRPC calls and they can be easily exported by the client.
I think it can be done by creating a new
ConnectWithGrpcInterceptor
function that will call theconnect
function with the added interceptor as aDialOption
. This way the feature will be opt-in for the users.I can contribute it (and the implementation in the CSI components) if it is something the community wants to see. I already implemented something similar on the azuredisk-csi-driver and plan to do the same for aws and gcp drivers.
The text was updated successfully, but these errors were encountered: