require 'sqreen/ecosystem/tracing/modules/determine_ip' require 'sqreen/ecosystem/tracing/signals/tracing_producer' require 'sqreen/ecosystem/module_api' require 'sqreen/ecosystem/module_api/tracing/producer_data' module Sqreen module Ecosystem module Tracing module Modules class Producer include ModuleApi::Tracing include ModuleApi::TracingIdGeneration include ModuleApi::Loggable consumes ModuleApi::Tracing::ProducerData fixed_scope 'producer' # @param [ModuleApi::Tracing::ProducerData] data def receive(data) signal = Tracing::Signals::TracingProducer.new signal.payload = Tracing::Signals::TracingProducer::Payload.new( message_type: data.message_type, host: data.host || '', ip: data.ip, topic: data.topic, tracing_identifier: data.tracing_identifier || create_tracing_id ) submit_signal signal end end end end end end