-
Notifications
You must be signed in to change notification settings - Fork 440
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
[EXPORTER] Delegate all API calls of gRPC into opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.
#2005
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #2005 +/- ##
==========================================
- Coverage 87.19% 87.17% -0.02%
==========================================
Files 166 166
Lines 4784 4784
==========================================
- Hits 4171 4170 -1
- Misses 613 614 +1 |
Changes are in only in bazel BUILD, no changes are required in any CMake file? |
The main change is moving gRPC callings into @VivekSubr I have reproduced #1998 in my building environment and verified it. Could you try this PR or try main branch later after this PR is merged? |
@owent - cloned your branch and verified it builds, thank you! |
@owent Just curious, if you know how was it working in CI env, and also our local setup. As I could see opentelemetry_exporter_otlp_grpc_client having gRPC++ symbols locally in WSL ubuntu 22.04. OR is it anything to do with compiler toolchain in customer environment ? |
This problem happens only when we built gRPC as static libraries and build otel-cpp as dynamic libraries.In CI jobs, we only build both gRPC and otel-cpp as static or dynamic libraries. Do you think we should add a jobs to check this situation? |
@@ -103,6 +103,60 @@ std::unique_ptr<grpc::ClientContext> OtlpGrpcClient::MakeClientContext( | |||
return context; | |||
} | |||
|
|||
std::unique_ptr<grpc::CompletionQueue> OtlpGrpcClient::MakeCompletionQueue() |
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.
why is this method added, as it is not been used anywhere - to prevent stripping of grpc symbols ?
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.
I plan use it to implement concurrency exporting in the future. Also , the grpc::CompletionQueue
is also used by Export
.I think we better export it.
Thanks @owent . This is strange, as I normally use this setup locally on my machine ( i.e., linking dynamic otel-cpp libraries with static gRPC) but never had this error :) But if @VivekSubr is validating the problem is solved with the PR, it should be fine :) |
opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.
Sorry but some commits are missing in this PR, I will push them again on next Monday. |
0f6b412
to
b0a0e2b
Compare
opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.
All commits are pushed now. |
4b97264
to
b0ebea7
Compare
…_client`, and make it contains all symbols needed. Signed-off-by: owent <admin@owent.net>
Signed-off-by: owent <admin@owent.net>
This reverts commit 1743bc8d3a1fa5c18a0d8f87d304245cb1cb26de. Signed-off-by: WenTao Ou <admin@owent.net>
Signed-off-by: owent <admin@owent.net>
Sorry for the delay in reviewing this. The changes look good in general, I just want to test these changes as I always have the working setup of dynamic otel-cpp libraries with static gRPC. Will be completing the review in this week. |
This PR add a ci job |
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.
Looks good to me.
My only question is about OtlpGrpcClient::MakeCompletionQueue()
,
as already mentioned by @lalitb
Please merge with a recent main, to keep the PR up to date, and check CI.
Sorry , I missed the comment before. I plan use it to implement concurrency exporting in the future. Also , the |
Ok, approved. |
@lalitb @ThomsonTan - Any chance this PR can go in 1.9.0 ? |
Looking into it now. Sorry for delay, was on vacation, back today morning. |
Do we plan to include this in v1.9.0 or after that? Probably merge it after the release because it is not a trivial change. |
I agree. While changes look good going through the PR, and has been open for long time, still let's not merge it at last moment before the release. Taking lesson from previous releases where we introduced breaking changes with merges just before the release. |
Ok, will merge after 1.9.0 then. |
opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.
Fixes #1998
Changes
opentelemetry_exporter_otlp_grpc_client
, and make it contains all symbols needed.For significant contributions please make sure you have completed the following items:
CHANGELOG.md
updated for non-trivial changes