opentelemetry-collector
opentelemetry-collector copied to clipboard
Split components into their own modules
Depends on #5991.
On August 10, during the SIG meeting, we agreed on splitting components into modules, such as the OTLP Exporter and Receiver. This should be done after the changes that would be part of #5991, so we can take advantage of the tooling.
Here is a first take on this:
- [ ]
pdata - [ ]
confmap - [ ]
consumer, I think currentclientshould be merged into theconsumer. Since theclientinformation (the info that we add about connection/request) is consumed by the Consumers (Processor/Exporter are all consumers). - [ ]
component. One question is if we want to have this package OR move everything intogo.opentelemetry.io/collector/CMP(where CMP is one of receiver/processor/exporter/extension). - [ ]
processor/*in each individual package. Theprocessorhelpermay be embedded intocomponentmaybe? Otherwise maybe a better name? - [ ]
exporter/*in each individual package. Not sure yet what to do withexporterhelper - [ ]
receiver/*in each individual package. The current "scraperrelated packages I would move them into ascraper/` top directory and package. - [ ]
extension/*in each individual package. - [ ] For service I would do https://github.com/open-telemetry/opentelemetry-collector/issues/5564
I think these are enough things to think about, and start working on.
Thanks for this list! I'll start working on this once we have a go.work for this repo.
Now that we have a decision about go work, I'll start the split of this into their own modules.
One question that comes to mind when looking at this list, are we planning on releasing these packages independently in the future? If so we'll need to figure out what that looks like as well.
It would be great to only release packages with changed code.
I can take the action item to add crosslink support to this repository in the same way that it is implemented in contrib. Should be a quick™ and can make inserting those replace statements a bit easier.