You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is part of #1599 where we aim to make code.* attributes as release-candidate.
Some of the code.* attributes are being renamed with #1624, but this issue is about the values of those attributes and having a clear definition for them, in particular:
code.function.name (previously code.function).
code.namespace
In the discussion of #1624 we found that not having explicit per-language examples leaves interpretation open (here and here), and is likely to cause ambiguity and potential inconsistencies, also there might be per-language constraints or overhead to provide those values.
Those attributes are currently in experimental, and we aim to promote them to release candidate with #1599, as per this comment we consider that they are not used enough to justify a migration plan to prevent unexpected breaking changes (for example with OTEL_SEMCONV_STABILITY_OPT_IN environment variable).
Here the goal would be to define for each language:
the value of code.function.name
the value of code.namespace
what value to use when only a single value is provided by the language/platform, in other words when to split and how
what value to use when only a partial value is available, for example anonymous lambdas/functions that might not have an explicit name in code (but likely have a "technical name").
For now, we aim to maximize consistency, however if the overhead to provide those values (for example due to extra allocation or string splitting overhead), it might be possible to provide "slightly inconsistent values" to avoid those.
The text was updated successfully, but these errors were encountered:
Wouldn't it be better/simpler to just have one attribute code.function.name which value is a fully-qualified name (or "full name") and get rid of code.namespace? It would solve both issues:
what value to use when only a single value is provided by the language/platform, in other words when to split and how
what value to use when only a partial value is available, for example anonymous lambdas/functions that might not have an explicit name in code (but likely have a "technical name").
Maybe we should name such attribute code.function.full_name or code.function.fullname
This is part of #1599 where we aim to make
code.*
attributes as release-candidate.Some of the
code.*
attributes are being renamed with #1624, but this issue is about the values of those attributes and having a clear definition for them, in particular:code.function.name
(previouslycode.function
).code.namespace
In the discussion of #1624 we found that not having explicit per-language examples leaves interpretation open (here and here), and is likely to cause ambiguity and potential inconsistencies, also there might be per-language constraints or overhead to provide those values.
Those attributes are currently in
experimental
, and we aim to promote them torelease candidate
with #1599, as per this comment we consider that they are not used enough to justify a migration plan to prevent unexpected breaking changes (for example withOTEL_SEMCONV_STABILITY_OPT_IN
environment variable).Here the goal would be to define for each language:
code.function.name
code.namespace
For now, we aim to maximize consistency, however if the overhead to provide those values (for example due to extra allocation or string splitting overhead), it might be possible to provide "slightly inconsistent values" to avoid those.
The text was updated successfully, but these errors were encountered: