The decorator handles Elixir exceptions and errors well, but in the most general case it's possible that we might call some code (possibly in Erlang) that will just :erlang.exit/1,2. In such a case, with the current code, a span is not marked as an error and contains almost no tags, which makes it hard to pinpoint the problem:
With this PR such a span is correctly marked as an error with otel.status_description being set to the Erlang exception class (one of throw, error, or exit) and a reason:
Hi,
Thanks for a great OTel decorator!
The decorator handles Elixir exceptions and errors well, but in the most general case it's possible that we might call some code (possibly in Erlang) that will just
:erlang.exit/1,2
. In such a case, with the current code, a span is not marked as an error and contains almost no tags, which makes it hard to pinpoint the problem:With this PR such a span is correctly marked as an error with
otel.status_description
being set to the Erlang exception class (one ofthrow
,error
, orexit
) and a reason: