lib/agent/server/instrument/am_instrumenter.rb in site24x7_apminsight-1.4 vs lib/agent/server/instrument/am_instrumenter.rb in site24x7_apminsight-1.5

- old
+ new

@@ -1,43 +1,55 @@ -require 'agent/am_objectholder' -require 'socket' -module ManageEngine - class APMInstrumenter - @t =nil; - def initialize - @obj=ManageEngine::APMObjectHolder.instance - end +## +## This is Rails framework specific tracking mechanism, they are moved to multiple files for separate tracking +## - def doSubscribe - @obj=ManageEngine::APMObjectHolder.instance - @obj.log.debug "[ instrumenter ] [ Subscriber for Agent ]" - @subscriber = ActiveSupport::Notifications.subscribe do |name, start, finish, id, payload| - if(ManageEngine::APMObjectHolder.instance.config.agent_enabled) - #rt = (finish-start).to_i - ManageEngine::APMWorker.getInstance.start - ManageEngine::APMObjectHolder.instance.log.debug "[ Notifications for Agent ] #{Thread.current} #{id} #{name} - #{payload[:path]}" - #trace= caller; - id = "#{Thread.current}" - stats = Hash.new - stats["name"] = name; - stats["start"] = start.to_f * 1000; - stats["end"] = finish.to_f * 1000; - stats["id"] = id; - stats["payload"] = payload; - if (name=="sql.active_record" && (finish.to_f - start.to_f)>=(ManageEngine::APMObjectHolder.instance.config.sql_trace_t).to_f) - stats["trace"] = caller(20); # Taking stacktrace of depth 20 - end - stats["ctime"] =ManageEngine::APMObjectHolder.instance.util.currenttimemillis; - ManageEngine::APMObjectHolder.instance.collector.updateTransaction(id,stats); - else - ActiveSupport::Notifications.unsubscribe @subscriber - @obj.log.info "[ instrumenter ] [ RETURNING NO METRICS] " - end - end - end - - def doUnSubscribe - ActiveSupport::Notifications.unsubscribe @subscriber - end - -end #class -end#module +#require 'agent/am_objectholder' +#require 'socket' +#module ManageEngine +# class APMInstrumenter +# @t =nil; +# def initialize +# @obj=ManageEngine::APMObjectHolder.instance +# end +# +# def doSubscribe +# @obj=ManageEngine::APMObjectHolder.instance +# @obj.log.debug "[ instrumenter ] [ Subscriber for Agent ]" +# @subscriber = ActiveSupport::Notifications.subscribe do |name, start, finish, id, payload| +# if(ManageEngine::APMObjectHolder.instance.config.agent_enabled) +# #rt = (finish-start).to_i +# ManageEngine::APMWorker.getInstance.start +# ManageEngine::APMObjectHolder.instance.log.debug "[ Notifications for Agent ] #{Thread.current} #{id} #{name} - #{payload[:path]}" +# #trace= caller; +# #puts ">>> Threadlocal var : #{Thread.current[:apminsight]}" +# if name=="sql.active_record" +# #Thread.current[:apminsight] = "#{Thread.current[:apminsight]} + #{payload[:sql]}" +# if payload[:name] != "SCHEMA" +# @obj.log.debug ">>>>>>>> SQL: #{payload[:sql]}" +# end +# @obj.log.debug "~~~~~ SQL Payload: #{payload}" +# end +# id = "#{Thread.current}" +# stats = Hash.new +# stats["name"] = name; +# stats["start"] = start.to_f * 1000; +# stats["end"] = finish.to_f * 1000; +# stats["id"] = id; +# stats["payload"] = payload; +# if (name=="sql.active_record" && (finish.to_f - start.to_f)>=(ManageEngine::APMObjectHolder.instance.config.sql_trace_t).to_f) +# stats["trace"] = caller(20); # Taking stacktrace of depth 20 +# end +# stats["ctime"] =ManageEngine::APMObjectHolder.instance.util.currenttimemillis; +# ManageEngine::APMObjectHolder.instance.collector.updateTransaction(id,stats); +# else +# ActiveSupport::Notifications.unsubscribe @subscriber +# @obj.log.info "[ instrumenter ] [ RETURNING NO METRICS] " +# end +# end +# end +# +# def doUnSubscribe +# ActiveSupport::Notifications.unsubscribe @subscriber +# end +# +#end #class +#end#module