Sha256: a1f5f99dfceefee3630507b477adfba888904634f678c9486fe6721dc495e4c9
Contents?: true
Size: 1.68 KB
Versions: 2
Compression:
Stored size: 1.68 KB
Contents
# encoding: utf-8 require 'ting_yun/agent' require 'ting_yun/support/exception' module TingYun module Instrumentation module Support module ExternalError module_function def capture_exception(response,request,type) if !response.nil? && response.code =~ /^[4,5][0-9][0-9]$/ && response.code!='401' e = TingYun::Support::Exception::InternalServerError.new("#{response.code}: #{response.message}") klass = "External/#{request.uri.to_s.gsub('/','%2F')}/#{type}" e.instance_variable_set(:@tingyun_klass, klass) e.instance_variable_set(:@tingyun_external, true) e.instance_variable_set(:@tingyun_code, response.code) e.instance_variable_set(:@tingyun_trace, caller.reject! { |t| t.include?('tingyun_rpm') }) TingYun::Agent.notice_error(e) end end def handle_error(e,klass) e.instance_variable_set(:@tingyun_klass, klass) e.instance_variable_set(:@tingyun_external, true) e.instance_variable_set(:@tingyun_trace, caller.reject! { |t| t.include?('tingyun_rpm') }) case e when Errno::ECONNREFUSED e.instance_variable_set(:@tingyun_code, 902) when SocketError e.instance_variable_set(:@tingyun_code, 901) when OpenSSL::SSL::SSLError e.instance_variable_set(:@tingyun_code, 908) when Timeout::Error e.instance_variable_set(:@tingyun_code, 903) else e.instance_variable_set(:@tingyun_code, 1000) end TingYun::Agent.notice_error(e) raise e end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tingyun_rpm-1.0.7 | lib/ting_yun/instrumentation/support/external_error.rb |
tingyun_rpm-1.0.6 | lib/ting_yun/instrumentation/support/external_error.rb |