lib/ting_yun/agent/datastore.rb in tingyun_rpm-1.2.0 vs lib/ting_yun/agent/datastore.rb in tingyun_rpm-1.3.0

- old
+ new

@@ -1,30 +1,25 @@ # encoding: utf-8 require 'ting_yun/agent/datastore/metric_helper' -require 'ting_yun/agent/method_tracer' +require 'ting_yun/agent/method_tracer_helpers' module TingYun module Agent module Datastore - - - def self.wrap(product, operation, collection = nil, callback = nil) + def self.wrap(product, operation, collection = nil, ip_address = nil, port = nil, dbname=nil, callback = nil ) return yield unless operation - metrics = TingYun::Agent::Datastore::MetricHelper.metrics_for(product, operation, collection) - - scoped_metric = metrics.last - - TingYun::Agent::MethodTracer.trace_execution_scoped(metrics) do + klass_name, *metrics = TingYun::Agent::Datastore::MetricHelper.metrics_for(product, operation, ip_address , port, dbname,collection ) + TingYun::Agent::MethodTracerHelpers.trace_execution_scoped(metrics, {}, nil, klass_name) do t0 = Time.now begin - result = yield + yield ensure elapsed_time = (Time.now - t0).to_f if callback - callback.call(result, scoped_metric, elapsed_time) + callback.call(elapsed_time) end end end end end