2019-04-30 08:27:42 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-09-05 19:22:15 +08:00
|
|
|
module MessageBus::DiagnosticsHelper
|
|
|
|
def publish(channel, data, opts = nil)
|
|
|
|
id = super(channel, data, opts)
|
2017-10-02 11:34:57 +08:00
|
|
|
if @tracking && (@channel.nil? || @channel == channel)
|
2013-09-05 19:22:15 +08: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-02 11:34:57 +08:00
|
|
|
def track_publish(channel = nil)
|
|
|
|
@channel = channel
|
2017-07-28 09:20:09 +08:00
|
|
|
@tracking = tracking = []
|
2013-09-05 19:22:15 +08:00
|
|
|
yield
|
|
|
|
tracking
|
2017-08-21 21:29:14 +08:00
|
|
|
ensure
|
|
|
|
@tracking = nil
|
2013-09-05 19:22:15 +08:00
|
|
|
end
|
2019-01-04 01:03:01 +08:00
|
|
|
|
2013-09-05 19:22:15 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
module MessageBus
|
|
|
|
extend MessageBus::DiagnosticsHelper
|
|
|
|
end
|