class OpenTracing::Instrumentation::Common::ErrorWriter
ErrorWriter
can be used to write error tag and log to span
Constants
- ERROR_TAG
- LOG_ERROR_EVENT
Attributes
log_error_event[R]
set_error_tag[R]
Public Class Methods
new( set_error_tag: true, log_error_event: true )
click to toggle source
@param set_error_tag
[TrueClass,ErrorClass] enable set error tag @param log_error_event
[TrueClass, ErrorClass] enable log exception
# File lib/opentracing/instrumentation/common/error_writer.rb, line 18 def initialize( set_error_tag: true, log_error_event: true ) @set_error_tag = set_error_tag @log_error_event = log_error_event end
Public Instance Methods
==(other)
click to toggle source
# File lib/opentracing/instrumentation/common/error_writer.rb, line 35 def ==(other) set_error_tag == other.set_error_tag && log_error_event == other.log_error_event end
write_error(span, exception, event: LOG_ERROR_EVENT)
click to toggle source
Write error tag and log error event @param span [OpenTracing::Span] target for tag and log @param exception [Exception] logged to tag
# File lib/opentracing/instrumentation/common/error_writer.rb, line 29 def write_error(span, exception, event: LOG_ERROR_EVENT) tag_error(span) log_error(span, exception, event) end
Private Instance Methods
log_error(span, exception, event)
click to toggle source
# File lib/opentracing/instrumentation/common/error_writer.rb, line 48 def log_error(span, exception, event) return unless log_error_event span.log_kv( event: event, 'error.kind': exception.class.to_s, message: exception.to_s, stack: JSON.dump(exception.backtrace), ) end
tag_error(span)
click to toggle source
# File lib/opentracing/instrumentation/common/error_writer.rb, line 42 def tag_error(span) return unless set_error_tag span.set_tag('error', true) end