Mercurial > prosody-modules
diff mod_sentry/sentry.lib.lua @ 4285:e67081d1f835
mod_sentry: Support for including stack frames in exception events
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 09 Dec 2020 15:15:17 +0000 |
parents | b7045af1e5b7 |
children | 64f400a38a30 |
line wrap: on
line diff
--- a/mod_sentry/sentry.lib.lua Wed Dec 09 12:21:17 2020 +0000 +++ b/mod_sentry/sentry.lib.lua Wed Dec 09 15:15:17 2020 +0000 @@ -54,7 +54,7 @@ end local function error_to_sentry_exception(e) - return { + local exception = { type = e.condition or (e.code and tostring(e.code)) or nil; value = e.text or tostring(e); context = e.source; @@ -65,6 +65,20 @@ data = get_error_data(e.instance_id, e.context); }; }; + local traceback = e.context.traceback; + if traceback and type(traceback) == "table" then + local frames = {}; + for i = #traceback, 1 do + local frame = traceback[i]; + table.insert(frames, { + ["function"] = frame.info.name; + filename = frame.info.short_src; + lineno = frame.info.currentline; + }); + end + exception.frames = frames; + end + return exception; end local sentry_event_methods = {};