module TraceView::Inst::MopedQuery
Public Class Methods
included(klass)
click to toggle source
# File lib/traceview/inst/moped.rb, line 171 def self.included(klass) TraceView::Inst::Moped::QUERY_OPS.each do |m| ::TraceView::Util.method_alias(klass, m) end end
Public Instance Methods
count_with_traceview()
click to toggle source
# File lib/traceview/inst/moped.rb, line 193 def count_with_traceview return count_without_traceview unless TraceView.tracing? begin report_kvs = extract_trace_details(:count) report_kvs[:Query] = selector.empty? ? :all : selector.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do count_without_traceview end end
distinct_with_traceview(key)
click to toggle source
# File lib/traceview/inst/moped.rb, line 242 def distinct_with_traceview(key) return distinct_without_traceview(key) unless TraceView.tracing? begin report_kvs = extract_trace_details(:distinct) report_kvs[:Query] = selector.empty? ? :all : selector.to_json report_kvs[:Key] = key.to_s rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do distinct_without_traceview(key) end end
explain_with_traceview()
click to toggle source
# File lib/traceview/inst/moped.rb, line 307 def explain_with_traceview return explain_without_traceview unless TraceView.tracing? begin report_kvs = extract_trace_details(:explain) report_kvs[:Query] = selector.empty? ? :all : selector.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs, :explain) do explain_without_traceview end end
extract_trace_details(op)
click to toggle source
# File lib/traceview/inst/moped.rb, line 177 def extract_trace_details(op) report_kvs = {} report_kvs[:Flavor] = TraceView::Inst::Moped::FLAVOR # FIXME: We're only grabbing the first of potentially multiple servers here first = collection.database.session.cluster.seeds.first report_kvs[:RemoteHost] = remote_host(first) report_kvs[:Database] = collection.database.name report_kvs[:Collection] = collection.name report_kvs[:QueryOp] = op.to_s report_kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:moped][:collect_backtraces] rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" ensure return report_kvs end
limit_with_traceview(limit)
click to toggle source
# File lib/traceview/inst/moped.rb, line 224 def limit_with_traceview(limit) if TraceView.tracing? && !TraceView.tracing_layer_op?(:explain) begin report_kvs = extract_trace_details(:limit) report_kvs[:Query] = selector.empty? ? :all : selector.to_json report_kvs[:Limit] = limit.to_s rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do limit_without_traceview(limit) end else limit_without_traceview(limit) end end
modify_with_traceview(change, options = {})
click to toggle source
# File lib/traceview/inst/moped.rb, line 322 def modify_with_traceview(change, options = {}) return modify_without_traceview(change, options) unless TraceView.tracing? begin report_kvs = extract_trace_details(:modify) report_kvs[:Update_Document] = selector.empty? ? :all : selector.to_json report_kvs[:Change] = change.to_json report_kvs[:Options] = options.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do modify_without_traceview(change, options) end end
remove_all_with_traceview()
click to toggle source
# File lib/traceview/inst/moped.rb, line 354 def remove_all_with_traceview return remove_all_without_traceview unless TraceView.tracing? begin report_kvs = extract_trace_details(:remove_all) report_kvs[:Query] = selector.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do remove_all_without_traceview end end
remove_with_traceview()
click to toggle source
# File lib/traceview/inst/moped.rb, line 339 def remove_with_traceview return remove_without_traceview unless TraceView.tracing? begin report_kvs = extract_trace_details(:remove) report_kvs[:Query] = selector.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do remove_without_traceview end end
sort_with_traceview(sort)
click to toggle source
# File lib/traceview/inst/moped.rb, line 208 def sort_with_traceview(sort) return sort_without_traceview(sort) unless TraceView.tracing? begin report_kvs = extract_trace_details(:sort) report_kvs[:Query] = selector.empty? ? :all : selector.to_json report_kvs[:Order] = sort.to_s rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do sort_without_traceview(sort) end end
update_all_with_traceview(change)
click to toggle source
# File lib/traceview/inst/moped.rb, line 276 def update_all_with_traceview(change) return update_all_without_traceview(change) unless TraceView.tracing? begin report_kvs = extract_trace_details(:update_all) report_kvs[:Update_Document] = change.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs, :update_all) do update_all_without_traceview(change) end end
update_with_traceview(change, flags = nil)
click to toggle source
# File lib/traceview/inst/moped.rb, line 258 def update_with_traceview(change, flags = nil) if TraceView.tracing? && !TraceView.tracing_layer_op?([:update_all, :upsert]) begin report_kvs = extract_trace_details(:update) report_kvs[:Flags] = flags.to_s if flags report_kvs[:Update_Document] = change.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs) do update_without_traceview(change, flags) end else update_without_traceview(change, flags) end end
upsert_with_traceview(change)
click to toggle source
# File lib/traceview/inst/moped.rb, line 291 def upsert_with_traceview(change) return upsert_without_traceview(change) unless TraceView.tracing? begin report_kvs = extract_trace_details(:upsert) report_kvs[:Query] = selector.to_json report_kvs[:Update_Document] = change.to_json rescue StandardError => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" end TraceView::API.trace(:mongo, report_kvs, :upsert) do upsert_without_traceview(change) end end