-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Organize API into Go modules based on stability and dependencies #1467
Comments
Related to #1446 |
This comment has been minimized.
This comment has been minimized.
Today I learned that Go modules can have cyclic dependencies (golang/go#24098), so I'm going to see if this can be solved much more simply with fewer (perhaps no) changes to the package structure. |
Goals
Non-goals
Proposal
@Aneurysm9 @MrAlias @rakyll I would appreciate all of your feedback on this approach. |
6 tasks
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 10, 2021
Relates to open-telemetry#1446 and open-telemetry#1467. The replace directives are hand-written today, which will become harder as we create more modules and *especially* as we add cyclic dependencies. This generates them automatically instead.
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 10, 2021
Relates to open-telemetry#1446 and open-telemetry#1467. The replace directives are hand-written today, which will become harder as we create more modules and *especially* as we add cyclic dependencies. This generates them automatically instead.
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 10, 2021
Relates to open-telemetry#1446 and open-telemetry#1467. The replace directives are hand-written today, which will become harder as we create more modules and *especially* as we add cyclic dependencies. This generates them automatically instead.
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 10, 2021
Relates to open-telemetry#1446 and open-telemetry#1467. The replace directives are hand-written today, which will become harder as we create more modules and *especially* as we add cyclic dependencies. This generates them automatically instead.
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 10, 2021
* otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to open-telemetry#1467
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 10, 2021
* otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to open-telemetry#1467
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 11, 2021
* otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to open-telemetry#1467
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 11, 2021
* otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to open-telemetry#1467
punya
added a commit
to punya/opentelemetry-go
that referenced
this issue
Feb 11, 2021
* otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to open-telemetry#1467
MrAlias
added a commit
that referenced
this issue
Feb 12, 2021
* Add a tool to auto-generate replace directives * Auto-generated changes from previous commit * Create new modules required for trace release * otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to #1467 * Move metric-related public API out of otel/ pkg Move GetMeterProvider, Meter and SetMeterProvider to new package otel/metric/global in the otel/metric module. This will allow otel/ module to be released as v1.0. * Include PR references in CHANGELOG Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Check for root dir Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
ldelossa
pushed a commit
to ldelossa/opentelemetry-go
that referenced
this issue
Mar 5, 2021
…n-telemetry#1528) * Add a tool to auto-generate replace directives * Auto-generated changes from previous commit * Create new modules required for trace release * otel/metric * otel/trace * otel/oteltest * otel/sdk/export/metric * otel/sdk/metric Relates to open-telemetry#1467 * Move metric-related public API out of otel/ pkg Move GetMeterProvider, Meter and SetMeterProvider to new package otel/metric/global in the otel/metric module. This will allow otel/ module to be released as v1.0. * Include PR references in CHANGELOG Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Check for root dir Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In order to release a stable v1.0 of the Trace API and SDK without forcing the same stability on work that is still experimental (e.g. Metrics), we need to separate the Trace API into an independent Go module. While performing this separation, we must respect the following constraints:
1. Stable modules must not depend on unstable modules.2. The global API must be a stable module.
3. There must not be cyclic dependencies between modules (not just between packages).The text was updated successfully, but these errors were encountered: