opentelemetry-collector icon indicating copy to clipboard operation
opentelemetry-collector copied to clipboard

Split components into their own modules

Open jpkrohling opened this issue 3 years ago • 2 comments
trafficstars

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.

jpkrohling avatar Aug 29 '22 18:08 jpkrohling

Here is a first take on this:

  • [ ] pdata
  • [ ] confmap
  • [ ] consumer, I think current client should be merged into the consumer. Since the client information (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 into go.opentelemetry.io/collector/CMP (where CMP is one of receiver/processor/exporter/extension).
  • [ ] processor/* in each individual package. The processorhelper may be embedded into component maybe? Otherwise maybe a better name?
  • [ ] exporter/* in each individual package. Not sure yet what to do with exporterhelper
  • [ ] 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.

bogdandrutu avatar Sep 15 '22 20:09 bogdandrutu

Thanks for this list! I'll start working on this once we have a go.work for this repo.

jpkrohling avatar Sep 16 '22 13:09 jpkrohling

Now that we have a decision about go work, I'll start the split of this into their own modules.

jpkrohling avatar Sep 27 '22 13:09 jpkrohling

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.

codeboten avatar Oct 03 '22 23:10 codeboten

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.

bryan-aguilar avatar Oct 05 '22 02:10 bryan-aguilar