semantic-conventions/specification/trace/semantic_conventions
Matthew Wear 18c42b60ca Exception reporting specification (#697)
* Add semantic conventions for errors

* Update error.type description

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* update semantic conventions for exceptions

* add details for attributes; remove log.severity; add API details

* rename exceptions.md -> exception-reporting.md

* more accurately describe format for java

* alphabetize languages in stacktrace representation table

* prefer dynamic type over static type

* add log.severity convention

* Revert "add log.severity convention"

This reverts commit 137556e44bf74e6d76a17bd81943702a460cb9de.

* rename stacktrace -> exception.stacktrace

* move file to semantic conventions directory

* move RecordException to API

* fix formatting

Co-authored-by: Armin Ruech <armin.ruech@gmail.com>
2020-07-17 12:52:48 -04:00
..
README.md Link from trace (and metric) semantic conventions to resources (#603) 2020-05-14 10:11:11 -07:00
database.md Fix Redis sample (db.redis.database_index was missing) (#692) 2020-07-09 19:26:56 +02:00
exceptions.md Exception reporting specification (#697) 2020-07-17 12:52:48 -04:00
faas.md Add span attribute to indicate cold starts of Function as a Service executions (#650) 2020-06-15 11:15:02 -07:00
http.md Add mapping for nginx 499 http status (#677) 2020-07-10 17:56:07 +02:00
messaging.md Adapt semantic conventions for the span name of messaging systems (#690) 2020-07-15 13:14:56 -07:00
rpc.md Add peer.service semantic convention to indicate the name of a target… (#652) 2020-06-30 09:32:23 -07:00
span-general.md Add peer.service semantic convention to indicate the name of a target… (#652) 2020-06-30 09:32:23 -07:00

README.md

Trace Semantic Conventions

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: Spans for HTTP client and server.
  • Database: Spans for SQL and NoSQL client calls.
  • RPC/RMI: Spans for remote procedure calls (e.g., gRPC).
  • Messaging: Spans for interaction with messaging systems (queues, publish/subscribe, etc.).
  • FaaS: Spans for Function as a Service (e.g., AWS Lambda).

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