lib/instana/instrumentation/rack.rb in instana-1.7.15 vs lib/instana/instrumentation/rack.rb in instana-1.8.0
- old
+ new
@@ -17,9 +17,19 @@
kvs[:http][:host] = env['HTTP_HOST']
elsif env.key?('SERVER_NAME')
kvs[:http][:host] = env['SERVER_NAME']
end
+ if ::Instana.agent.extra_headers
+ for custom_header in agent.extra_headers
+ # Headers are available in this format: HTTP_X_CAPTURE_THIS
+ rack_header = ('HTTP_' + custom_header.upcase).gsub('-', '_')
+ if env.key?(rack_header)
+ kvs["http.#{custom_header}"] = env[rack_header]
+ end
+ end
+ end
+
# Check incoming context
incoming_context = {}
if env.key?('HTTP_X_INSTANA_T')
incoming_context[:trace_id] = ::Instana::Util.header_to_id(env['HTTP_X_INSTANA_T'])
incoming_context[:span_id] = ::Instana::Util.header_to_id(env['HTTP_X_INSTANA_S']) if env.key?('HTTP_X_INSTANA_S')