-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
[chore] Add pipeline module #11209
[chore] Add pipeline module #11209
Conversation
58c898b
to
e7a8c7d
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #11209 +/- ##
==========================================
- Coverage 91.87% 91.82% -0.06%
==========================================
Files 421 424 +3
Lines 19989 20067 +78
==========================================
+ Hits 18365 18426 +61
- Misses 1249 1264 +15
- Partials 375 377 +2 ☔ View full report in Codecov by Sentry. |
We discussed the pipeline package name on the 2024-09-18 Collector stability meeting, unless anybody proposes a different name by EOW I will merge this cc @open-telemetry/collector-approvers |
#### Description Depends on #11209 This PR is a non-breaking implementation of #10947. It adds a new module, `pipeline`, which houses a `pipeline.ID` and `pipeline.Signal`. `pipeline.ID` is used to identify a pipeline within the service. `pipeline.Signal` is uses to identify the signal associated to a pipeline. I do this work begrudgingly. As the PR shows, this is a huge refactor when done in a non-breaking way, will require 3 full releases, and doesn't benefit our [End Users or, in my opinion, our Component Developers or Collector Library Users](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CONTRIBUTING.md#target-audiences). I view this refactor as a Nice-To-Have, not a requirement for Component 1.0. <!-- Issue number if applicable --> #### Link to tracking issue Works towards #9429
…emetry#11204) #### Description Depends on open-telemetry#11209 This PR is a non-breaking implementation of open-telemetry#10947. It adds a new module, `pipeline`, which houses a `pipeline.ID` and `pipeline.Signal`. `pipeline.ID` is used to identify a pipeline within the service. `pipeline.Signal` is uses to identify the signal associated to a pipeline. I do this work begrudgingly. As the PR shows, this is a huge refactor when done in a non-breaking way, will require 3 full releases, and doesn't benefit our [End Users or, in my opinion, our Component Developers or Collector Library Users](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CONTRIBUTING.md#target-audiences). I view this refactor as a Nice-To-Have, not a requirement for Component 1.0. <!-- Issue number if applicable --> #### Link to tracking issue Works towards open-telemetry#9429
Description
To facilitate the work in #11204 as some breaking changes and some deprecations, this PR adds the new pipeline module separately so that future PRs can handle the breaking changes and deprecations.
In order to make
Signal
uninstantiable outside of this repo, while still being extendable in places likecomponentprofiles
, a new internal module is added to handle theSignal
logic. To reduce the dependency sprawl that would happen ifsignal
was an internal package ingo.opentelemetry.io/collector
, I made it a module, similar toglobalgates
.Link to tracking issue
Related to #10947
Testing
Added unit tests
Documentation
Added godoc comments