community icon indicating copy to clipboard operation
community copied to clipboard

Consider allowing instrumentation to be maintained in external repos.

Open carlosalberto opened this issue 4 years ago • 4 comments

There have been discussions regarding maintaining/shipping instrumentation from repos outside the main OpenTelemetry organization, given that:

  • There are only so many maintainers/approvers, which may result in constant bottlenecks regarding code approvals and releases.
  • There can be instrumentation code for everything out there, including components for rather exotic or experimental components, with exponential growth, component count wise.

Because of this, it may be important to define that:

  1. Instrumentation for many well-used components (think of Django/Flask for Python or Spring/Okhttp for Java) resides within the OpenTelemetry repos.
  2. Additional instrumentation for further components (think of some new, experimental OSS library) can be released as a 'contrib' package, while being maintained in an external organization/repo.

The OpenTelemetry Registry hence would become a core component (which probably already is).

An alternative would be to have an approach similar to the Collector Contrib repo, where you have CODEOWNERS per directory, but there's the fear this approach just won't work nor scale well for instrumentation components.

carlosalberto avatar Mar 15 '21 16:03 carlosalberto

My current proposal as to how we can move forward with this issue is documented here

iNikem avatar May 03 '21 16:05 iNikem

I left comments on @iNikem's proposal, as has @dyladan. Once we get a few other reviews in the doc, then I suggest that we turn this into an OTep / PR.

mtwo avatar May 04 '21 21:05 mtwo

CC @jsuereth

SergeyKanzhelev avatar May 06 '21 18:05 SergeyKanzhelev

@carlosalberto can we now close this issue as we have accepted OTEP https://github.com/open-telemetry/oteps/blob/main/text/0155-external-modules.md?

iNikem avatar Jul 29 '21 12:07 iNikem