-
Notifications
You must be signed in to change notification settings - Fork 273
[k8s] Fix updowncounters to follow the non-pluralization rule #2822
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
base: main
Are you sure you want to change the base?
Conversation
1761c7e
to
1dc71dc
Compare
1dc71dc
to
7a3898b
Compare
517bf26
to
f2ec37b
Compare
Signed-off-by: ChrsMark <[email protected]>
f2ec37b
to
6b81fd4
Compare
Co-authored-by: David Ashpole <[email protected]>
stability: development | ||
deprecated: | ||
reason: renamed | ||
renamed_to: k8s.replicationcontroller.desired_pods |
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.
Should we maybe add k8s.replicationcontroller.desired_pods
as an additional deprecated metric?
(as this is the second time this metric is being renamed)
Otherwise k8s.replicationcontroller.desired_pods
wouldn't be mentioned anywhere as a deprecated metric with only the original (from the first rename) name being documented here (i.e. k8s.replication_controller.desired_pods
).
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 had both metrics originally, but the validation failed cause it was pointing to a non-existing metric (the first rename). Not sure if this is expected or an unhandled corner-case of our tooling 🤔
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 believe the tooling expects all the previous metric names to remain around.
Given these are not "stable" I think there's less enforcement around keeping things around, although it is risky depending on whether the intermediate name was used.
If you have a caveat asking folks NOT to migrate to new metrics past version "X" then you can drop the intermediary if it's between "X" and now, as (theoretically) anyone taking a dependency there new this might be changing.
stability: development | ||
deprecated: | ||
reason: renamed | ||
renamed_to: k8s.replicationcontroller.available_pods |
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.
same as the comment above about adding additional deprecated metric
Even after #2306 is resolved, it still unclear why is this change required. Looking at these guidelines it seems like existing naming still valid.
What am I missing? |
The PR introduces a significant number of breaking changes, and I’m not sure the current justification is sufficient. |
@dmitryax the guidance moves us towards consistency based on the discussions happened in the respective guidance PR and specifically #2317 (comment). The part that applies here is that
Also note that those metrics are not in use yet in the Collector in the current format hence it's not really an impactful breaking change. Those metrics are already different to the Collector's ones as we can see in https://github.com/open-telemetry/semantic-conventions/pull/2822/files#diff-ba5fa96c108eca125c2c88f68cdfb0a3d0c95792912f5518eedd55666bc1c033. I don't have a strong preference for this change either but it seems that we need it so as to be consistent with the rest of the project. @lmolkova please chime in if we miss anything here. |
Ok, but the guidelines in the spec are still not strong enough for this change. All of the existing metrics seem to follow this section:
Do we need to remove that part from the spec? In general, looking at the changed metrics names as a user, the existing ones seem to be more intuitive than to the new ones. |
- k8s.node.allocatable.pods -> k8s.node.allocatable.pod.count | ||
- k8s.daemonset.current_scheduled_nodes -> k8s.daemonset.current_scheduled_node.count | ||
- k8s.daemonset.desired_scheduled_nodes -> k8s.daemonset.desired_scheduled_node.count | ||
- k8s.daemonset.misscheduled_nodes -> k8s.daemonset.misscheduled_node.count | ||
- k8s.daemonset.ready_nodes -> k8s.daemonset.ready_node.count |
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.
Is it expected that we always just add .count
suffix? Looking at the discussions behind the new guidelines, should we consider something like this?
- k8s.node.allocatable.pods -> k8s.node.allocatable.pod.count | |
- k8s.daemonset.current_scheduled_nodes -> k8s.daemonset.current_scheduled_node.count | |
- k8s.daemonset.desired_scheduled_nodes -> k8s.daemonset.desired_scheduled_node.count | |
- k8s.daemonset.misscheduled_nodes -> k8s.daemonset.misscheduled_node.count | |
- k8s.daemonset.ready_nodes -> k8s.daemonset.ready_node.count | |
- k8s.daemonset.current_scheduled_nodes -> k8s.daemonset.node.current_scheduled | |
- k8s.daemonset.desired_scheduled_nodes -> k8s.daemonset.node.desired_scheduled | |
- k8s.daemonset.misscheduled_nodes -> k8s.daemonset.node.misscheduled | |
- k8s.daemonset.ready_nodes -> k8s.daemonset.node.ready |
Similar for other metrics. Just asking for sake of discussion.
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.
Yeap, adding .count
is one option but what you suggest is also an option. I went for .count
which looked less controversial to me (i.e. k8s.daemonset.node.ready
might not be so clear?) but I would be happy to change it to what you suggest if it's preferable.
@lmolkova could you let us know what your suggestion would be here?
@open-telemetry/semconv-k8s-approvers please let us know what you think.
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 believe your PR is ready to be merged. @lmolkova is OOO right now.
Personally, I like the consistency of .count
you have here, but I think both options are viable
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 marked the PR as ready to be merged. If the k8s SIG feels confident in this direction, please close this comment and this will be merged, otherwise please leave this open.
stability: development | ||
deprecated: | ||
reason: renamed | ||
renamed_to: k8s.replicationcontroller.desired_pods |
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 believe the tooling expects all the previous metric names to remain around.
Given these are not "stable" I think there's less enforcement around keeping things around, although it is risky depending on whether the intermediate name was used.
If you have a caveat asking folks NOT to migrate to new metrics past version "X" then you can drop the intermediary if it's between "X" and now, as (theoretically) anyone taking a dependency there new this might be changing.
Fixes #2301
Changes
This brings names in alignment with the pluralisation guidelines: https://github.com/open-telemetry/semantic-conventions/blob/v1.37.0/docs/general/naming.md#do-not-pluralize-updowncounter-names
Renamed metrics:
Merge requirement checklist
[chore]