-
Notifications
You must be signed in to change notification settings - Fork 889
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
Clarification: metric namespaces are not allowed to be metric names #3476
Clarification: metric namespaces are not allowed to be metric names #3476
Conversation
21aecc4
to
fc1c002
Compare
Seems like a single issue with an emoji voting system would be an easier way to compare 2 proposals. In any case I thumbed up the other one |
can you approve it instead (or in addition)? |
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 don't see any reasoning one way or another, so I support this approach purely for consistency reasons.
yeah, I'm not aware of (and couldn't find) what the reasoning is for attribute namespaces either, does anyone know? |
@trask heads up - most likely this PR will be closed, and we'll ask you to resubmit the PR in a new repo, please refer to #3474 (comment). |
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.
This restriction has generally been followed in the collector when defining metrics collected by "scraper" receivers.
I think there is at least some utility in this restriction. For example, one could autogenerate navigable documentation based on metric namespaces, where each page would contain either a list of "sub" namespaces, or metadata for a specific metric. Allowing collisions between namespaces and metrics would be manageable by having a page that shows both a metric and a list of "sub" namespaces. However, I think as a user traversing such documentation, I might find it a bit counterintuitive.
this could apply to some metric UIs also |
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.
Please move this to https://github.com/open-telemetry/semantic-conventions
[UPDATE 2] this is the PR that introduced the limitation, but there is no discussion about why: #807 I suspect it may have happened in SIG meeting, can't recall anymore. The only argument that I was able to find saying why this limitation can be useful is the one I linked below. See here for one argument about why the limitation: #832 (comment) (copying below)
|
Is it controversial that we should be able to convert bidirectionally between our dot-notation and common structured data formats such as json or yaml? If not, this would seem to be a clear reason to keep metric names and namespaces separate. e.g. metrics:
hello.foo: 1
hello.bar: 2
# equivalent to
metrics:
hello:
foo: 1
bar: 2 If metrics names and namespaces are allowed to collide, this is problematic: metrics:
hello: 1
hello.bar: 2
# equivalent?
metrics:
hello: # is this the value '1' or an object containing "bar: 2"? Edit: Here is some documentation from ECS regarding the equivalency of these formats. |
hey all, the @open-telemetry/technical-committee is reviewing this issue, and asked to create a summary of pros/cons. I have created open-telemetry/semantic-conventions#50 based on the comments here, please comment further over there if I missed anything, thx! |
Related to #3457 (comment)
Note that this is the same as attribute namespaces which are not allowed to coincide with attribute names:
See alternative proposal (that metric namespaces ARE allowed to be metric names) at #3477
Changes
Clarifies that metric namespaces are not allowed to be metric names.