open-telemetry / opentelemetry-specification

Specifications for OpenTelemetry
https://opentelemetry.io
Apache License 2.0
3.71k stars 887 forks source link

Specification & OTEP relationship: Provide references to implemented OTEPs #3792

Open svrnm opened 9 months ago

svrnm commented 9 months ago

What are you trying to achieve?

Please take a look at this issue by @hterik: https://github.com/open-telemetry/opentelemetry.io/issues/3685, the particular issue is that it is not clear from the Spec on Span Status), what the intend of this section is. Only after going into the Git Blame View, digging up a related PR and issue, I was able to find the OTEP 136 which provides examples & background on why things are specified this way.

This is only one instance of an issue I had a few times now: while reading the spec, I missed the full picture of where things are coming from and why they are the way they are. Knowing how things work, I looked for the right OTEP to learn more. Outsiders lack this knowledge.

Therefore, what I want to suggest with this issue, is that the specification has in-place back links to the OTEPs that have been implemented by a certain section. Ideally as close as possible to the content, e.g. in the case of Span Status this shouldn't be a Reference section at the very bottom of the page, but a footnote at the title, or a line at the beginning stating that this is implementing this and that OTEP.

Many OTEPs contain a lot of valuable contextual details, so I think this would help people a lot to understand the specification better by having them accessible from the right spot in the spec.

Additional context.

So far I could identify the following places where a reference is provided:

Tracking

dyladan commented 9 months ago

I really like this idea. I believe it may also help the PR review process when new specification is added if it explicitly calls out the OTEP which motivates it directly in the text.

hterik commented 9 months ago

This sounds like good idea for easier traceability. One has to be careful to not rely too heavily on it though, linking to xEPs should not be a substitute for good documentation.

For an example of what can happen, see Python the typing module. Where the documentation was for a long time lacking and often referring back to old PEPs, that by time became superseded by later improvements and instead provided out-of-date examples. https://github.com/python/cpython/issues/91533

reyang commented 9 months ago

We will have a discussion in the upcoming TC meeting next year (2024).

austinlparker commented 5 months ago

We don't have a project to assign this to yet, but this is on the GC to solve.

tigrannajaryan commented 5 months ago

OTEPs 0035, 0099, 0122 are linked from https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md

Marking as done.

tigrannajaryan commented 4 months ago

We are looking for volunteers to edit the spec and add the references to OTEPs.

reyang commented 4 months ago

I've updated the metrics related OTEPs. #4022