lib/mongo/monitoring/publishable.rb in mongo-2.6.4 vs lib/mongo/monitoring/publishable.rb in mongo-2.7.0.rc0
- old
+ new
@@ -1,6 +1,6 @@
-# Copyright (C) 2015-2018 MongoDB, Inc.
+# Copyright (C) 2015-2019 MongoDB, Inc.
#
# Licensed under the Apache License, Version 2.0 (the 'License');
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
@@ -13,58 +13,26 @@
# limitations under the License.
module Mongo
class Monitoring
- # Defines behaviour for an object that can publish monitoring events.
+ # Defines behavior for an object that can publish monitoring events.
#
# @since 2.1.0
module Publishable
include Loggable
# @return [ Monitoring ] monitoring The monitoring.
attr_reader :monitoring
- # Publish a command event to the global monitoring.
- #
- # @example Publish a command event.
- # publish_command do |messages|
- # # ...
- # end
- #
- # @param [ Array<Message> ] messages The messages.
- #
- # @return [ Object ] The result of the yield.
- #
- # @since 2.1.0
- def publish_command(messages, operation_id = Monitoring.next_operation_id)
- start = Time.now
- message = messages.first
- message.set_request_id
- payload = message.payload
- send_duration = duration(start)
- command_started(address, operation_id, payload)
- receive_start = Time.now
- begin
- result = yield(messages)
- total_duration = duration(receive_start) + send_duration
- command_completed(result, address, operation_id, payload, total_duration)
- result
- rescue Exception => e
- total_duration = duration(receive_start) + send_duration
- command_failed(nil, address, operation_id, payload, e.message, total_duration)
- raise e
- end
- end
-
def publish_event(topic, event)
monitoring.succeeded(topic, event)
end
def publish_sdam_event(topic, event)
return unless monitoring?
- log_debug("EVENT: #{event.inspect}")
+ log_debug("EVENT: #{event.summary}")
monitoring.succeeded(topic, event)
end
private