31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/traceview/inst/em-http-request.rb', line 31
def (*args, &block)
report_kvs = {}
xtrace = nil
blacklisted = TraceView::API.blacklisted?(@uri)
begin
report_kvs[:HTTPStatus] = args[2]
report_kvs[:Async] = 1
rescue => e
TraceView.logger.debug "[traceview/debug] em-http-request KV error: #{e.inspect}"
end
(*args, &block)
unless blacklisted
= args[0]
context = TraceView::Context.toString
task_id = TraceView::XTrace.task_id(context)
if .is_a?(Hash) && .key?('X-Trace')
xtrace = ['X-Trace']
end
if TraceView::XTrace.valid?(xtrace) && TraceView.tracing?
if task_id == TraceView::XTrace.task_id(xtrace)
TraceView::Context.fromString(xtrace)
else
TraceView.logger.debug "Mismatched returned X-Trace ID : #{xtrace}"
end
end
end
::TraceView::API.log_exit('em-http-request', report_kvs)
end
|