2013-09-05 07:22:15 -04:00
|
|
|
module MessageBus::DiagnosticsHelper
|
|
|
|
def publish(channel, data, opts = nil)
|
|
|
|
id = super(channel, data, opts)
|
2017-10-01 23:34:57 -04:00
|
|
|
if @tracking && (@channel.nil? || @channel == channel)
|
2013-09-05 07:22:15 -04:00
|
|
|
m = MessageBus::Message.new(-1, id, channel, data)
|
|
|
|
m.user_ids = opts[:user_ids] if opts
|
|
|
|
m.group_ids = opts[:group_ids] if opts
|
|
|
|
@tracking << m
|
|
|
|
end
|
|
|
|
id
|
|
|
|
end
|
|
|
|
|
2017-10-01 23:34:57 -04:00
|
|
|
def track_publish(channel = nil)
|
|
|
|
@channel = channel
|
2017-07-27 21:20:09 -04:00
|
|
|
@tracking = tracking = []
|
2013-09-05 07:22:15 -04:00
|
|
|
yield
|
|
|
|
tracking
|
2017-08-21 09:29:14 -04:00
|
|
|
ensure
|
|
|
|
@tracking = nil
|
2013-09-05 07:22:15 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
module MessageBus
|
|
|
|
extend MessageBus::DiagnosticsHelper
|
|
|
|
end
|