Sha256: 8271585caeac0732dd02150e75707ccea956fcb5c02267b56e27e3258d6b5759

Contents?: true

Size: 1.8 KB

Versions: 4

Compression:

Stored size: 1.8 KB

Contents

module ScoutApm
  class AppServerLoad
    attr_reader :logger

    def initialize(logger=Agent.instance.logger)
      @logger = logger
    end

    def run
      @thread = Thread.new do
        begin
          logger.info "Sending Application Startup Info - App Server: #{data[:app_server]}, Framework: #{data[:framework]}, Framework Version: #{data[:framework_version]}, Database Engine: #{data[:database_engine]}"
          logger.debug("Full Application Startup Info: #{data.inspect}")

          payload = ScoutApm::Serializers::AppServerLoadSerializer.serialize(data)
          reporter = Reporter.new(:app_server_load)
          reporter.report(payload)

          logger.debug("Finished sending Startup Info")
        rescue => e
          logger.info("Failed Sending Application Startup Info - #{e.message}")
          logger.debug(e.backtrace.join("\t\n"))
        end
      end
    rescue => e
      logger.debug("Failed Startup Info - #{e.message} \n\t#{e.backtrace.join("\t\n")}")
    end

    def data
      { :server_time        => Time.now,
        :framework          => ScoutApm::Environment.instance.framework_integration.human_name,
        :framework_version  => ScoutApm::Environment.instance.framework_integration.version,
        :environment        => ScoutApm::Environment.instance.framework_integration.env,
        :app_server         => ScoutApm::Environment.instance.app_server,
        :ruby_version       => RUBY_VERSION,
        :hostname           => ScoutApm::Environment.instance.hostname,
        :database_engine    => ScoutApm::Environment.instance.database_engine,
        :application_name   => ScoutApm::Environment.instance.application_name,
        :libraries          => ScoutApm::Utils::InstalledGems.new.run,
        :paas               => ScoutApm::Environment.instance.paas
      }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
scout_apm-0.9.7 lib/scout_apm/app_server_load.rb
scout_apm-0.9.7.pre3 lib/scout_apm/app_server_load.rb
scout_apm-0.9.7.pre2 lib/scout_apm/app_server_load.rb
scout_apm-0.9.7.pre1 lib/scout_apm/app_server_load.rb