Skip to content

Clarify usage of "component" attribute in semantic conventions #336

Closed
@tigrannajaryan

Description

@tigrannajaryan

Span Semantic conventions currently define an attribute "component". It is unclear what exactly this attribute is intended to reflect.

Semantic conventions define different values of "component" attribute in each of the sections of the document, as if the sections are exclusive of one another, which seems to be an incorrect assumption. A counter-example to that assumption would be a Database system which is accessible via HTTP transport (e.g. https://wiki.postgresql.org/wiki/HTTP_API). In this counter-example it is unclear whether the "component" should be set to "http" or to "postgresql".

Unless there is a clear intent on the meaning of "component" attribute and what value should be populated when the emitting component logically belongs to different kinds of emitters defined in this document I suggest that we remove the attribute altogether. Consumers of attributes which are interested in learning the type of the component that emitted the span can do so by examining the presence or absence of "Required" attribute of appropriate attribute group. For example the presence of "http.method" attribute would mean that the emitter is an "http" component (perhaps in addition to being something else at the same time).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions