class RubyEventStore::InstrumentedBroker
Attributes
Public Class Methods
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 5 def initialize(broker, instrumentation) @broker = broker @instrumentation = instrumentation end
Public Instance Methods
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 31 def add_global_subscription(subscriber) instrumentation.instrument("add_global_subscription.broker.rails_event_store", subscriber: subscriber) do broker.add_global_subscription(subscriber) end end
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 25 def add_subscription(subscriber, topics) instrumentation.instrument("add_subscription.broker.rails_event_store", subscriber: subscriber, topics: topics) do broker.add_subscription(subscriber, topics) end end
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 45 def add_thread_global_subscription(subscriber) instrumentation.instrument("add_thread_global_subscription.broker.rails_event_store", subscriber: subscriber) do broker.add_thread_global_subscription(subscriber) end end
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 37 def add_thread_subscription(subscriber, topics) instrumentation.instrument( "add_thread_subscription.broker.rails_event_store", subscriber: subscriber, topics: topics, ) { broker.add_thread_subscription(subscriber, topics) } end
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 51 def all_subscriptions_for(topic) instrumentation.instrument("all_subscriptions_for.broker.rails_event_store", topic: topic) do broker.all_subscriptions_for(topic) end end
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 10 def call(topic, event, record) instrumentation.instrument("call.broker.rails_event_store", topic: topic, event: event, record: record) do if broker.public_method(:call).arity == 3 broker.call(topic, event, record) else warn <<~EOW Message broker shall support topics. Topic WILL BE IGNORED in the current broker. Modify the broker implementation to pass topic as an argument to broker.call method. EOW broker.call(event, record) end end end
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 57 def method_missing(method_name, *arguments, **keyword_arguments, &block) if respond_to?(method_name) broker.public_send(method_name, *arguments, **keyword_arguments, &block) else super end end
Calls superclass method
Source
# File lib/ruby_event_store/instrumented_broker.rb, line 65 def respond_to_missing?(method_name, _include_private) broker.respond_to?(method_name) end