module TraceView::Inst::BunnyExchange

Public Class Methods

included(klass) click to toggle source
# File lib/traceview/inst/bunny-client.rb, line 7
def self.included(klass)
  ::TraceView::Util.method_alias(klass, :delete, ::Bunny::Exchange)
end

Public Instance Methods

delete_with_traceview(opts = {}) click to toggle source
# File lib/traceview/inst/bunny-client.rb, line 11
def delete_with_traceview(opts = {})
  # If we're not tracing, just do a fast return.
  return delete_without_traceview(opts) if !TraceView.tracing?

  begin
    kvs = {}
    kvs[:Spec] = :pushq
    kvs[:Flavor] = :rabbitmq
    kvs[:Op] = :delete
    kvs[:ExchangeType]   = @type
    kvs[:RemoteHost]     = channel.connection.host
    kvs[:RemotePort]     = channel.connection.port.to_i
    kvs[:VirtualHost] = channel.connection.vhost

    if @name.is_a?(String) && !@name.empty?
      kvs[:ExchangeName] = @name
    else
      kvs[:ExchangeName] = :default
    end

    TraceView::API.log_entry(:'rabbitmq-client')

    delete_without_traceview(opts)
  rescue => e
    TraceView::API.log_exception(nil, e)
    raise e
  ensure
    TraceView::API.log_exit(:'rabbitmq-client', kvs)
  end
end