class OpenTracing::Instrumentation::Faraday::ResponseLogger
ResponseLogger
add request and response log_kv to faraday_request span
Constants
- DEFAULT_REQUEST_LOG_HEADERS
- DEFAULT_REQUEST_TAG_HEADERS
- DEFAULT_RESPONSE_LOG_HEADERS
- DEFAULT_RESPONSE_TAG_HEADERS
Attributes
request_log_headers[R]
request_tag_headers[R]
response_log_headers[R]
response_tag_headers[R]
Public Class Methods
new( request_log_headers: DEFAULT_REQUEST_LOG_HEADERS, request_tag_headers: DEFAULT_REQUEST_TAG_HEADERS, response_tag_headers: DEFAULT_RESPONSE_TAG_HEADERS, response_log_headers: DEFAULT_RESPONSE_LOG_HEADERS )
click to toggle source
# File lib/opentracing/instrumentation/faraday/response_logger.rb, line 28 def initialize( request_log_headers: DEFAULT_REQUEST_LOG_HEADERS, request_tag_headers: DEFAULT_REQUEST_TAG_HEADERS, response_tag_headers: DEFAULT_RESPONSE_TAG_HEADERS, response_log_headers: DEFAULT_RESPONSE_LOG_HEADERS ) @request_tag_headers = request_tag_headers @request_log_headers = request_log_headers @response_tag_headers = response_tag_headers @response_log_headers = response_log_headers end
Public Instance Methods
log_request(span, request_headers)
click to toggle source
# File lib/opentracing/instrumentation/faraday/response_logger.rb, line 40 def log_request(span, request_headers) log_headers(span, request_headers, request_log_headers, 'request') tag_headers(span, request_headers, request_tag_headers, 'request') end
log_response(span, response_headers)
click to toggle source
# File lib/opentracing/instrumentation/faraday/response_logger.rb, line 45 def log_response(span, response_headers) log_headers(span, response_headers, response_log_headers, 'response') tag_headers(span, response_headers, response_tag_headers, 'response') end
Private Instance Methods
log_headers(span, headers, log_headers, event)
click to toggle source
# File lib/opentracing/instrumentation/faraday/response_logger.rb, line 61 def log_headers(span, headers, log_headers, event) header_hash = log_headers .map { |key| [key, headers[key]] } .reject { |(_key, value)| value.nil? } .to_h span.log_kv( event: event, headers: JSON.dump(header_hash), ) end
tag_headers(span, headers, tag_headers, event)
click to toggle source
# File lib/opentracing/instrumentation/faraday/response_logger.rb, line 52 def tag_headers(span, headers, tag_headers, event) tag_headers.each do |key, header_name| header_value = headers[header_name] next unless header_value span.set_tag("http.#{event}.#{key}", header_value) end end