-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Make component.Factory
inherit internalinterface.InternalInterface
#4338
Make component.Factory
inherit internalinterface.InternalInterface
#4338
Conversation
Codecov Report
@@ Coverage Diff @@
## main #4338 +/- ##
=======================================
Coverage 87.24% 87.24%
=======================================
Files 177 177
Lines 10586 10586
=======================================
Hits 9236 9236
Misses 1108 1108
Partials 242 242
Continue to review full report at Codecov.
|
c62c75c
to
76b6c95
Compare
component.ExporterFactory
inherit internalinterface.InternalInterface
component.Factory
inherit internalinterface.InternalInterface
Did this in a single PR since I am adding the dependency directly to |
@mx-psi before merging this, I need an update of the contrib to latest core, so breaking changes are not accumulating. |
@bogdandrutu 👍 I was doing it but it looks like Alex beat me with open-telemetry/opentelemetry-collector-contrib#6105, so let's use that one :) |
#### Description Removes an incorrect comment from the `component.Factory interface`. This comment was added via #4338 when the extension/receiver/processor/exporter factory types all still [lived in](https://github.com/mx-psi/opentelemetry-collector/blob/b4be13e74923ebefb521f69a97288ce8d6f51ea9/component/exporter.go#L61) `component`. Since the factories have been moved to other modules, `component.Factory` needs to be implementable. The specific extension/receiver/processor/exporter factory types are unimplementable since they are defined in internal packages. <!-- Issue number if applicable --> #### Link to tracking issue Related to #6506
Description:
Make
component.Factory
embedinternalinterface.InternalInterface
, so that the component factories must be implemented using the helpers.This also includes extensions (which are not part of the focus of #3921, since extensions don't have per-signal methods), but I think for consistency it's better to add them (moving the internalinterface dependency to individual interfaces wouldn't be a breaking change if we find this is too restrictive).
This is a follow up to #4175.
Link to tracking Issue: fixes #3921