class Rabbitek::Client::Hooks::OpenTracing

OpenTracing client hook

Public Instance Methods

call(payload, params) click to toggle source
Calls superclass method Rabbitek::ClientHook#call
# File lib/rabbitek/client/hooks/opentracing.rb, line 11
def call(payload, params)
  result = nil

  ::OpenTracing.start_active_span(params[:routing_key], opentracing_options(params)) do |scope|
    params[:headers] ||= {}
    Utils::OpenTracing.inject!(scope.span, params[:headers])

    result = super
  rescue StandardError => e
    raise unless scope.span

    Utils::OpenTracing.log_error(scope.span, e)
    raise
  end

  result
end
opentracing_options(params) click to toggle source
# File lib/rabbitek/client/hooks/opentracing.rb, line 29
def opentracing_options(params)
  Utils::OpenTracing.client_options(params)
end