From 280bfbeb824592d0567000f259ce4d6f4c2176a9 Mon Sep 17 00:00:00 2001 From: cn Date: Fri, 13 Jul 2018 14:29:22 +0200 Subject: [PATCH] tracing: mark failed spans by catching and re-throwing StandardErrors --- lib/dyndnsd/helper.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/dyndnsd/helper.rb b/lib/dyndnsd/helper.rb index e5a75da..0184735 100644 --- a/lib/dyndnsd/helper.rb +++ b/lib/dyndnsd/helper.rb @@ -34,6 +34,16 @@ module Dyndnsd span.set_tag('span.kind', 'server') begin block.call(span) + rescue StandardError => e + span.set_tag('error', true) + span.log_kv( + event: 'error', + 'error.kind': e.class.to_s, + 'error.object': e, + message: e.message, + stack: e.backtrace.join("\n") + ) + raise ensure scope.close end