Skip to content
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

[component] Move [Receiver|Processor|Exporter|Extension] specific parts from component module #6578

Closed
dmitryax opened this issue Nov 18, 2022 · 1 comment · Fixed by #7637

Comments

@dmitryax
Copy link
Member

dmitryax commented Nov 18, 2022

Currently component package includes API specific to [Receiver|Processor|Exporter|Extension] components. That API can be moved to the corresponding packages to simplify the API.

Instead of

import "go.opentelemetry.io/collector/component"

component.ExporterConfig
component.UnmarshalExporterConfig
component.Exporter
component.[Traces|Metrics|Logs]Exporter
component.ExporterCreateSettings
component.ExporterFactory
component.ExporterFactoryOption
component.Create[Traces|Metrics|Logs]ExporterFunc
component.With[Traces|Metrics|Logs]Exporter
component.NewExporterFactory
component.ExporterFactoryOption

users will use

import "go.opentelemetry.io/collector/exporter"

exporter.Config
exporter.UnmarshalConfig
exporter.Exporter
exporter.[Traces|Metrics|Logs]
exporter.CreateSettings
exporter.Factory
exporter.FactoryOption
exporter.Create[Traces|Metrics|Logs]Func
exporter.With[Traces|Metrics|Logs]
exporter.NewFactory
exporter.FactoryOption

Prototype PR: #6552

@dmitryax dmitryax changed the title [component] Move [Receiver|Processor|Exporter|Extension] specific part from component module [component] Move [Receiver|Processor|Exporter|Extension] specific parts from component module Nov 18, 2022
@bogdandrutu
Copy link
Member

bogdandrutu commented Nov 23, 2022

Proposing a change to the plan:

  • Remove per component kind Config, we can simply use "component.Config" everywhere, no need to have any special functionality there, especially since we are aiming to make Config a totally opaque object from collector perspective.

codeboten pushed a commit to codeboten/opentelemetry-collector that referenced this issue May 8, 2023
This removes the remaining references to components living in the `component` module. Fixes open-telemetry#6578

Signed-off-by: Alex Boten <[email protected]>
codeboten pushed a commit that referenced this issue May 9, 2023
This removes the remaining references to components living in the `component` module. Fixes #6578

---------

Signed-off-by: Alex Boten <[email protected]>
@TylerHelmuth TylerHelmuth moved this to Done in Collector: v1 Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants