Skip to content
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

Clarify prototyping requirements for semantic convention stability #3241

Closed
tedsuo opened this issue Feb 21, 2023 · 1 comment
Closed

Clarify prototyping requirements for semantic convention stability #3241

tedsuo opened this issue Feb 21, 2023 · 1 comment
Assignees
Labels
area:semantic-conventions Related to semantic conventions spec:miscellaneous For issues that don't match any other spec label

Comments

@tedsuo
Copy link
Contributor

tedsuo commented Feb 21, 2023

Our current protocol for stabilizing semantic conventions works like this:

  • propose spec changes for a semantic convention
  • prototype conventions in two or three languages (one library per language)
  • mark convention as stable
  • update all current instrumentation in various contrib repos

A flaw in this approach is that while prototyping across different languages is a good requirement for testing API design and SDK functionality, it does not necessarily uncover issues that may be present in a subset of libraries within the same language.

For example, when stabilizing HTTP, we discovered the following:

  • Some libraries require signed HTTP requests, which was incompatible with the requirement that the spanID change on every retry.
  • Some HTTP libraries were at different levels of abstraction, with access to different lifecycle hooks and information. The proposed semantic conventions did not address this effectively.

It would have been unfortunate if we had only discovered these issues after the conventions were marked stable, and the spec working group was disbanded. And it seems likely that a number of semantic conventions will face similar situations – for example, the wide variety of database clients we want to instrument.

To close this gap, I recommend that the charter for each semantic convention working group be extended, to include a period where the conventions are marked as "frozen" or "release candidate" in the spec, while the group participates in porting instrumentation libraries to the new spec – possibly on a branch to avoid thrash.

cc @trask

@tedsuo tedsuo added the spec:miscellaneous For issues that don't match any other spec label label Feb 21, 2023
@arminru arminru added the area:semantic-conventions Related to semantic conventions label Feb 21, 2023
@trask trask assigned trask and unassigned jmacd Feb 21, 2023
@trask trask moved this to Blocker for stability in Spec: HTTP Semantic Conventions Mar 1, 2023
@trask
Copy link
Member

trask commented Mar 3, 2023

I've opened #3279 to track marking the HTTP semantic conventions as stable frozen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:semantic-conventions Related to semantic conventions spec:miscellaneous For issues that don't match any other spec label
Projects
None yet
Development

No branches or pull requests

4 participants