-
Notifications
You must be signed in to change notification settings - Fork 123
Description
Feature Request
Motivation
Currently there's a special/reserved attribute otel.name that can be used to send a dynamic value as the name of a span, which is supported just fine in opentelemetry but not otherwise a thing in the broader tracing environment.
This only works for spans, not for events, which is a little surprising. The use cases for dynamic event names are more or less the same as for dynamic span names, and I imagine the implementation would look similar too.
Proposal
The otel.name field, when used on a span, should set the name of the resulting span (overriding whatever static name is present). The other otel.xxx attributes don't make any sense on events and should continue not to apply.
Docs should probably mention for completeness that otel.name works on events as well as spans, though maybe that's less of a priority -- it's easy to assume it works the same, the surprise is that it currently does not.
Alternatives
Just making otel.name work for both seems like the approach that's most concordant with the existing API. I suppose there could be a separate namespace for span and event magic attributes, but that horse has more or less already flown with otel.name being un-namespaced.
I have been asked by coworkers "hey, what on earth is that otel.name doing", and perhaps exporting the attribute names which have special meanings as constants would be a chance to attach more discoverable documentation to them and distinguish the span- and event-applicable ones without any breaking change, but that's really orthogonal to the main issue of getting dynamic names on events working some way or other.