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