-
Notifications
You must be signed in to change notification settings - Fork 893
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
Refactor semantic conventions #1977
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a great start!
@@ -9,22 +9,9 @@ This document defines how to describe remote procedure calls | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You probably want to name the directory rpc
and not rpc.md
.
@@ -0,0 +1,20 @@ | |||
# Cassandra | |||
|
|||
**Status**: [Experimental](../../../document-status.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like having implementations in separate documents. This will allow us to have experimental documents for implementations, while the overall conventions could be stable.
Looks great! What about yaml files? It looks like many changes should be done through them and the instrumentation SIG expertise area should cover both |
I suggest keeping yaml and md together.
|
@lmolkova I'm not familiar with how the yaml files work, I thought they were generated from the markdown. I agree we need to make them work properly before committing this. But if we want to change their behavior/location, perhaps that can be a follow up PR? I don't know who currently consumes them. |
md files ( Anyway, I'm fine with a follow-up PR. |
I have heard the misconception that the YAML is generated from the markdown for the second time from different persons now. But I wonder how this occurs. Isn't it be far more usual to generate text from structured data than the other way round? Is there something we could change to make it more obvious how this works, maybe in the syntax of the marker comments, or elsewhere? There is documentation about these also in the spec BTW: https://github.com/open-telemetry/opentelemetry-specification/tree/main/semantic_conventions |
@lmolkova for metrics vs trace, I want to see if we can combine them rather than keep them separate. As an instrumentation author, you will need to understand the whole model - configuration, span structure, and how metrics relate to these. Some semantics, like faas, have also have resource definitions. I want to see if we can present this as a single model. My hope is that by moving out all of the implementation-specific details, there will now be room to keep all of this info in a single file. If not, I'd like to try using suffixes like |
Amazing! I really like the idea of bringing all semantic convention related things together, and of course splitting the implementation specific conventions out. This will help the semantic convention towards stability. The YAML is probably the first source of truth that needs changing to make this structure a reality, as others have mentioned. I also imagine that a fair amount of re-work would be required in |
I like the layout and its separation of implementations, and how all signal conventions are in one place. However, as @lmolkova mentioned, this should also be done for the YAML files otherwise it will be very confusing to find the right file to change |
|
||
## Requirements | ||
|
||
`db.system` MUST be set to `jdmc`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JDMC or JDBC?
Also, so I understand, "database" implies database-clients and database-servers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought it was just clients, and the span kind is CLIENT.
@@ -0,0 +1,70 @@ | |||
# gRPC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was the directory mean to be rpc
or rpc.md
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like this shift!
|
||
**Status**: [Experimental](../document-status.md) | ||
|
||
Spans and metrics often represent well-known protocols such as HTTP requests, database calls, or message queues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Telemetry signals? Otherwise you will have to list Logs (and other stuff) in the future.
Great work, thanks for working on this! |
@Oberon00 I think if the suggestion structure in this PR gets accepted/merged, the top-level README there should probably point out that the .md files here are "auto-generated" by the yaml files. I think maybe that will help already? Another thing would be to put also the yaml files together in the same folder, but I don't know if that's even possible. |
This PR was marked stale due to lack of activity. It will be closed in 7 days. |
Hey folks, I've raised a PR to refactor the YAML so it follows the same structure as this. This is a pre-requisite of refactoring the markdown like this PR shows. |
This PR was marked stale due to lack of activity. It will be closed in 7 days. |
Closed as inactive. Feel free to reopen if this PR is still being worked on. |
@tedsuo any chance we can revive this? I think this is very important. |
Based on discussions within the Semantic Conventions SIG, I am proposing a refactor to how the semantic conventions are laid out within the spec.
Proposed changes:
/implementation
folder under each topic.The new layout can viewed here, on the branch in GitHub.
Example layout:
Goals:
This new layout should make it easier to browse and comprehend all of the available semantic conventions. This should also make it easier to assign domain experts as codeowners for each convention. It also makes it easier to see how most implementations are underspecified. This will help the Semantic Conventions / Instrumentation SIG move forwards.
This PR only attempts to take separate and recombine the concepts currently described in the spec, while changing the wording as little as possible. It does not attempt to adjust any concepts or clarify existing any descriptions. Once the refactor is complete, approvers should be assigned to each convention so that we can begin processing improvements to the spec.
This PR is currently a draft, but it is ready for initial feedback.
Completed so far:
TODO: