BREAKING: Generate System metrics semconv from YAML + move attributes to their own namespace#89
Conversation
78f03af to
1c00d0e
Compare
jsuereth
left a comment
There was a problem hiding this comment.
As far as what was done in this PR, this LGTM.
- I agree with the namespaces you chose for attributes, as they line up w/ the metrics.
- I agree with the structure/breakdown in the YAML
- I think the final markdown looks good.
We should do one of two things with this PR:
- Open a (blocking) bug about providing guidance on how to deal with the breaking changes in system metrics.
- Advise instrumentation to continue using the older System metrics specification until the system metrics working group has had a chance to walk through their issues and declare this stable.
What does everyone think?
1c00d0e to
e22e9fc
Compare
e22e9fc to
6d7c1ce
Compare
|
This needs to be rebased after #99 is merged (or the other way round). |
|
I rebased and added the new metrics introduced in #99. @jsuereth As far as the plan goes, I think option 2 makes sense:
I think once the working group has looked at these metrics and decided they are good, then we can follow up with option 1 and add a issue to track how we will communicate the breaking change and add instructions. Additionally, we can also add a Notice to the markdown here, saying these have changed and for instrumentations to continue to use the previous version (point to the last release version). What do you think? |
|
Just to verify if I understood it correctly, this PR changes the attribute values of example |
|
In my opinion, it's hard to track the breaking changes in this PR. I'd suggest separate PR's: 1 for YAML generation with no changes and another one for the adoption of #51. But I'm good to merge as is if @open-telemetry/specs-semconv-maintainers disagree |
I definitely agree, but the "problem" is that since multiple metrics use the same attribute key with different semantics there's no way to define them once and share in YAML. The only way I see to convert the existing metrics to YAML keeping the attributes as-is is to duplicate them all over in the YAML definition. If folks think that's the best way to go, I can do that. But it's not a trivial amount of work for just being removed right after. I will work on this now, to add a changelog entry + the schema file that should highlight the breaking changes more easily. Maybe that helps. |
|
@dmitryax as we discussed in the SIG meeting yesterday, I changed the PR to revert the I updated the changelog/schema/my wall-of-text comment with the breaking changes summary to reflect this. Once you create the issue about your concern with the network attributes, please link it here. |
|
@joaopgrassi I submitted #308. We should probably do the same for other metric groups |
dmitryax
left a comment
There was a problem hiding this comment.
LGTM to unblock further changes
…ontrib/semantic-conventions into feat/system-metrics-yaml
mx-psi
left a comment
There was a problem hiding this comment.
cc @open-telemetry/semconv-system-approvers the cpu attribute got renamed to system.cpu.logical_number (see more in #89 (comment) ), please speak out if you disagree with the change
Don't want to block the merge of this but shouldn't the That's related to open-telemetry/opentelemetry-collector-contrib#26533 (comment). In order to not keep this one blocked we can revisit this as part of System SIG along with the others' attributes stabilization. |
|
Discussed how to move forward with this PR in the semconv sig meeting (Sept 11th).
@open-telemetry/specs-semconv-approvers @open-telemetry/specs-semconv-maintainers this is good to merge! |
Closes #73
This PR does:
Summary of breaking changes
A summary of the changes can be found in this comment. It can also be seen in other "formats" in the changelog + schema file.
Still need resolution from #51. There are several attributes in system metrics (e.g., state) that are used in different metrics but with different enum values.If we want to keep the markdown output as "short"state, we will probably have to see what can be done with the tooling. With the current version of the PR, I have the attributes "namespaced" by using theattribute_groupfeature in order to re-use the attribute across metrics.