-
Notifications
You must be signed in to change notification settings - Fork 765
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.OTLP] Scaffolding for separate projects #4279
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #4279 +/- ##
==========================================
- Coverage 84.31% 84.25% -0.07%
==========================================
Files 296 296
Lines 11791 11791
==========================================
- Hits 9942 9934 -8
- Misses 1849 1857 +8
|
@Kielek would you put a brief summary regarding why would we want to have two separate projects/components for OTLP Exporter? |
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.
Need to understand the direction #4279 (comment).
I looked at the comments and didn't get the clarity. May I get a summary of what does it mean? - e.g. what exact problem do we want to solve |
@reyang, I am trying to move forward with support for OTLP environmental variables specific for each signal. I do not see any possibility to do it without introducing breaking changes to current, unified exporter. There were a proposal to split it into GRPC and HTTP. It allows us to introduce breaking changes, see comment from @CodeBlanch: #4154 (comment). There is also a second benefit - possibility to use only HTTP version without bringing dependencies to gRPC client. Based on #3421 (comment) - it can reduce instrumented project by 17MB. It can be significant difference if you are using a lot of different micro-services. |
My main concern about this PR - it seems we make random moves without clear direction/picture. E.g. What 's our vision? What do we plan to do with https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/file-exporter.md and other potential upcoming "flavors of OTLP exporters"?
I don't think "introducing environment variable" could justify "changing how components are layered/organized".
I would say the right direction is to work with the gRPC/protobuf owner and see how to implement OTLP/gRPC exporter without having to take 17MB extra packages. |
I agree we need to consider our direction a bit more deeply prior to continuing work to create separate projects. We have discussed various things we could do, but have not yet devoted the focus necessary to settle on what to actually do. There are a number of different issues, some of which may be easier to address with separate packages, but I'm not yet convinced it's our only option.
|
This sounds like music 🎵 to me 👍 |
This PR was marked stale due to lack of activity and will be closed in 7 days. Commenting or Pushing will instruct the bot to automatically remove the label. This bot runs once per day. |
Closed as inactive. Feel free to reopen if this PR is still being worked on. |
Towards #3421 (comment)
Changes
Scaffolding for OTLP over HTTP and gRPC separate projects.
gRPC project was in place.
PR should move forward with support for OTLP environmental variables specific for each signal. I do not see any possibility to do it without introducing breaking changes to current, unified exporter. There were a proposal to split it into GRPC and HTTP. It allows us to introduce breaking changes, see comment from @CodeBlanch: #4154 (comment).
Second benefit - possibility to use only HTTP version without bringing dependencies to gRPC client. Based on #3421 (comment) - it can reduce instrumented project by 17MB. It can be significant difference if you are using a lot of different micro-services.
As a results we will have two projects:
For significant contributions please make sure you have completed the following items:
[ ] AppropriateCHANGELOG.md
updated for non-trivial changes[ ] Design discussion issue #[ ] Changes in public API reviewed