# HG changeset patch # User Matthew Wild # Date 1607526917 0 # Node ID e67081d1f8357f92e6a0bc82e4f4f3fdd75317ca # Parent b7045af1e5b79f8ff352620b28912dc75a0bd07b mod_sentry: Support for including stack frames in exception events diff -r b7045af1e5b7 -r e67081d1f835 mod_sentry/sentry.lib.lua --- 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 = {};