Sha256: 58b830e983a6a283f65466b88741a3b3d411acd98828afcd550b46276a513b20

Contents?: true

Size: 1.24 KB

Versions: 3

Compression:

Stored size: 1.24 KB

Contents

require 'agent/server/instrument/rails'
require 'agent/server/instrument/sinatra'
require 'agent/server/instrument/active_record'
require 'agent/server/instrument/action_view'
require 'agent/server/instrument/sidekiq_server'
require 'agent/server/instrument/puma'

module ManageEngine
  class Environment
    
    SUPPORTED_FRAMEWORKS = [
        ManageEngine::Instrumentation::RailsFramework.new,
        ManageEngine::Instrumentation::SinatraFramework.new
    ]
    
    DATABASE_INTERCEPTORS = [
        ManageEngine::Instrumentation::ActiveRecordSQL.new
    ]
    
    OTHER_INTERCEPTORS = [
        ManageEngine::Instrumentation::ActionView.new,
        ManageEngine::Instrumentation::SidekiqServer.new,
        ManageEngine::Instrumentation::PumaWorker.new
    ]
    
    def detect_and_instrument
      @framework ||= SUPPORTED_FRAMEWORKS.detect{ |framework| framework.present? }
      if (@framework != nil)
        @framework.instrument
      end
      
      DATABASE_INTERCEPTORS.each do |interceptor|
        if (interceptor.present?)
          interceptor.instrument
        end
      end
      
      OTHER_INTERCEPTORS.each do |interceptor|
        if (interceptor.present?)
          interceptor.instrument
        end
      end
    end
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
site24x7_apminsight-1.9.3 lib/agent/server/instrument/environment.rb
site24x7_apminsight-1.9.2 lib/agent/server/instrument/environment.rb
site24x7_apminsight-1.9.1 lib/agent/server/instrument/environment.rb