semantic-conventions/specification/trace/semantic_conventions
Christian Neumüller 07721f339c Add back refs to cloud.resource_id lost in FaaS renaming. (#3329)
These places were removed when #3188 in its original form removed
faas.id without replacement and weren't added back after changing it to
introduce cloud.resource_id instead.

Editorial change, no CHANGELOG or issue.
2023-04-11 07:13:14 -06:00
..
instrumentation AWS Lambda - remove references to messaging.destination.kind and messaging.source.kind (#3348) 2023-03-28 18:14:27 +02:00
README.md Add feature flagging semantic conventions (#2529) 2022-12-01 12:13:48 -08:00
cloudevents.md cloudevents: relax requirement level for type and version (#2618) 2022-06-21 13:29:53 +02:00
compatibility.md Adopt attribute requirement levels in semantic conventions (#2594) 2022-06-14 08:02:55 -07:00
database.md Change `db.statement` to only be collected if there is sanitization (#3127) 2023-04-06 10:35:33 -07:00
exceptions.md erlang/elixir: add stacktrace representation to table (#3313) 2023-03-24 12:05:38 -06:00
faas.md Add back refs to cloud.resource_id lost in FaaS renaming. (#3329) 2023-04-11 07:13:14 -06:00
feature-flags.md Add feature flagging semantic conventions (#2529) 2022-12-01 12:13:48 -08:00
http.md BREAKING rename `net.app.protocol.(name|version)` to `net.protocol.(name|version)` and replace `http.flavor` with `net.protocol.(name|version)` (#3272) 2023-03-10 10:15:15 -08:00
messaging.md BREAKING: remove messaging.destination.kind and messaging.source.kind values (#3214) 2023-03-21 10:51:55 -06:00
rpc.md BREAKING: Change span statuses for gRPC server spans (#3333) 2023-04-03 11:27:56 -06:00
span-general.md Add warning about net.* attributes which are used by HTTP semconv (#3278) 2023-04-06 10:05:07 -04:00

README.md

Trace Semantic Conventions

Status: Experimental

In OpenTelemetry spans can be created freely and its up to the implementor to annotate them with attributes specific to the represented operation. Spans represent specific operations in and between systems. Some of these operations represent calls that use well-known protocols like HTTP or database calls. Depending on the protocol and the type of operation, additional information is needed to represent and analyze a span correctly in monitoring systems. It is also important to unify how this attribution is made in different languages. This way, the operator will not need to learn specifics of a language and telemetry collected from polyglot (multi-language) micro-service environments can still be easily correlated and cross-analyzed.

The following semantic conventions for spans are defined:

  • General: General semantic attributes that may be used in describing different kinds of operations.
  • HTTP: For HTTP client and server spans.
  • Database: For SQL and NoSQL client call spans.
  • RPC/RMI: For remote procedure call (e.g., gRPC) spans.
  • Messaging: For messaging systems (queues, publish/subscribe, etc.) spans.
  • FaaS: For Function as a Service (e.g., AWS Lambda) spans.
  • Exceptions: For recording exceptions associated with a span.
  • Compatibility: For spans generated by compatibility components, e.g. OpenTracing Shim layer.
  • Feature Flags: For recording feature flag evaluations associated with a span.

The following library-specific semantic conventions are defined:

Apart from semantic conventions for traces and metrics, OpenTelemetry also defines the concept of overarching Resources with their own Resource Semantic Conventions.

Event Name Reuse Prohibition

A new event MUST NOT be added with the same name as an event that existed in the past but was renamed (with a corresponding schema file).

When introducing a new event name check all existing schema files to make sure the name does not appear as a key of any "rename_events" section (keys denote old event names in rename operations).