Skip to content

Latest commit

History

History
39 lines (29 loc) 路 1.94 KB

attribute-naming.mdx

File metadata and controls

39 lines (29 loc) 路 1.94 KB
id title description keywords image
attribute-naming
attribute-naming
Enforce attribute keys to follow common specifications | The Tracetest Analyzer analyzes OpenTelemetry traces
tracetest
trace-based testing
observability
distributed tracing
testing

Enforce attribute keys to follow common specifications.

Rule Details

An Attribute is a key-value pair, which is encapsulated as part of a span. The attribute key should follow a set of common specifications to be considered valid.

The following OpenTelemetry Semantic Conventions for attribute keys are defined:

  • It must be a non-null and non-empty string.
  • It must be a valid Unicode sequence.
  • It should use namespacing to avoid name clashes. Delimit the namespaces using a dot character. For example service.version denotes the service version where service is the namespace and version is an attribute in that namespace.
  • Namespaces can be nested. For example telemetry.sdk is a namespace inside top-level telemetry namespace and telemetry.sdk.name is an attribute inside telemetry.sdk namespace.
  • For each multi-word separate the words by underscores (use snake_case). For example http.status_code denotes the status code in the http namespace.
  • Names should not coincide with namespaces. For example if service.instance.id is an attribute name then it is no longer valid to have an attribute named service.instance because service.instance is already a namespace.

Options

This rule has the following options:

  • "error" requires attribute keys to follow the OTel semantic convention
  • "disabled" disables the attribute keys verification
  • "warning" verifies attribute keys to follow the OTel semantic convention but does not impact the analyzer score

When Not To Use It

If you don鈥檛 want to enforce OTel attribute keys, don't enable this rule.