-
Notifications
You must be signed in to change notification settings - Fork 64
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
adaptation, stub: allow extra ttrpc client and server options. #67
Conversation
Add WithTTRPCOptions() which can be used to pass extra client and server options to ttrpc. Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Add WithTTRPCOptions() which can be used to pass extra client and server options to ttrpc. Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #67 +/- ##
==========================================
- Coverage 64.50% 64.36% -0.14%
==========================================
Files 9 9
Lines 1834 1841 +7
==========================================
+ Hits 1183 1185 +2
- Misses 500 505 +5
Partials 151 151 ☔ View full report in Codecov by Sentry. |
I think I like this one better? |
+1 for this one |
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.
LGTM
This patch set adds support for passing extra ttrpc client and server options for both the runtime adaptation and the plugin stub. The primary purpose of this PR is to implement minimal plumbing which will allow the propagation of OpenTelemetry span information from runtimes to plugins, over NRI ttrpc connections,using the instrumentation interceptors implemented by https://github.com/containerd/otelttrpc.
This PR is an alternative to #68. This PR simply opens up the ttrpc client and server used by NRI for extra ttrpc options. This allows one to pass in the necessary options to enable otel trace span propagation (essentially using [github.com/containerd/]otelttrpc).
#68 on the other hand introduces two boolean options which tell NRI whether it internally should set up the necessary ttrpc options to enable otel trace span propagation over ttrpc. That brings in an indirect dependency on [github.com/containerd/]otelttrpc and OpenTelemetry itself.
I wanted to ask feedback about which of these alternative approaches others find more preferable, hence I filed both as draft PRs.
I think the biggest difference between these two approaches are in the blast radius of the resulting dependency changes, since #68 pulls in OpenTelemetry as an indirect dependency via otelttrpc.