39 lines
1.7 KiB
YAML
39 lines
1.7 KiB
YAML
groups:
|
|
- id: trace-exception
|
|
prefix: exception
|
|
type: event
|
|
brief: >
|
|
This document defines the attributes used to
|
|
report a single exception associated with a span.
|
|
attributes:
|
|
- ref: exception.type
|
|
- ref: exception.message
|
|
- ref: exception.stacktrace
|
|
- id: escaped
|
|
type: boolean
|
|
brief: >
|
|
SHOULD be set to true if the exception event is recorded at a point where
|
|
it is known that the exception is escaping the scope of the span.
|
|
note: |-
|
|
An exception is considered to have escaped (or left) the scope of a span,
|
|
if that span is ended while the exception is still logically "in flight".
|
|
This may be actually "in flight" in some languages (e.g. if the exception
|
|
is passed to a Context manager's `__exit__` method in Python) but will
|
|
usually be caught at the point of recording the exception in most languages.
|
|
|
|
It is usually not possible to determine at the point where an exception is thrown
|
|
whether it will escape the scope of a span.
|
|
However, it is trivial to know that an exception
|
|
will escape, if one checks for an active exception just before ending the span,
|
|
as done in the [example above](#recording-an-exception).
|
|
|
|
It follows that an exception may still escape the scope of the span
|
|
even if the `exception.escaped` attribute was not set or set to false,
|
|
since the event might have been recorded at a time where it was not
|
|
clear whether the exception will escape.
|
|
|
|
constraints:
|
|
- any_of:
|
|
- "exception.type"
|
|
- "exception.message"
|