lib/sqreen/ecosystem/http/rack_request.rb in sqreen-1.21.0.beta1 vs lib/sqreen/ecosystem/http/rack_request.rb in sqreen-1.21.0.beta2

- old
+ new

@@ -1,37 +1,38 @@ require 'sqreen/ecosystem/module_api' require 'sqreen/ecosystem/module_api/event_listener' -require 'sqreen/ecosystem/module_api/signal_producer' -require 'sqreen/ecosystem/module_api/tracing_push_down' -require 'sqreen/ecosystem/tracing/signals/tracing_server' +require 'sqreen/ecosystem/module_api/message_producer' +require 'sqreen/ecosystem/module_api/tracing/server_data' module Sqreen module Ecosystem module Http class RackRequest + class HttpServerData + include ModuleApi::Tracing::ServerData + end + include ModuleApi::EventListener - include ModuleApi::TracingPushDown - include ModuleApi::SignalProducer + include ModuleApi::MessageProducer def setup - on_request_start(&method(:handle_request)) + advice = wrap_for_interest( + ModuleApi::Tracing::ServerData, + &method(:handle_request) + ) + on_request_start(&advice) end private def handle_request(rack_request) - return unless should_sample?('server') - trace_id = rack_request.env[ModuleApi::TRACE_ID_ENV_KEY] - signal = Tracing::Signals::TracingServer.new - signal.payload = Tracing::Signals::TracingServer::Payload.new( + HttpServerData.new( transport: 'http', client_ip: rack_request.ip, tracing_identifier: trace_id ) - - submit_signal signal end end end end end